2 czcnd czcnd 于 2016.04.27 16:33 提问

java点击一个按钮怎么改变另一个窗口标签内容

这是类A的按钮
JButton pingguo = new JButton("苹果");
pingguo.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {

            new FrameP();

                        }
    });
    pingguo.setForeground(new Color(255, 99, 71));
    pingguo.setFont(new Font("宋体", Font.PLAIN, 14));
    pingguo.setBounds(22, 5, 93, 50);
    panel_2.add(pingguo);
    这是类b中标签

    JLabel pingguo = new JLabel();
    pingguo.setHorizontalAlignment(SwingConstants.CENTER);
    pingguo.setBounds(10, 10, 54, 15);
    frameP.getContentPane().add(pingguo);

我想通过点击类A的按钮,然后设置类B标签的显示内容

4个回答

w172087242
w172087242   Ds   Rxr 2016.04.27 17:27

两种解决方案:
1.中央控制器,在control中持有类A和类B中需要操作组件的引用或直接就是类A和类B的引用

2.交互引用,在类A中持有类B的引用,在类B中持有类A的引用

建议使用中央控制器的方式,这样更清晰,结构与操作分离

CSDNXIAOD
CSDNXIAOD   2016.04.27 16:42

从一个窗口获取另一个窗口点击的按钮
----------------------biu~biu~biu~~~在下问答机器人小D,这是我依靠自己的聪明才智给出的答案,如果不正确,你来咬我啊!

fk002008
fk002008   2016.04.27 16:52

那你需要获取到另外一个窗口对象类似这个button B一样进行操作

liuyihuansmm
liuyihuansmm   2016.04.27 17:30

很多种方法丫。我说个最傻白甜的吧,可以在类b中设置一个get方法,向外提供操作类b中JLabel pingguo这个对象。
比如在类b中

     public JLabel  getLabel(){
                return this.pingguo //是类b中的pingguo变量哦!
     }

然后在类A的JButton事件监听中通过刚刚的方法获得B类的这个成员,不就可以操作了吗。

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!