0

我使用 Netbean 的可视化编辑器设计了一个窗口。现在,我有一个 JTextField,我想使用滚动条添加它。我怎样才能做到这一点?

4

2 回答 2

1

您不应该将 Scollbar 添加到 TextField。TextField 用于输入来自用户的小条目,如姓名、年龄、卷号等。从用户输入大尺寸文本(如评论)的最佳组件是 JTextArea。所以您必须添加JTextArea 而不是 JTextField。

将 JTextArea 添加到 JFrame 后,您可以编写几行代码:-

JScrollPane jsc=new JScrollPane();
jsc.add(jta);

其中“jta”是您的 Netbeans 为您生成的 JTextArea 的名称。

(现在,当您添加大于文本区域限制大小的文本时,滚动条会出现。如果您希望滚动条永久显示,那么 JScrollPane 有两个属性:horizo​​ntalScrollBarPolicy 和 verticalScrollBarPolicy。将这两个属性设置为 ALWAYS,您将无论 JTextArea 中文本的大小如何,都可以看到滚动条。)

这是向您展示您可以做什么的完整代码:-

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.event.*;

class TextAreaDemo
{
JTextArea jta;
TextAreaDemo()
{
JFrame jfrm=new JFrame("Text Area");
jfrm.setSize(200,300);
jfrm.getContentPane().setLayout(new FlowLayout());
jfrm.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

jta=new JTextArea("Type Here");

//You can use this line to wrap that text when it extends on right side.
//jtxt.setLineWrap(true);


JScrollPane jscrp=new JScrollPane(jta);
jscrp.setPreferredSize(new Dimension(180,100));
jscrp.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_ALWAYS);


jfrm.add(jscrp);
jfrm.setVisible(true);

}

public static void main(String args[])
{
 SwingUtilities.invokeLater(new Runnable(){public void run(){new TextAreaDemo();}});
}
}  
于 2012-10-30T10:41:09.873 回答
1

使用 JTextArea 并将其放入 JScrollPane。如果您使用的是可视化编辑器,它将默认完成(将 TextArea 拖放到您的窗口中)。JScrollPane 有两个属性:horizo​​ntalScrollBarPolicy 和verticalScrollBarPolicy。将这两个属性设置为 ALWAYS,您将看到滚动条。

于 2012-10-30T09:34:20.857 回答