我對Java GUI和佈局不是很熟悉,但我必須承認,我不認爲這會是棘手的!我不太確定我在這裏做什麼。JScrollPane無法在我的JTextArea上工作?
我只想添加2個textareas ontop的對方,並添加jscrollpane到他們每個人。但是我無法讓JScrollPanes工作。這是我目前如何得到它的。
public class Class extends JFrame {
public Class() {
super("Title");
getContentPane().setLayout(
new BoxLayout(getContentPane(), BoxLayout.Y_AXIS));
setResizable(false);
JTextArea window1 = new JTextArea("text");
window1.setEditable(false);
window1.setBorder(BorderFactory.createLineBorder(Color.BLACK));
window1.setPreferredSize(new Dimension(200, 250));
window1.setLineWrap(true);
add(window1);
JScrollPane scroll = new JScrollPane(window1);
scroll.setHorizontalScrollBarPolicy(ScrollPaneConstants.HORIZONTAL_SCROLLBAR_NEVER);
scroll.setVerticalScrollBarPolicy(ScrollPaneConstants.VERTICAL_SCROLLBAR_ALWAYS);
add(scroll);
JTextArea window2 = new JTextArea();
window2.setEditable(true);
window2.setBorder(BorderFactory.createLineBorder(Color.BLACK));
window2.setPreferredSize(new Dimension(100, 50));
window2.setLineWrap(true);
add(window2);
setDefaultCloseOperation(EXIT_ON_CLOSE);
pack();
setVisible(true);
}
}
它看起來不錯,有一個「文本」框,它的右邊有滾動窗格。在它們下面都有第二個JTextArea(沒有滾動窗格)。問題是,當我在窗口1中寫入文本並且文本在jtextarea之外的文本下方時,我期望JScrollPane實際上是可滾動的,所以我可以向下滾動以查看底部的文本,但是當我按下它時沒有任何反應(它的大小或者任何東西都不會改變)。我錯過了什麼?
是的,謝謝,在JScrollPane上使用setPreferredSize而不是JTextArea,現在一切順利! – optional