我正在与一个团队一起编写一个应用程序,该团队目前使用 3 个不同的 JFrame。从我一直在阅读的内容来看,我认为这是错误的方法,但我不确定如何继续。
当应用程序启动时,它会打开一个小的 Jframe,允许用户单击 4 个按钮之一。如果单击开始游戏或添加图像,则会打开另一个窗口。游戏窗口,用于游戏和图像编辑窗口,用于图像。当他们关闭窗口时,第一个 JFrame 会重新出现。
我创建了第一个 JFrame,但无法打开第二个 JFrame。我不知道这是否是我的代码中的问题,或者第二个 JFrame 中的某些内容是否未正确设置以调用它。
第一个JFrame:封装mmlgame;
import javax.swing.JFrame;
public class MMLGame extends javax.swing.JFrame {
public MMLGame() {
initComponents();
}
private void btnExitActionPerformed(java.awt.event.ActionEvent evt) {
System.exit(0);
}
private void btnStartGameActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
GameScreen frame = new GameScreen();
frame.setVisible(true);
}
public static void main(String args[]) {
/* Create and display the form */
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
new MMLGame().setVisible(true);
}
});
}
// Variables declaration - do not modify
private javax.swing.JButton btnAddImage;
private javax.swing.JButton btnCredits;
private javax.swing.JButton btnExit;
private javax.swing.JButton btnStartGame;
private javax.swing.JPanel jPanel1;
private javax.swing.JLabel lblLogo;
// End of variables declaration
}
我还没有设置所有的按钮。我喜欢让每一个都工作,然后再继续下一个。第二个JFrame:封装mmlgame;
public class GameScreen extends javax.swing.JFrame {
public GameScreen() {
initComponents();
}
public static void main(String args[]) {
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
new GameScreen().setVisible(true);
}
});
}
// Variables declaration - do not modify
private javax.swing.JButton jButton1;
private javax.swing.JComboBox jComboBox1;
private javax.swing.JLabel jLabel17;
private javax.swing.JPanel jPanel1;
private javax.swing.JPanel pnlGameScreen;
// End of variables declaration
}
第二个 JFrame 当前有一个标签。我是团队中建议使用 JFrames 的人,所以如果我错了,请告诉我,以便我可以让团队朝着正确的方向前进。此外,我目前正在通过使用 JFC/Swing 创建 GUI。如果有什么可以更好地解释这些概念,请告诉我。