在其他jFrame上到达对象

时间:2014-07-23 07:19:21

标签: java swing confirmation

如何在其他jFrame上访问jPanel? 我想推动用户提问。根据回答(是),我想得到jPanel.setVisible(true) 在另一个jFrame上

3 个答案:

答案 0 :(得分:1)

使用某种模型,可以通过第一帧更改,但第二帧正在侦听。

您应该很少尝试访问当前类范围之外的UI元素,因为这会导致尝试找出谁是控件的问题。

这是Model-View-Controller范例和observer pattern

的核心

您还应该查看The Use of Multiple JFrames: Good or Bad Practice?

答案 1 :(得分:1)

  

我想推动用户提问。根据回答(是),我想...... ..

查看JOptionPane.showConfirmDialog(..)的重载方法。

答案 2 :(得分:0)

首先,请更改您的问题,因为很难理解您对我们的要求。

现在你的问题: 我想你想访问位于另一个JFrame的jPanel。

我的解决方案: 只是参考它! 因此,如果你有一个班级MyFrame,那就让它看起来像这样:

public class MyFrame{
    private JPanel panelThatIsLocatedAtTheSecondFrame

    //Setter and Getter and the other bullshit :D
}

public static void main(String[] args){
MyFrame frame1 = new MyFrame();
MyFrame frame2 = new MyFrame();

JPanel panelIWantToObserve = new JPanel();

frame2.add(panelIWantToObserve);
frame1.setPanelThatIsLocatedAtTheSecondFrame(panelIWantToObserve);
}