我正在寫一個團隊的應用程序,目前使用3個不同的JFrames。從我一直在閱讀的內容來看,我認爲這是一條錯誤的路,但我不知道如何繼續。如何用第二個應用程序替換應用程序中的第一個JFrame?
當應用程序啓動時,它打開一個小Jframe,允許用戶點擊4個按鈕之一。如果點擊開始遊戲或添加圖像,則會打開另一個窗口。遊戲窗口,用於遊戲和圖像編輯窗口,用於圖像。當他們關閉窗口時,第一個JFrame會重新出現。
我創建了第一個JFrame,但一直無法打開第二個JFrame。我不知道這是否是我的代碼中的問題,或者是否第二個JFrame中的某些內容沒有正確設置來調用它。
第一個JFrame: package 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,所以如果我錯了,請讓我知道,這樣我可以讓團隊朝着正確的方向前進。 此外,我目前正在通過Creating a GUI With JFC/Swing的方式工作。如果有什麼能夠更好地解釋這些概念,請讓我知道。
另請參見[*使用多個JFrames,好/壞實踐?*](http://stackoverflow.com/q/9554636/230513) – trashgod
它應該這樣工作..也許你沒有把代碼爲事件綁定,因爲我認爲它是由netbeans生成的..無論如何,嘗試首先做一個簡單的system.out.print,看看你的按鈕是否綁定到事件處理程序..如果沒有,你應該點擊netbeans中的按鈕gui編輯器並檢查事件,看看動作偵聽器是否綁定到這個處理程序.. –
當然,我們在這裏沒有討論多個jframes問題..你應該閱讀trashgods鏈接.. –