java jbutton问题

我在jbutton[row][col]用button.setIcon(image)使图片覆盖了按钮,按钮的监听函数为ButtonClick(),这函数要怎么写才能在我点击... 我在jbutton[ row][col ]用button.setIcon(image)使图片覆盖了按钮,按钮的监听函数为ButtonClick(),这函数要怎么写才能在我点击两个jbutton时他们的图片相互交换,图片大小一样 展开
 我来答
萨赐0IF
2011-05-07 · TA获得超过193个赞
知道答主
回答量:22
采纳率:0%
帮助的人:30.1万
展开全部
你好,我最近也在学java,你可以尝试在事件处理函数中将按钮的图片get出来,再交换set。没有实验过,应该可以,你试下。
祝你好运!
追问
怎么知道上一次按的按钮是什么啊?用什么来记录
追答
这是事件处理。
你说“按钮的监听函数为ButtonClick()”,我常用的是ButtonName.addActionListener(this);
这需要实现ActionListener接口,并写出事件出理函数。看看下面的例子:
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;

public class a implements ActionListener{
JFrame f;
JButton b1,b2;
a(){
b1=new JButton("OK");
b2=new JButton("Cancel");
f=new JFrame("test");
f.setLayout(null);
f.add(b1);
f.add(b2);
f.setBounds(200, 200, 300, 100);
b1.setBounds(20, 20, 100, 30);
b2.setBounds(140, 20, 100, 30);
b1.addActionListener(this);
b2.addActionListener(this);
f.setDefaultCloseOperation(f.EXIT_ON_CLOSE);
}
public void actionPerformed(ActionEvent e) {
Object obj=e.getSource();
if(obj==b1) f.setTitle("OK-b1");
else f.setTitle("Cancel-b2");
}
public static void main(String s[]){
a aframe=new a();
aframe.f.setVisible(true);
}
}
实际上常用的方法是继承JFrame,这例子免得啰嗦就没那样做了。如果有不明白的地方就查查或继续问我。
祝你好运!
hillyct
2011-05-12 · 超过30用户采纳过TA的回答
知道答主
回答量:76
采纳率:0%
帮助的人:86.8万
展开全部
你另外声明一个全局的JButton btnLast = null;
每次点击后如果btnLast为null,就设置btnLast为当前点击的按钮。
如果btnLast不为null,那就是上次点击的按钮了,新按钮为当前按钮,就可以交换2个按钮的图片了。交换完,再看你的需求是否要把btnLast设为null或设为新按钮。
祝你好运!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式