【发布时间】:2010-12-12 19:22:42
【问题描述】:
我只是想向我的 TextField 和 TextArea 添加一个垂直滚动条。 我正在使用 ScrollPane,它应该默认创建垂直/水平滚动条。
问题: 我需要一个垂直滚动条来查看不可见的数据。 开始时会出现一个垂直滚动条,但当数据增加时,垂直滚动条会变为水平滚动条。 TextField 也消失了,只有一个水平滚动条出现在它的位置。 我想这是因为我设置了界限,但我尝试更改界限,最终完全取消了 TextField。
我的代码sn-p:
public JTextField inputField = new JTextField();
public JTextArea talkArea = new JTextArea();
public JScrollPane inputFieldScroll = new JScrollPane(inputField);
public JScrollPane talkAreaScroll = new JScrollPane(talkArea);
talkArea.setEditable(false);
talkArea.setBackground(Color.white);
talkAreaScroll.setBounds(new Rectangle(TALK_LEFT, TALK_TOP, TALK_WIDTH, TALK_HEIGHT));
this.getContentPane().add(talkAreaScroll, null);
//set input area
inputField.setBackground(Color.white);
inputField.setBounds(new Rectangle(INPUT_LEFT, INPUT_TOP, INPUT_WIDTH, INPUT_HEIGHT));
inputFieldScroll.setVerticalScrollBar(new JScrollBar());
inputFieldScroll.setBounds(new Rectangle(INPUT_LEFT, INPUT_TOP, INPUT_WIDTH, INPUT_HEIGHT));
问题:
我需要设置一些参数以使其保持垂直滚动条吗? 为什么当数据变成大行时,输入滚动条会占据整个输入域?它在开始时显示为适当的垂直滚动条。
任何建议表示赞赏。
谢谢
【问题讨论】:
-
你能创建并发布一个小的可编译和可运行的例子吗?另外,如果您设置 JScrollPane 的 JViewport 的首选大小而不是 JScrollPane 本身,会发生什么?
标签: java swing jscrollpane jtextcomponent jscrollbar