【问题标题】:how to call compoment from another frame如何从另一个框架调用组件
【发布时间】:2011-08-22 07:15:52
【问题描述】:

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

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);
...

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

【问题讨论】:

    标签: java swing design-patterns frame jcomponent


    【解决方案1】:

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

    小示例代码:

    public class FrameA extends JFrame {
    
      public void setSomeDate() {
      }
    }
    
    public class FrameB extends JFrame {
    
      public void doSomething() {
        FrameA frameA = new FrameA();
        frameA.setSomeDate();
      }
    }
    

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

    【讨论】:

    • ok thnx,它简单但有点不合理,你能用 mvc 发布示例
    • 关于示例:谷歌搜索“MVC java”提供了很多很好的示例和教程。
    • *不合理的错误抱歉
    • @Edgar:有一个与 MVC 相关的答案here
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-07-21
    • 2021-07-26
    • 2019-06-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多