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の両方を呼び出したようです。追加コールを削除すると問題が解決しました。私が以前に苦労していたことをスクロールバーに表示しようと試みたスクロールバー。 –