添加到JTextArea中JScrollPane的位置後:
scroll = new JScrollPane(display);
你不需要重新添加到其他容器中像你這樣的:
middlePanel.add(display);
剛刪除最後一行代碼,它會正常工作。就像這樣:
middlePanel=new JPanel();
middlePanel.setBorder(new TitledBorder(new EtchedBorder(), "Display Area"));
// create the middle panel components
display = new JTextArea(16, 58);
display.setEditable(false); // set textArea non-editable
scroll = new JScrollPane(display);
scroll.setVerticalScrollBarPolicy(ScrollPaneConstants.VERTICAL_SCROLLBAR_ALWAYS);
//Add Textarea in to middle panel
middlePanel.add(scroll);
JScrollPane的只是另一個容器其在需要時周圍放置你的組件滾動條和也有自己的佈局。所有你需要做的,當你想換什麼成卷軸只是將它傳遞到JScrollPane的構造函數:
new JScrollPane(myComponent)
或視圖設置是這樣的:
JScrollPane pane = new JScrollPane();
pane.getViewport().setView (myComponent);
附加:
這裏是完全可行的例子,因爲你仍然沒有得到它的工作:
public static void main (String[] args)
{
JPanel middlePanel = new JPanel();
middlePanel.setBorder (new TitledBorder (new EtchedBorder(), "Display Area"));
// create the middle panel components
JTextArea display = new JTextArea (16, 58);
display.setEditable (false); // set textArea non-editable
JScrollPane scroll = new JScrollPane (display);
scroll.setVerticalScrollBarPolicy (ScrollPaneConstants.VERTICAL_SCROLLBAR_ALWAYS);
//Add Textarea in to middle panel
middlePanel.add (scroll);
// My code
JFrame frame = new JFrame();
frame.add (middlePanel);
frame.pack();
frame.setLocationRelativeTo (null);
frame.setVisible (true);
}
這裏是你會得到什麼:
當文本到達區域限制,然後會發生什麼? – talnicolas 2012-04-16 15:37:20
數據即將消失。 – Ravi 2012-04-16 15:40:33
爲了儘快提供更好的幫助,請發佈[SSCCE](http://sscce.org/)。 – 2012-04-16 17:19:37