public SwingTest(String frameName) {
area.setLineWrap(true);//这句意思是自动换行
super(frameName);
b1.addActionListener(new SwingTestListener());
txt.addActionListener(new SwingTestListener());
setLayout(new FlowLayout());
add(txt);
add(b1);
jp.setBorder(new TitledBorder("TextArea"));
jp.add(text2);//这里删掉add area,因为你的文本区域已经加到滚动面板里了,不需要添加2次
add(jp);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setSize(300 , 150);
setLocation(500, 500);
setVisible(true);
}
你的程序一个地方写错了
//jp.add(area);
把这名去掉就行了!
因为你下面这句
JScrollPane text2=new JScrollPane(area);
把area已经放在了text2中,你再放在jp中,虽然java没报错,但执行异常!
所以只要去掉 jp.add(area);这名就ok