簡體   English   中英

具有png背景的Java面板

[英]java panel with png background

我發現這個鏈接.. LINK我想是有,有一個背景,並與第一JPanel的一半大小,但與透明,並用臉或者在中間的球的圖像的另一個JPanel的一個JPanel .. :)就像鏈接中的屏幕截圖一樣。是否可以用Java編寫代碼? :)我只是認為它像Web編程一樣。 只是一種DIV有,但是我在Java中不知道.. :)對不起,英語不好..:D我有這個作為背景..

package waterKing;

 import javax.swing.*;
 import java.awt.*;
 import java.awt.event.*;

 @SuppressWarnings("serial")

 public class Main extends JFrame {
MainData data = new MainData();

public static void main(String[] args) {
    Main frmMain = new Main();
    frmMain.setExtendedState(Frame.MAXIMIZED_BOTH);
    frmMain.setVisible(true);

}

public Main() {
    data.tk = getToolkit();
    data.d = data.tk.getScreenSize();

    data.jP = new JPanel() {            
        protected void paintComponent(Graphics g) {
            data.e = getSize();
            data.iI = new ImageIcon("images/mainBG.png").getImage();
            g.drawImage(data.iI,0, 0, data.d.width, data.d.height, null);
            super.paintComponent(g);    
        }                   
    };

    data.jP.setOpaque(false);
    data.jSp = new JScrollPane(data.jP);
    data.jB = new JButton("EXIT");
    data.jB.setBounds(10,10,200,40);
    data.jB.addActionListener(new ActionListener() {
        public void actionPerformed(ActionEvent e) {
            System.exit(0);
        }
    });
    data.jP.setLayout(null);
    data.jP.add(data.jB);       

    this.setTitle("Water King Inventory System");
    this.setUndecorated(true);
    this.getContentPane();
    this.add(data.jSp);
    this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    this.setLocationRelativeTo(null);

}

 }

我不知道如何添加另一個JPanel在此背景下顯示在中間 替代文字

我不知道如何添加另一個JPanel在此背景下顯示在中間

就像將組件添加到面板中一樣。 您需要使用布局管理器,然后根據布局管理器的規則正確放置組件。 您可以將背景面板的布局管理器設置為BorderLayout。 然后,您可以將帶有適當圖標的JLabel添加到BorderLayout的中心。

您需要設置首選大小(或覆蓋面板的getPreferredSize()方法,因為您將其添加到滾動窗格中。滾動條僅在首選大小大於滾動窗格的大小時顯示。

您不應在paintComponent()方法中讀取圖像,因為該方法已被多次調用。

您不應該使用“屏幕尺寸”來確定圖像的寬度/高度,因為框架將包含邊框。 您需要使用面板的尺寸。

擺脫所有setBounds()代碼。 學習使用布局管理器。

對於考慮了此處大部分建議的通用背景面板,請查看“ 背景面板”

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM