如何从另一个框架调用组件

时间:2011-08-22 07:15:53

标签: java swing design-patterns frame jcomponent

嗨我有两个以相同方式创建的框架:

public class DateFilter extends JFrame {

private final JDateChooser dateChooser = new JDateChooser();
private final JDateChooser dateChooser_1 = new JDateChooser();
private final JComboBox comboBox = new JComboBox();
private final JButton filtruotiButton = new JButton();

public DateFilter() {
    super();
    setBounds(100, 100, 277, 167);
    setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    try {
        jbInit();
    } catch (Throwable e) {
        e.printStackTrace();
    }

}
private void jbInit() throws Exception {
    getContentPane().setLayout(null);
    setTitle("Priemimo datos filtras");
    setResizable(false);

    getContentPane().add(dateChooser);
    dateChooser.setBounds(70, 40, 117, 20);

    getContentPane().add(dateChooser_1);
    dateChooser_1.setBounds(70, 65, 117, 20);
    dateChooser_1.setEnabled(false);
...

告诉我plz某人如何从一个帧到另一个帧获取数据 例如,如果我想使用按钮将日期从此框架的dateChooser放入另一个框架的textField

1 个答案:

答案 0 :(得分:5)

您需要将第一帧的实例传递给第二帧,然后在此实例上调用方法。

小样本代码:

public class FrameA extends JFrame {

  public void setSomeDate() {
  }
}

public class FrameB extends JFrame {

  public void doSomething() {
    FrameA frameA = new FrameA();
    frameA.setSomeDate();
  }
}

由于我猜你是初学者,我回答了这个非常简单和基本的例子。当然,更复杂的方法是使用MVC模式!