我想在我的GUI上使用滾動窗格。該地區,我想有「滾動」是沒有任何LayoutManager的一個JPanel,因爲內容是靜態和動態之間的事情......但也許我的代碼的一部分將有助於JScrollPane動態填充JPanel,空佈局
這就是:
pane = getContentPane();
jpane = new JPanel();
// jpane.setBounds(0, 75, 680, 255);
jpane.setLayout(null);
jsp = new JScrollPane(jpane, ScrollPaneConstants.VERTICAL_SCROLLBAR_AS_NEEDED, ScrollPaneConstants.HORIZONTAL_SCROLLBAR_NEVER);
jsp.setBounds(0, 75, 680, 255);
jsp.setPreferredSize(new Dimension(680,255));
pane.add(jsp);
我的JPanel將充滿了這段代碼...
for(int i = 0; i < Integer.parseInt(spaltenzahl.getText()); i++) {
JTextField spaltennamen_feld = new JTextField();
spaltennamen_feld.setBounds(10, 10+35*i, 150, 25);
spaltennamen_arraylist.add(spaltennamen_feld);
JComboBox<String> datentypen_box = new JComboBox<String>(types);
datentypen_box.setBounds(170, 10+35*i, 150, 25);
datentypen_arraylist.add(datentypen_box);
JComboBox<String> datenzusatz_box = new JComboBox<String>(comb);
datenzusatz_box.setBounds(330, 10+35*i, 100, 25);
datenzusatz_arraylist.add(datenzusatz_box);
jpane.add(spaltennamen_feld);
jpane.add(datentypen_box);
jpane.add(datenzusatz_box);
}
的問題:我可以不加我的GUI的屏幕截圖,失蹤EHR的原因......我忘了這個要求的名字這裏的東西^ _^ 但我真正的問題是:滿溢的內容不會顯示在我的JPanel上,我的ScrollPane不滾動。任何想法?
非常感謝:)
'「......但也許我的代碼將有助於部分......」' - 你想創造什麼,後是一個[最小,完整,有效的示例或MCVE](http://stackoverflow.com/help/mcve)。這樣我們可以測試和修改適當的代碼。另外,請詳細解釋一下null佈局的必要性,因爲您通常會發現,避免這些事情通常會更好,因爲一方面,它們對JScrollPanes不會很好。我敢打賭,你需要使用空佈局的感覺實際上是一個僞裝的[XY問題](http://meta.stackexchange.com/questions/66377/what-is-the-xy-problem)。 –
問題是'null'佈局。 JScrollPane依靠佈局管理器提供的信息來確定何時顯示滾動條。 *「是沒有任何LayoutManager的JPanel,因爲內容介於靜態和動態之間,」*是irrlevent。我有很多動態的用戶界面,並不意味着你應該放棄使用佈局管理器。主要的原因是,正如你發現的那樣,Swing API嚴重依賴於它們的使用和他們提供的信息...... – MadProgrammer
@MadProgrammer:偉大的思想家都相信! –