【发布时间】:2013-11-15 13:10:16
【问题描述】:
我对 java GUI 和布局不是很熟悉,但我得承认,我没想到会这么棘手!我不太确定我在这里做什么。
我只想在彼此之上添加 2 个文本区域,并为每个区域添加一个 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 实际上是可滚动的,因此我可以向下滚动以查看底部的文本,但是当我按下它时没有任何反应(并且它的大小或任何东西都不会改变)。我错过了什么值得注意的事情吗?
【问题讨论】:
标签: java swing jscrollpane jtextarea