我正在为大学工作。该程序使用服务器/客户端(通过套接字)以及模型 - 视图 - 控制器方法。
我正在创建一个带有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);
中还是有其他方法可以做到?