【发布时间】:2012-09-14 19:54:21
【问题描述】:
Server 是我创建的一个扩展 JFrame 的类。
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);
哦,天哪,它突然工作了......我正要删除这个问题,但我又运行了几次,只是随机工作,有时不工作。
我只记得之前在其他“项目”中遇到过这个问题,我的解决方案是使窗口可调整大小。每当我简单地调整它的大小时,组件就会显示出来。
这一次,我正在制作一款游戏,但我不希望它可以调整大小......而且我想知道如何以正确的方式永久解决这个问题。
帮助!有谁知道为什么会这样?
谢谢。
编辑:
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);
这会有帮助吗?
【问题讨论】: