我是Java Swing中的業餘愛好者,無法解決以下問題。JTextArea在添加JScrollPane時消失
只要我將JScrollPane
添加到JTextArea
,在GUI中就不會看到任何組件。
我知道,我不應該添加文本區域,當我添加它的滾動(我評論說,線),但它沒有幫助。
frame = new JFrame();
frame.setBounds(100, 100, 450, 300);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.getContentPane().setLayout(null);
JTextArea textArea = new JTextArea();
textArea.setBounds(213, 11, 186, 240);
// NOT CALLING frame.getContentPane().add(textArea);
scroll = new JScrollPane(textArea);
scroll.setVerticalScrollBarPolicy(ScrollPaneConstants.VERTICAL_SCROLLBAR_ALWAYS);
frame.getContentPane().add(scroll);
它的工作對我來說,只有當我用BorderLayout
,但是這不是我想使用的佈局。
我的目標是在框架中放置幾個文本區域。
我該如何讓滾動顯示文本區域,例如AbsoluteLayout
(null
)?
您使用'setBounds()'與默認的'BorderLayout'衝突。請編輯您的問題以包含[mcve]。 – trashgod
[爲什麼在SWING中使用空佈局會皺眉?](http://stackoverflow.com/questions/6592468/why-is-it-frowned-upon-to-use-a-null-layout-in -swing) – MadProgrammer
避免使用'null'佈局,像素完美的佈局是現代UI設計中的幻想。影響組件的個體大小的因素太多,其中沒有一個可以控制。 Swing旨在與佈局經理一起工作,放棄這些將導致無法結束的問題和問題,您將花費越來越多的時間來嘗試糾正 – MadProgrammer