【发布时间】:2013-08-17 19:42:04
【问题描述】:
我想在 textarea 中创建一个滚动条,但如果我将 JPanel Layout 设置为 null,滚动条将不会显示!
我试过了
JScrollPane scrollbar1 =
new JScrollPane(
ta1,JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED,
JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED);
但由于布局为空而无法正常工作。
这是我当前的代码:
import javax.swing.*;
import java.awt.*;
public class app extends JFrame {
public static void main(String[] args)
{
new app();
}
public app()
{
this.setSize(400,400);
this.setLocation(0,0);
this.setResizable(false);
this.setTitle("Application");
JPanel painel = new JPanel(null);
// Creating the Input
JTextField tf1 = new JTextField("Some random text", 15);
tf1.setBounds(5,5,this.getWidth()-120,20);
tf1.setColumns(10);
tf1.setText("Omg");
painel.add(tf1);
// Creating the button
JButton button1 = new JButton("Send");
button1.setBounds(290, 5, 100, 19);
painel.add(button1);
// Creating the TextArea
JTextArea ta1 = new JTextArea(15, 20);
JScrollPane scr = new JScrollPane();
ta1.setBounds(5, 35, 385, 330);
ta1.setLineWrap(true);
ta1.setWrapStyleWord(true);
painel.add(ta1);
this.add(painel);
this.setVisible(true);
}
}
我想让它正常工作。如果有人可以帮助我,请在下面发表评论!
【问题讨论】:
-
正确的方法是不使用
null布局。无论如何,您需要将TextArea放在滚动窗格中,然后将组合显示在滚动窗格中。 -
@Kiheru 我说过我尝试过这样做,但没有成功。
-
它确实有效,但是您需要正确设置滚动窗格的边界,因为您正在尝试手动创建布局(是的,我试过了)。
-
您不应该设置滚动窗格的边界。您不应该使用空布局。空布局会导致这样的问题。您应该使用布局管理器。 Swing 旨在与布局管理器一起使用。阅读 JTextArea API 并点击 Swing 教程的链接,以获取向您展示如何正确使用 Swing 的工作示例。
标签: java swing jpanel jscrollpane jtextarea