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

Edg*_*lov 3 java swing design-patterns jcomponent frame

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

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);
...
Run Code Online (Sandbox Code Playgroud)

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

mor*_*ort 5

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

小样本代码:

public class FrameA extends JFrame {

  public void setSomeDate() {
  }
}

public class FrameB extends JFrame {

  public void doSomething() {
    FrameA frameA = new FrameA();
    frameA.setSomeDate();
  }
}
Run Code Online (Sandbox Code Playgroud)

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

  • 关于示例:Google搜索"MVC java"提供了很多很好的示例和教程. (2认同)