(顺便说一句,我是java新手)
我有一个未完成的程序,我想向 jtextarea
添加一个 jscrollpane
。但是我无法让它工作。我尝试过这样做
add(new JScollPane(area));
这不起作用。我尝试过:
panel.add(new JScrollPane(area));
这也不起作用。我也尝试过:
area.add(pane);
和:
area.add(new JScrollPane());
但没有任何作用。帮助!!!看看
public class Constructor extends JFrame {
private static final long serialVersionUID = 123456789L;
JScrollPane scroll;
public JPanel panel;
static JTextField field;
static JTextArea area;
String displayCommand, commandIs;
public Constructor() {
panel = new JPanel();
panel.setLayout(getLayout());
panel.setSize(600, 450);
scroll = new JScrollPane(area);
scroll.setBounds(0, 0, 10, 395);
field = new JTextField();
field.setSize(595, 25);
field.setLocation(0, 400);
field.addActionListener(
new ActionListener(){
public void actionPerformed(ActionEvent event){
showCommand(event.getActionCommand());
field.setText("");
}
}
);
area = new JTextArea();
area.setSize(595,395);
area.setLocation(0,0);
area.setEditable(false);
area.setFont(new Font("Lucida Console", Font.BOLD, 13));
area.setText("Welcome to JConsole! This Application is for executing commands."
+ "\nType help for more info");
panel.add(new JScrollPane(area));
panel.add(area);
panel.add(field);
add(panel);
}
这只是我的构造函数,代码中没有其他内容涉及 jscrollpane
。
最佳答案
您添加了区域
两次。第一个带有 JScrollPane,第二个没有 JScrollPane。您应该删除第二部分。
panel.add(new JScrollPane(area));
//panel.add(area); Remove this part.
还要确保区域
的布局正确。默认情况下,JPanel
为 FlowLayout
,但对于 JTextArea
,它应该位于 BorderLayout
上并居中对齐。
关于java - 如何将 JScrollPane 添加到此 JTextArea?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29152426/