我使用Netbean的可视化编辑器设计了一个窗口。现在,我有一个JTextField,我想用滚动条添加它。我怎么能这样做?
答案 0 :(得分:1)
使用JTextArea并将其放入JScrollPane。如果您使用可视化编辑器,它将默认完成(将TextArea放入您的窗口)。 JScrollPane有两个属性:horizontalScrollBarPolicy和verticalScrollBarPolicy。将这两个属性设置为ALWAYS,您将看到滚动条。
答案 1 :(得分:1)
您不应该将Scollbar添加到TextField.TextField用于输入用户的小条目,如姓名,年龄,滚动号等。从用户输入大型文本(如评论)的最佳组件是JTextArea.So您必须添加JTextArea而不是JTextField。
将JTextArea添加到JFrame后,您可以编写几行代码: -
JScrollPane jsc=new JScrollPane();
jsc.add(jta);
其中'jta'是您的Netbeans为您生成的JTextArea的名称。
(现在,当您添加大于文本区域限制大小的文本时,将显示滚动条。 如果您希望滚动条永久显示,那么JScrollPane有两个属性:horizontalScrollBarPolicy和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();}});
}
}