Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/393.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何在带有面板的容器中显示图像?_Java_Swing - Fatal编程技术网

Java 如何在带有面板的容器中显示图像?

Java 如何在带有面板的容器中显示图像?,java,swing,Java,Swing,大家好 下面是我的代码,显示4个面板 一个在北,一个在西,一个在南 我想在集装箱东侧显示am图像 怎么可能呢 public class ImageProcessor extends JApplet { JPanel panel1,panel2,panel3,panel4,panel5; JTextField nameTxt,addTxt,phoneTxt,emailTxt; JButton capture,download,cancle,sendEmail; JLabel head,nam

大家好

下面是我的代码,显示4个面板

一个在北,一个在西,一个在南

我想在集装箱东侧显示am图像

怎么可能呢

public class ImageProcessor extends JApplet {



JPanel panel1,panel2,panel3,panel4,panel5;
JTextField nameTxt,addTxt,phoneTxt,emailTxt;
JButton capture,download,cancle,sendEmail;
JLabel head,name,add,phone,email;


//function to align components using gridBagLayOut..
    private GridBagConstraints getConstraints(int gridx, int gridy,int gridwidth, int gridheight, int anchor)
    {
        GridBagConstraints c =new GridBagConstraints();
        c.insets = new Insets(10,10,10,10);
        c.ipadx = 0;
        c.ipady = 0;
        c.gridx = gridx;
        c.gridy = gridy;
        c.gridwidth = gridwidth;
        c.gridheight = gridheight;
        c.anchor = anchor;
        return c;
    }
//ends here...



public void init() {


    panel1 = new JPanel();
    panel2 = new JPanel();
    panel3 = new JPanel();
    panel4 = new JPanel();
    panel5 = new JPanel();

    nameTxt = new JTextField(20);
    addTxt = new JTextField(20);
    phoneTxt = new JTextField(20);
    emailTxt = new JTextField(20);

    capture = new JButton("capture");
    download = new JButton("download");
    sendEmail = new JButton("sendEmail");

    head = new JLabel("BUSINESS CARD READER");
    name = new JLabel("NAME:");
    add = new JLabel("ADDRESS:");
    phone = new JLabel("PHONE:");
    email = new JLabel("EMAIL:");

    Container myPane = getContentPane();
    myPane.setLayout(new BorderLayout());

    panel1.setLayout(new BorderLayout());



    panel2.setLayout(new GridBagLayout());
    panel2.add(head,getConstraints(0,0,1,1,GridBagConstraints.CENTER));

    panel3.setLayout(new FlowLayout());
    panel3.add(capture);
    panel3.add(download);
    panel3.add(sendEmail);

    panel4.setLayout(new GridBagLayout());

    panel4.add(name,getConstraints(0,0,1,1,GridBagConstraints.CENTER));
    panel4.add(nameTxt,getConstraints(1,0,1,1,GridBagConstraints.CENTER));

    panel4.add(add,getConstraints(0,1,1,1,GridBagConstraints.CENTER));
    panel4.add(addTxt,getConstraints(1,1,1,1,GridBagConstraints.CENTER));

    panel4.add(phone,getConstraints(0,2,1,1,GridBagConstraints.CENTER));
    panel4.add(phoneTxt,getConstraints(1,2,1,1,GridBagConstraints.CENTER));

    panel4.add(email,getConstraints(0,3,1,1,GridBagConstraints.CENTER));
    panel4.add(emailTxt,getConstraints(1,3,1,1,GridBagConstraints.CENTER));


    panel1.add(panel2,BorderLayout.NORTH);
    panel1.add(panel3,BorderLayout.SOUTH);
    panel1.add(panel4,BorderLayout.WEST);
    panel1.add(panel5,BorderLayout.EAST);
    setSize(500,500);
    myPane.add(panel1,BorderLayout.CENTER);


}
public void start(){
    this.setSize(800,500);

}

}

创建一个不带文本的
JLabel
)并使用设置要显示的图像


是一个示例。

JButton
JLabel
上的图片添加到
面板5

JButton buttonForPicture = new JButton();
buttonForPicture.setBorder(new EmptyBorder(0, 0, 0, 0));
buttonForPicture.setOpaque(false);
buttonForPicture.setIcon(new ImageIcon(imageFilePath));
panel5.add(buttonForPicture);
... 或者使用JLabel(图标图像)构造函数