java无法使我的Jscrollpane在我的Jtextarea中工作
我已经在google上查阅了很多,并遵循了几个示例,但是我似乎无法让我的JScrollPane在JPanel中的文本区域上工作
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import java.lang.*;
import javax.swing.event.*;
class main
{
public static void main(String Args[])
{
frame f1 = new frame();
}
}
class frame extends JFrame
{
JButton B = new JButton("B");
JButton button = new JButton("A");
JTextArea E = new JTextArea("some lines", 10, 20);
JScrollPane scrollBar = new JScrollPane(E);
JPanel grid = new JPanel ();
frame()
{
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setSize(500,800);
setTitle("Mobile Phone App");
setLocationRelativeTo(null);
E.setLineWrap(true);
E.setEditable(false);
grid.add(button);
button.addActionListener(new action());
grid.add(B);
B.addActionListener(new action());
//grid.add(E);
grid.getContentPane().add(scrollBar);
add(grid);
setVisible(true);
}
class action implements ActionListener
{
public void actionPerformed(ActionEvent e)
{
String V = E.getText();
if(e.getSource() == button)
{
E.setText(V + "A is pressed");
}
if(e.getSource() == B)
{
E.setText(V + "B is pressed");
}
}
}
}
如果有人能看出我的错误,那就太好了。我添加了JscrollPane,在其中添加了文本区域“e”
# 1 楼答案
不要硬编码首选尺寸。首选大小将覆盖您设置行/列的尝试。所以把那句台词去掉
注意,在创建文本区域时,还可以指定行/列:
为文本区域的初始大小提供提示。现在,文本区域的大小可以随着文本的添加或删除而改变,并且滚动条会在需要时出现
还要遵循标准的java命名约定。变量名不应以大写字符开头
# 2 楼答案
对,我明白了
基本上,我必须以不同的方式添加它。。。我接近它的方式是错误的