0
我正在嘗試創建一個簡單的Swing UI,它顯示文本區域的列表,全部在下面。 我想要一個滾動條,允許我在列表中垂直滾動。Java swing - 可滾動GridLayout中的項目不可見
但是,我似乎無法使網格中的條目可見並保持這種狀態。
似乎條目出現一小會兒然後再消失。我根本無法理解它。
這裏是我的代碼:
public class MyWindow extends JFrame {
JPanel stretchPanel;
JScrollPane scrollpane;
JPanel centrePanel;
JScrollBar scrollbar;
public MyWindow(String title) {
super(title);
BorderLayout layout = new BorderLayout();
setLayout(layout);
stretchPanel = new JPanel();
scrollpane = new JScrollPane();
stretchPanel.setLayout(new FlowLayout());
centrePanel = new JPanel();
centrePanel.setLayout(new GridLayout(0, 1));
scrollbar = new JScrollBar(JScrollBar.VERTICAL);
scrollpane.setVerticalScrollBarPolicy(ScrollPaneConstants.VERTICAL_SCROLLBAR_ALWAYS);
scrollpane.setVerticalScrollBar(scrollbar);
scrollpane.setViewportView(stretchPanel);
stretchPanel.add(centrePanel);
scrollpane.add(stretchPanel);
add(scrollpane, BorderLayout.CENTER);
fillGrid();
setVisible(true);
}
public void fillGrid() {
centrePanel.removeAll();
for (int i = 0; i < 20; i++) {
TextField entry = new TextField("Hello");
centrePanel.add(entry);
}
scrollpane.setPreferredSize(new Dimension(800, 700));
pack();
}
public static void main(String[] args) {
new MyWindow("d");
}
}
任何幫助,不勝感激!
謝謝,看來我同時調用了add和setviewportview。刪除添加電話解決了我的問題。我只是試圖讓滾動條顯示我以前掙扎過的滾動條。 –