1

我想给我添加一个滚动条,JTextArea但它不会出现。我在论坛上读了很多东西,但都是徒劳的。任何建议都受到高度赞赏。提前致谢。下面是我的代码。

JPanel pan, pan2;
JTextArea text = new JTextArea();
JTextField fname = new JTextField(18);
JLabel filename = new JLabel("Filename");
JButton view = new JButton("View");
public FileReading() {
    setLayout(new BorderLayout());
    pan = new JPanel();
    pan2 = new JPanel();
    JScrollPane scroll = new JScrollPane(text);
    //scroll.setBounds(400,400,400,400);
    scroll.setVerticalScrollBarPolicy(ScrollPaneConstants.VERTICAL_SCROLLBAR_ALWAYS);
    text.setEditable(false);
    scroll.setViewportView(text);
    pan2.add(scroll);
    //scrollpane.setViewportView(text);
    pan2.setLayout(new BorderLayout());
    //pan2.add(scrollpane);
    pan.setLayout(new FlowLayout());
    pan.add(filename, FlowLayout.LEFT);
    pan.add(fname, FlowLayout.CENTER);
    pan.add(view, FlowLayout.RIGHT);
    view.addActionListener(this);
    fname.addActionListener(this);
    pan2.add(text, BorderLayout.CENTER);
    pan2.add(pan, BorderLayout.SOUTH);
    //BorderLayout.EAST
    //add(pan, BorderLayout.SOUTH);
    add(pan2);//, BorderLayout.CENTER
    setVisible(true);
}

public static void main(String args[]) {
    FileReading frame = new FileReading();
    frame.setTitle("Enter The Full Path to the File");
    frame.setVisible(true);
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    frame.setBounds(400,400,400,400);
    //frame.setSize(400,400);
}
4

2 回答 2

1

您需要将scroll(JScrollPane)添加到pan2不添加到text(JTextArea)试试这个

pan2.add(scroll, BorderLayout.CENTER);

代替pan2.add(text, BorderLayout.CENTER);

编辑

JTextArea当我们添加JScrollPane到面板中时会自动添加,就像您在text里面添加的 (JTextArea)JScrollPane

这里->JScrollPane scroll = new JScrollPane(text);

于 2012-12-07T11:05:09.530 回答
0

可以试试这个

add(scroll);//, BorderLayout.CENTER
add(pan, BorderLayout.SOUTH);

代替

add(pan2);//, BorderLayout.CENTER

这样我们直接将滚动窗格添加到主框架并在下面放置其他内容

于 2012-12-07T11:04:50.430 回答