java中想要点击一个button然后jlabel上就显示出图片,button事件监听该怎么写。
jLabel4.setIcon(new ImageIcon("未命名45.jpg"));
jPanel1.add(jLabel4);
}
这样写图片不显示 展开
给个例子你参考一下:给按钮bntOk添加监听事件
bntOk.addMouseListener(new MouseAdapter()
{
public void mouseClicked(MouseEvent e1) {
label2= new JLabel();
frame.add(label2);
label2.setBounds(50, 50, 400, 200);
label2.setIcon(new ImageIcon("d:\\love.JPG")); //可以换成任意你想要的图片
}
});
点击按钮前,是这样的
点击显示按钮后,是这样的
完整的程序如下:
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import javax.swing.*;
import java.awt.*;
public class wuziqi extends JFrame{
private JPanel frame;
private JButton bntOk;
private JLabel label2;
private ImageIcon asdIcon = new ImageIcon("d:\\love.JPG"); //换成你要显示的图片
public static void main(String[] args){
wuziqi mb=new wuziqi();
}
public wuziqi(){ //构造函数,搭建显示界面
frame= new JPanel();
getContentPane().add(frame, BorderLayout.CENTER);
frame.setLayout(null);
frame.setBounds(100, 100, 576, 440);
this.setSize(500, 500);
this.setResizable(false);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setTitle("点击按钮,显示图片");
this.setVisible(true);
bntOk = new JButton();
frame.add(bntOk);
bntOk.setText("显示");
bntOk.setLocation(10, 10);
bntOk.setBounds(150, 300, 66, 30);
bntOk.addMouseListener(new MouseAdapter() //给按钮加上监听事件
{
public void mouseClicked(MouseEvent e1) {
label2= new JLabel();
frame.add(label2);
label2.setBounds(50, 50, 400, 200);
label2.setIcon(asdIcon); //label内容为图片
}
});
}
}