服务器是我制作的扩展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