java怎样实现点击一个带图片按钮的,然后把按钮的图片显示在指定label上?没财富值了,谢谢
java怎样实现点击一个带图片按钮的,然后把按钮的图片显示在指定label上?没财富值了,谢谢如图所示,怎样实现点击下面的头像后,把点击的图片显示在头像右边的label上...
java怎样实现点击一个带图片按钮的,然后把按钮的图片显示在指定label上?没财富值了,谢谢如图所示,怎样实现点击下面的头像后,把点击的图片显示在头像右边的label上?
展开
2个回答
展开全部
显示效果图
eclipse里的目录如下
完整的代码和详细的注释
import java.awt.BorderLayout;
import java.awt.event.*;
import javax.swing.*;
//该窗口继承与JFrame 实现了ActionListener接口
public class MyFrame extends JFrame implements ActionListener {
JButton jbShow, jbHide;//定义按钮
JTextField jtf;//定义文本框
JLabel jl;
public MyFrame() {
JPanel jpn = new JPanel();
jpn.add(new JLabel("头像"));
jl= new JLabel(getImgIcon("0"));//指定默认的头像为第0个
jpn.add(jl);
add(jpn,BorderLayout.NORTH);
JPanel jpc = new JPanel();
for (int i = 0; i <6; i++) { //准备的图片就6张
JButton jb = new JButton();
jb.setIcon(getImgIcon(i+""));
jb.addActionListener(this);
jb.setActionCommand(""+i);
jpc.add(jb);
}
add(jpc,BorderLayout.CENTER);
setTitle("程序");// 窗口标题
setSize(900, 320);// 窗口大小 宽900 高320
setLocationRelativeTo(null);// 窗口居中
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);// 当窗口关闭时,程序结束
}
public static void main(String[] args) {
new MyFrame().setVisible(true);
}
@Override
public void actionPerformed(ActionEvent e) {
//方法一:根据按钮顺序,获取图片,然后显示 ,也适合选择的图片是缩略图,显示的时候大图的情况,大图小图可以按照同一顺序排列...
// String cmd = e.getActionCommand();
// jl.setIcon(getImgIcon(cmd));
//方法二: 获取按钮上的图片,然后显示 .适合按钮图片和显示头像,都是同样大小的情况
JButton jb = (JButton) e.getSource();
jl.setIcon(jb.getIcon());
}
public ImageIcon getImgIcon(String index) {//根据图片顺序,获取图标
return new ImageIcon(this.getClass().getResource("/img/"+index+".jpg"));
}
}
展开全部
label.setIcon(button.getIcon())
追问
怎样知道点击的是哪个button啊
追答
那么多按钮,我猜不是一个一个建的吧,然后你可以另写一个方法把那些按钮进去做参数啊,
在这个方法里写事件。写一个小例子,你看下。
import java.awt.BorderLayout;
import java.awt.Image;
import java.awt.event.*;
import javax.swing.*;
public class 图片 extends JFrame{
public static void main(String[] args) {
new 图片().setVisible(true);
}
JLabel jl=null;
public 图片() {
setSize(400,400);
setLocationRelativeTo(null);
setDefaultCloseOperation(3);
ImageIcon icon=new ImageIcon(图片.class.getResource("1.png"));
ImageIcon icon2=new ImageIcon(图片.class.getResource("2.png"));
JButton jb1=new JButton("1");
JButton jb2=new JButton("2");
add(jb1,BorderLayout.NORTH);
add(jb2,BorderLayout.SOUTH);
jb1.setIcon(icon);
jb2.setIcon(icon2);
chooseImage(jb1);
chooseImage(jb2);
jl=new JLabel();
add(jl);
}
public void chooseImage(JButton button) {
button.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
jl.setIcon(button.getIcon());
}
});
}
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询