将参数从JFrame传递到NetBeans中的另一个JFrame

时间:2017-05-20 01:26:19

标签: java swing model-view-controller

我正在为大学工作。该程序使用服务器/客户端(通过套接字)以及模型 - 视图 - 控制器方法。

我正在创建一个带有JFrame的登录屏幕,此登录屏幕必须根据刚刚登录的人调用另一个JFrame。 正如标题所说,我正在尝试将控制器从Login JFrame传递到另一个JFrame。使用JInternalFrame,我会用一个按钮这样做:

  

注意:我希望第二帧独立,我不想将JInternalFrame添加到JDesktopPane

JFrame(我删除了大部分自动生成的代码):

package javaapplication1;
import Controller.Controller;
/**
 *
 * @author invitado
 */
public class MyFrame extends javax.swing.JFrame {
    private Controller controller;
    /**
     * Creates new form myFrame
     */
    public MyFrame() {
        controller = new Controller();
        initComponents();
    }

    private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {                                         
    MyInternalFrame internal = new MyInternalFrame(controller);
    MyDesktopPane.add(internal);
    internal.setVisible(true);
    }       
}

InternalFrame:

package javaapplication1;
import Controller.Controller;
/**
 *
 * @author invitado
 */
public class MyInternalFrame extends javax.swing.JInternalFrame {
    private Controller c;
    /**
     * Creates new form MyInternalFrame
     */
    public MyInternalFrame(Controller c) {
        this.c = c;
        initComponents();
    }
}

这一直适用于我,但当我使用JFrame而不是JInternalFrame尝试时,一行会在new MyFrame2().setVisible(true);

上给出错误
public static void main(String args[]) {
        /* Set the Nimbus look and feel */
                  . . .
/* Create and display the form */
        java.awt.EventQueue.invokeLater(new Runnable() {
            public void run() {
                new MyFrame2().setVisible(true);
            }
        });
    }

我应该将参数控制器放在MyFrame2().setVisible(true);中还是有其他方法可以做到?

0 个答案:

没有答案