java里按钮控制标签的文字 按钮事件和标签不在同一个类 怎么实现?
我想做成一点按钮,标签的字就改变,可是我的按钮事件在自定义类DIYEvent里,我的标签JLabeljl1在类DIYPanelextendsJPanel里,请问怎么写!我...
我想做成一点按钮,标签的字就改变,可是我的按钮事件在自定义类DIYEvent里,我的标签JLabel jl1 在类 DIYPanel extends JPanel 里,请问怎么写!我现在是事件写了System.out.print可以看到jl1.getText()值改了,可是界面上看着没有效果……
展开
4个回答
展开全部
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.*;
public class Test extends JFrame
{
JLabel label;
//构造方法
public Test()
{
this.setSize(400, 400);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setLayout(null);
label=new JLabel("等待改变.....");
label.setBounds(0, 0, 200, 30);
JButton button=new JButton("点我");
button.setBounds(200, 200, 120, 30);
button.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e)
{
label.setText("改变了,哈哈哈哈");
}
});
this.add(label);
this.add(button);
this.setVisible(true);
}
public static void main(String[] args)
{
new Test();
}
}
import java.awt.event.ActionListener;
import javax.swing.*;
public class Test extends JFrame
{
JLabel label;
//构造方法
public Test()
{
this.setSize(400, 400);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setLayout(null);
label=new JLabel("等待改变.....");
label.setBounds(0, 0, 200, 30);
JButton button=new JButton("点我");
button.setBounds(200, 200, 120, 30);
button.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e)
{
label.setText("改变了,哈哈哈哈");
}
});
this.add(label);
this.add(button);
this.setVisible(true);
}
public static void main(String[] args)
{
new Test();
}
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
public class Test extends JFrame {
private JLabel label = new JLabel("Freedom");
public Test(){
JButton b = new JButton(new ActionListener(){
public void actionPerformed(ActionEvent e){
label.setText("Destiny");
}
}
setLayout(new FlowLayout());
add(label);
add(b);
pack();
setDefalutCloseOperation(JFrame.EXIT_ON_CLOSE);
setVisible(true);
}
public static void main(String[] args){
new Test();
}
}
private JLabel label = new JLabel("Freedom");
public Test(){
JButton b = new JButton(new ActionListener(){
public void actionPerformed(ActionEvent e){
label.setText("Destiny");
}
}
setLayout(new FlowLayout());
add(label);
add(b);
pack();
setDefalutCloseOperation(JFrame.EXIT_ON_CLOSE);
setVisible(true);
}
public static void main(String[] args){
new Test();
}
}
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
最常用的方法是持有对方引用。
这样就能响应动作了。
这样就能响应动作了。
来自:求助得到的回答
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
把代码帖出来,我给你改。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询