import java.awt.BorderLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;
import javax.swing.ScrollPaneConstants;
public class TestTextArea extends JFrame {
JTextArea textArea = new JTextArea(10,20);
public void init() {
this.setBounds(300,300,400,400);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
//换行策略,为true时,若文本长度大于行的长度则换行
textArea.setLineWrap(true);
JPanel panel = new JPanel();
//添加垂直滚动条,并将水平滚动条设置为不显示
JScrollPane scroller = new JScrollPane(textArea);
scroller.setVerticalScrollBarPolicy(ScrollPaneConstants.VERTICAL_SCROLLBAR_ALWAYS);
scroller.setHorizontalScrollBarPolicy(ScrollPaneConstants.HORIZONTAL_SCROLLBAR_NEVER);
JButton button = new JButton("click");
button.addActionListener(new MyActionListener());
panel.add(scroller);
this.add(panel,BorderLayout.CENTER);
this.add(button,BorderLayout.SOUTH);
this.setVisible(true);
}
public static void main(String[] args) {
new TestTextArea().init();
}
class MyActionListener implements ActionListener {
@Override
public void actionPerformed(ActionEvent e) {
textArea.append("button clicked!\n");
}
}
}