我想在我的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);
}
答案 0 :(得分:1)
您需要将scroll
(JScrollPane)添加到pan2
而不是text
(JTextArea)
试试这个
pan2.add(scroll, BorderLayout.CENTER);
取代pan2.add(text, BorderLayout.CENTER);
修改强>
当我们在面板中添加JTextArea
时,会自动添加 JScrollPane
,因为您已在text
JScrollPane
(JTextArea)
这里 - > JScrollPane scroll = new JScrollPane(text);
答案 1 :(得分:0)
可以试试这个
add(scroll);//, BorderLayout.CENTER
add(pan, BorderLayout.SOUTH);
而不是
add(pan2);//, BorderLayout.CENTER
这样我们就可以直接将scrollpane添加到主框架并将其他内容添加到
之下