我有一個JTextArea,位於JScrollPane內部,而JScrollPane又位於JPanel內部,並且位於JTabbedPane的Tab內。JTextArea不會顯示在JTabbedPane內部的JPanel
我知道文本被添加到我的JTextArea,但是當我在標籤之間移動時,JTextArea不可見。要閱讀文本,我必須選擇JTextArea中的文本,然後調出JTextArea背景的白色。如果我不選擇,我什麼都看不到。
我試過平時revalidate();
和repaint()
但他們不適合我。下面是一些有問題的代碼:
public void writeLogEntry(Alarm alarm)
{
String value = "Blah Blah Blah";
logTextArea.append(value);
SwingUtilities.getWindowAncestor(contentPane).revalidate();
repaint();
revalidate();
setVisible(true);
}
這裏是有關JTextArea中的元素代碼:
JPanel logPnl = new JPanel();
logPnl.setLayout(new BorderLayout(10, 10));
JScrollPane logScrollPane = new JScrollPane();
logScrollPane.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_ALWAYS);
logTextArea = new JTextArea("blah blah");
logTextArea.setBounds(10, 10, 550, 300);
logTextArea.setEditable(false);
logScrollPane.add(logTextArea);
logPnl.add(logScrollPane);
contentTabs.addTab("Alarms Log", null, logPnl, "View Log");
contentPane.add(contentTabs);
我在做什麼錯?
請發表完整,簡潔充分的工作代碼產生你所描述的問題的例子。 – KyleM 2013-04-26 04:01:12
我認爲這是簡潔的。我可以粘貼整個JTabbedPane代碼,但其他選項卡中的內容並不是真正的問題,並且會在此處引起混亂。據我所知,所有與JTextArea相關的代碼都已發佈。 :( – Ciwan 2013-04-26 04:02:44
我們沒有要求提供整個標籤窗格代碼,我們要求提供[SSCCE](http://sscce.org/),另外,請勿使用setBounds(),請使用合適的佈局管理器 – camickr 2013-04-26 04:04:21