java中如何让一个函数中的按钮动作改变另一个函数中的按钮内容
比如publicvoidgo(){JButtonb1=newJButton("Button1");}publicvoidgo(){JButtonb2=newJButton...
比如 public void go(){
JButton b1 = new JButton("Button1");
}
public void go(){
JButton b2 = new JButton();
b2.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
改变b1的内容
}
})
求解决办法 展开
JButton b1 = new JButton("Button1");
}
public void go(){
JButton b2 = new JButton();
b2.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
改变b1的内容
}
})
求解决办法 展开
5个回答
展开全部
import java.awt.FlowLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;
public class MyButton extends JFrame implements ActionListener {
private JButton jb1;
private JButton jb2;
public MyButton() {
this.setSize(400, 200);
jb1 = new JButton("我是JB1");
jb2 = new JButton("我是JB2");
jb1.addActionListener(this);
jb2.addActionListener(this);
this.getContentPane().setLayout(new FlowLayout());
this.getContentPane().add(jb1);
this.getContentPane().add(jb2);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setVisible(true);
}
@Override
public void actionPerformed(ActionEvent e) {
if (e.getSource() == jb1) {
jb2.setText("我是JB2,被JB1改变了");
} else if (e.getSource() == jb2) {
jb1.setText("我是JB1,被JB2改变了");
}
}
public static void main(String[] args) {
new MyButton();
}
}
//给你写了简单的例子,你可以参考参考
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;
public class MyButton extends JFrame implements ActionListener {
private JButton jb1;
private JButton jb2;
public MyButton() {
this.setSize(400, 200);
jb1 = new JButton("我是JB1");
jb2 = new JButton("我是JB2");
jb1.addActionListener(this);
jb2.addActionListener(this);
this.getContentPane().setLayout(new FlowLayout());
this.getContentPane().add(jb1);
this.getContentPane().add(jb2);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setVisible(true);
}
@Override
public void actionPerformed(ActionEvent e) {
if (e.getSource() == jb1) {
jb2.setText("我是JB2,被JB1改变了");
} else if (e.getSource() == jb2) {
jb1.setText("我是JB1,被JB2改变了");
}
}
public static void main(String[] args) {
new MyButton();
}
}
//给你写了简单的例子,你可以参考参考
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
把 JButton b1的对象提到全局变量,然后直接修改对象就行了
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你是在说 动作事件吗? ActionListener?
传进来的参数e 有 e.getSource(), 是获得按钮的名称的, getCommand() 是获取按钮文本的, 好像是这样, 不知道有没有答非所问,希望有所帮助
传进来的参数e 有 e.getSource(), 是获得按钮的名称的, getCommand() 是获取按钮文本的, 好像是这样, 不知道有没有答非所问,希望有所帮助
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
b1还必须是全局的
JButton b1;
public void go(){
b1 = new JButton("Button1");
}
public void go(){
JButton b2 = new JButton();
b2.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
b1.setText(“新内容”); }
})
JButton b1;
public void go(){
b1 = new JButton("Button1");
}
public void go(){
JButton b2 = new JButton();
b2.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
b1.setText(“新内容”); }
})
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
最好你把b1和b2都定义为类的属性。
private JButton b1;
private JButton b2;
public void go(){
b1 = new JButton();
b2 = new JButton();
....
private JButton b1;
private JButton b2;
public void go(){
b1 = new JButton();
b2 = new JButton();
....
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询