下面的问题让我大吃一惊,所以我来这里寻求帮助。
经过试验,我最终得到了这段代码:
JTextArea chatPanel = null;
JScrollPane scrollPanel = null;
if(chatPanel == null)
{
chatPanel = new JTextArea("derp");
chatPanel.setEditable(false);
chatPanel.setForeground(new Color(10,191,26));
chatPanel.setOpaque(false);
scrollPanel = new JScrollPane(chatPanel);
scrollPanel.setOpaque(false);
scrollPanel.getViewport().setOpaque(false);
scrollPanel.setBorder(BorderFactory.createEmptyBorder());
}
//## marked area ##
scrollPanel.setBounds(9,596,435,138);
pane.add(scrollPanel);
结果?什么都没有出现。我期望的带有“derp”的文本区域不存在,只是一个空的滚动面板。现在,如果我转到 ## 标记区域 ## 并将其替换为:
chatPanel.append("Hello.");
聊天面板在滚动面板中显示良好,其文本为“derpHello.”。关于发生了什么的任何想法?
作为记录,窗格是一个简单的容器,具有空布局,否则显示一切正常。声明,仅作记录:
Container pane = getContentPane()
pane.setLayout(null);