服務器是我製作的擴展JFrame的類。JPanel不顯示在JFrame中 - Java
Server serverApp = new Server(TITLE, WIDTH, HEIGHT, true, false);
我已經有效地刪除了幾乎所有其他的代碼,但問題仍然存在!
c = getContentPane();
c.setLayout(new BorderLayout());
//Components /***AHHHHH***/
lblEnterMessage = new JLabel("Enter Message ");
txtEnterMessage = new JTextField(50);
txtEnterMessage.addActionListener(this);
btnSend = new JButton("Send");
btnSend.addActionListener(this);
taDisplay = new JTextArea("Test, test test.", 10, 0);
taDisplay.setEditable(false);
JScrollPane jspDisplay = new JScrollPane(taDisplay);
pnlChatTop = new JPanel(new FlowLayout());
pnlChatTop.add(lblEnterMessage);
pnlChatTop.add(txtEnterMessage);
pnlChatTop.add(btnSend);
pnlChat = new JPanel(new BorderLayout());
pnlChat.add(pnlChatTop, BorderLayout.CENTER);
pnlChat.add(jspDisplay, BorderLayout.SOUTH);
c.add(pnlChat, BorderLayout.CENTER);
哦宕,它只是忽然保護正常工作......我正要刪除這個問題,但我又跑了它幾次,只是隨機WORKS,有時無法正常工作。
我剛剛記得以前有過其他'項目'這個問題,我的解決方案是使窗口可調整大小。每當我簡單調整它的大小時,組件都會顯示。
這次,我正在製作一款遊戲,我不希望它可以調整大小......我想知道如何以正確的方式解決這個問題。
幫助!有誰知道爲什麼會發生這種情況?
謝謝。
編輯:
public Server(String title, int sizeW, int sizeH, boolean visibility, boolean resizability) {
/* Initialization */
//JFrame settings
setTitle(title);
setSize(sizeW, sizeH);
setVisible(visibility);
setResizable(resizability);
setLocationRelativeTo(null);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
addKeyListener(this);
請問
幫助?
那麼我應該先設置RESIZABILITY?可見性?難道那......出於某種原因是問題所在? 好吧我只是嘗試pack(),setSize已經存在,setExtendedState(JFrame.ALL_DONT_WORK)和setResizable(false)都在調用setVisible(true)之前,它不起作用。 我還想超雙三重四注意,這發生在我的其他應用程序,我setResizable(false)等,使其顯示...我記得我的講師說她有同樣的問題之前,她只是調整它來修復它。 – Dois 2010-01-30 13:03:26
@Dois - 看看Swing教程中的併發 - http://java.sun.com/docs/books/tutorial/uiswing/ – McDowell 2010-01-30 13:07:14
調用invokeLater中的JFrame(我的服務器類)似乎工作。謝謝阿湯人,節省了我很多時間,並治好了我的頭痛。 – Dois 2010-01-30 13:18:54