//c.javaimport java.awt.*;
import javax.swing.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;class MainWindows extends JFrame implements ActionListener
{
public JTextArea JTextArea1=new JTextArea("welcome");
public JTextField JTextField1=new JTextField("请输入要发送内容");
public JButton button1=new JButton("发送");
public void Windows()
{
Container con=getContentPane();
con.setLayout(new FlowLayout());
con.add(JTextArea1);
con.add(JTextField1);
con.add(button1);
button1.addActionListener(this);
JTextField1.setPreferredSize(new Dimension(395, 30));
JTextArea1.setPreferredSize(new Dimension(390, 280));
setSize(410,420);
setVisible(true);
setResizable(false);
setDefaultCloseOperation(3);
}
public void actionPerformed(ActionEvent actionevent)
{
if(actionevent.getActionCommand().equals("发送"))
{
String s=JTextField1.getText().trim();
JTextField1.setText("");
JTextArea1.append(" "+s+"\n");
if (s.length()==0)
JTextArea1.setText("信息不能为空");
}
}
}
public class c
{
public static void main(String []args)
{
MainWindows n=new MainWindows();
n.Windows();
System.gc();
}
}本程序是从JTextField读取字符,按"发送"打印到JTextArea区域中,
现在的问题是; JTextArea中满的时候不能显示下面的内容,怎么实现JTextArea的自动滚动?有知道的吗?
import javax.swing.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;class MainWindows extends JFrame implements ActionListener
{
public JTextArea JTextArea1=new JTextArea("welcome");
public JTextField JTextField1=new JTextField("请输入要发送内容");
public JButton button1=new JButton("发送");
public void Windows()
{
Container con=getContentPane();
con.setLayout(new FlowLayout());
con.add(JTextArea1);
con.add(JTextField1);
con.add(button1);
button1.addActionListener(this);
JTextField1.setPreferredSize(new Dimension(395, 30));
JTextArea1.setPreferredSize(new Dimension(390, 280));
setSize(410,420);
setVisible(true);
setResizable(false);
setDefaultCloseOperation(3);
}
public void actionPerformed(ActionEvent actionevent)
{
if(actionevent.getActionCommand().equals("发送"))
{
String s=JTextField1.getText().trim();
JTextField1.setText("");
JTextArea1.append(" "+s+"\n");
if (s.length()==0)
JTextArea1.setText("信息不能为空");
}
}
}
public class c
{
public static void main(String []args)
{
MainWindows n=new MainWindows();
n.Windows();
System.gc();
}
}本程序是从JTextField读取字符,按"发送"打印到JTextArea区域中,
现在的问题是; JTextArea中满的时候不能显示下面的内容,怎么实现JTextArea的自动滚动?有知道的吗?
jTextArea.append(" "+s+"\n");
jTextArea.setCaretPosition(jTextArea.getText().length();//滾動到底端
看里面的例子:http://www.java2s.com/Code/Java/Swing-JFC/Scrollpane.htm
con.add(jScrollPane );//con.add(JTextArea1);
---------------------------------
jTextArea.append(" "+s+"\n");
jTextArea.setCaretPosition(jTextArea.getText().length();//滾動到底端