0
我正在用java創建類似於Quizlet的程序。將佈局從null更改爲BoxLayou後,Jpanel消失
我爲佈局設置爲null的每個Jpanel創建了一個類。唯一沒有空佈局的類是管理幷包含所有具有CardLayout的JPanel的類。
反正,一切工作正常,問題發生在我的一個類中,其中包含加載每個測驗的Jpanel。我稱之爲LoadMenu。
圖形用戶界面工作得很好,我只是想看看盒子佈局,所以我把它從零布局切換到盒子。然後我意識到,除了一個之外,我的所有組件都在該佈局上消失。現在,當我將佈局更改爲空時,所有內容都消失了,並且JPanel一起完全消失。我打Control-Z
並撤銷任何更改,但它仍然消失。
無論如何,我可以恢復它以前看起來像什麼?
謝謝
不知道這是否有助於但這是loadMenu類
public class LoadMenu extends JPanel implements ActionListener {
private QuizManager manager;
private FileManager file = new FileManager();
private JComboBox comboBox;
private JButton nextButton;
private JButton refreshButton;
private JButton backButton;
private ProblemSet problemSetList;
LoadMenu(ProblemSet newProblemSetList, QuizManager newManager){
manager = newManager;
problemSetList = newProblemSetList;
JPanel loadMenu = new JPanel();
loadMenu.setLayout(null);
loadMenu.setBounds(1, 0, 681, 426);
add(loadMenu);
loadMenu.setLayout(null);
loadMenu.setBounds(1, 0, 681, 426);
JLabel selectQuizLabel = new JLabel("Select Quiz");
selectQuizLabel.setFont(new Font("Times New Roman", Font.BOLD, 20));
selectQuizLabel.setBounds(261, 104, 110, 31);
loadMenu.add(selectQuizLabel);
comboBox = new JComboBox();
comboBox.setBounds(274, 194, 153, 22);
loadMenu.add(comboBox);
nextButton = new JButton("Next");
nextButton.setBounds(530, 370, 139, 43);import junit.framework.TestCase;
import junit.framework.TestCase;
loadMenu.add(nextButton);
nextButton.addActionListener(this);
listQuizNames();
refreshButton = new JButton("Refresh");
refreshButton.addActionListener(this);
refreshButton.setBounds(241, 229, 139, 31);
loadMenu.add(refreshButton);
backButton = new JButton("Back");
backButton.addActionListener(this);
backButton.setBounds(12, 370, 139, 43);
loadMenu.add(backButton);
}
public void actionPerformed(ActionEvent e) {
Object src = e.getSource();
if(src == nextButton){
manager.startQuiz((String)comboBox.getSelectedItem());
}
else if(src == refreshButton){
listQuizNames();
}
else{
manager.showNextCard("startMenu");
}
}
public void listQuizNames(){
ArrayList<String> quizList = new ArrayList<String>();
file.readQuizNames(quizList);
comboBox.setModel(new DefaultComboBoxModel(quizList.toArray()));
}
}
但是,如果你的面板是在一個jframe中,嘗試調整你的jpanel的大小或調整你的jpanel的大小 – Thecarisma