TextArea中的ScrollPane

时间:2016-03-17 13:07:29

标签: java swing

以下是我的代码的一部分:

 JFrame window = new JFrame();
 JPanel panel = new JPanel();
 JTextArea text = new JTextArea();
 JScrollPane scroll = new JScrollPane(text);  

 private Window()
 {
 createWindow();
 }

 public void createWindow()
 {
 window.setLayout(null);
 window.setVisible(true);
 panel.setVisible(true);
 text.setBounds(20, 100, 320, 270);
 }

 public void update2(String employee) 
 {      
    text.setText(null);
    try
    {
    scanner = new Scanner(employee);
    }catch(Exception e){
    e.printStackTrace();
    }
    while(scanner.hasNextLine())
    {
    String line = scanner.nextLine();
    text.append(line+"\n");
    }
    revalidate();   
    }

我想知道如何将滚动条添加到TextArea“text”。它是一个数据库应用程序,它将数据字符串发送到TextArea。我希望应用程序在必要时显示滚动条(垂直或水平) - TextArea中的字符串太多。我一直在尝试很多东西,但没有任何作用。构造函数必须是私有的,因为我使用的是Singleton。

2 个答案:

答案 0 :(得分:1)

避免使用null布局。请查看Layout Managers以获得更好的选择。

除非您不包括将Scrollpane添加到JFrame的部分,否则我建议您执行与此类似的操作

frame.add(scrollpane, BorderLayout.CENTER);

BorderLayout.CENTER是JFrames默认布局中的一个位置。请阅读here了解更多信息。

答案 1 :(得分:1)

顺便问一下,你把你的卷轴添加到框架中了什么?

UTF-8 without BOM

JScrollPane是一个容器,可以在需要时在组件周围放置滚动条,并且还有自己的布局。当你想把任何东西包装成一个滚动时你需要做的就是把它传递给JScrollPane构造函数:。

window.add(scroll);
window.setVisible (true);

如果上述方法不起作用,请使用:

 JFrame window = new JFrame();
 JPanel panel = new JPanel();
 JTextArea text = new JTextArea();
 JScrollPane scroll = new  JScrollPane(text);