//我的好象可以自动滚动,你看一下
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;public class ScrollApp
{
public static void main(String[] args)
{
ScrollFrame frame=new ScrollFrame();
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.show();
}
}class ScrollFrame extends JFrame
{
public ScrollFrame()
{ setTitle("Scroll Demo");
setSize(400,500); Container contentPane=getContentPane(); show=new JTextArea(20,10);
JScrollPane pane=new JScrollPane(show); addText=new JButton("ADD TEXT"); addText.addActionListener(
new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
show.append("gsdklfsdljfsdlkjfdsljfdslkfjslk\n"+
"sdfjsdkfjsdlkjfkssdjfkdsfjdksjfksdsdfdssdfsdds\n"+
"sdfjsdkfjsdlkjfkssdjfkdsfjdksjfksdsdfdssdfsdds\n"+
"sdfjsdkfjsdlkjfkssdjfkdsfjdksjfksdsdfdssdfsdds\n"+
"sdfjsdkfjsdlkjfkssdjfkdsfjdksjfksdsdfdssdfsdds\n"+
"sdfjsdkfjsdlkjfkssdjfkdsfjdksjfksdsdfdssdfsdds\n"+
"sdfjsdkfjsdlkjfkssdjfkdsfjdksjfksdsdfdssdfsdds\n"+
"sdfjsdkfjsdlkjfkssdjfkdsfjdksjfksdsdfdssdfsdds\n"+
"sdfjsdkfjsdlkjfkssdjfkdsfjdksjfksdsdfdssdfsdds\n"+
"sdfjsdkfjsdlkjfkssdjfkdsfjdksjfksdsdfdssdfsdds\n"+
"sdfjsdkfjsdlkjfkssdjfkdsfjdksjfksdsdfdssdfsdds\n"+
"sdfjsdkfjsdlkjfkssdjfkdsfjdksjfksdsdfdssdfsdds\n"+
"sdfjsdkfjsdlkjfkssdjfkdsfjdksjfksdsdfdssdfsdds\n"+
"sdfjsdkfjsdlkjfkssdjfkdsfjdksjfksdsdfdssdfsdds\n"+
"sdfjsdkfjsdlkjfkssdjfkdsfjdksjfksdsdfdssdfsdds\n"+
"sdfjsdkfjsdlkjfkssdjfkdsfjdksjfksdsdfdssdfsdds\n"+
"sdfjsdkfjsdlkjfkssdjfkdsfjdksjfksdsdfdssdfsdds\n"+
"sdfjsdkfjsdlkjfkssdjfkdsfjdksjfksdsdfdssdfsdds");
}
}); contentPane.add(pane,BorderLayout.CENTER);
contentPane.add(addText,BorderLayout.SOUTH);
} JButton addText;
JTextArea show;
}
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;public class ScrollApp
{
public static void main(String[] args)
{
ScrollFrame frame=new ScrollFrame();
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.show();
}
}class ScrollFrame extends JFrame
{
public ScrollFrame()
{ setTitle("Scroll Demo");
setSize(400,500); Container contentPane=getContentPane(); show=new JTextArea(20,10);
JScrollPane pane=new JScrollPane(show); addText=new JButton("ADD TEXT"); addText.addActionListener(
new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
show.append("gsdklfsdljfsdlkjfdsljfdslkfjslk\n"+
"sdfjsdkfjsdlkjfkssdjfkdsfjdksjfksdsdfdssdfsdds\n"+
"sdfjsdkfjsdlkjfkssdjfkdsfjdksjfksdsdfdssdfsdds\n"+
"sdfjsdkfjsdlkjfkssdjfkdsfjdksjfksdsdfdssdfsdds\n"+
"sdfjsdkfjsdlkjfkssdjfkdsfjdksjfksdsdfdssdfsdds\n"+
"sdfjsdkfjsdlkjfkssdjfkdsfjdksjfksdsdfdssdfsdds\n"+
"sdfjsdkfjsdlkjfkssdjfkdsfjdksjfksdsdfdssdfsdds\n"+
"sdfjsdkfjsdlkjfkssdjfkdsfjdksjfksdsdfdssdfsdds\n"+
"sdfjsdkfjsdlkjfkssdjfkdsfjdksjfksdsdfdssdfsdds\n"+
"sdfjsdkfjsdlkjfkssdjfkdsfjdksjfksdsdfdssdfsdds\n"+
"sdfjsdkfjsdlkjfkssdjfkdsfjdksjfksdsdfdssdfsdds\n"+
"sdfjsdkfjsdlkjfkssdjfkdsfjdksjfksdsdfdssdfsdds\n"+
"sdfjsdkfjsdlkjfkssdjfkdsfjdksjfksdsdfdssdfsdds\n"+
"sdfjsdkfjsdlkjfkssdjfkdsfjdksjfksdsdfdssdfsdds\n"+
"sdfjsdkfjsdlkjfkssdjfkdsfjdksjfksdsdfdssdfsdds\n"+
"sdfjsdkfjsdlkjfkssdjfkdsfjdksjfksdsdfdssdfsdds\n"+
"sdfjsdkfjsdlkjfkssdjfkdsfjdksjfksdsdfdssdfsdds\n"+
"sdfjsdkfjsdlkjfkssdjfkdsfjdksjfksdsdfdssdfsdds");
}
}); contentPane.add(pane,BorderLayout.CENTER);
contentPane.add(addText,BorderLayout.SOUTH);
} JButton addText;
JTextArea show;
}
解决方案 »
- 比较两个数组的元素?
- 新手学习,请大家推荐一些练习题
- 我是新手请问eclipse中debug怎么操作????
- java中的多线程不太理解
- 超难问题,不信你来瞧!!!!一百分等你拿!!!!!!!!!!!!!!!!!!!!!分不够再加!
- 有没有谁看过《java核心技术》VolumeII ?给点意见吧,我好矛盾~~~(来者有分!)
- 请教计算100以内质数和那里错了?(在线等待)
- 日期处理问题,求大神帮助!
- 面试问题请教
- 求大神指导这句有什么问题ObjectInputStream ob = new ObjectInputStream(fk);
- 奇怪,我用smartupload 上传文件,表单用 multipart/form-data 方式,通过 mysmartupload.getRequest().getParameter("txt_name")得到for
- 小弟初学,设置问题帮助解决,多谢!
this.jTextArea2 .setCaretPosition(0);
大家好好想想啊。我想得快疯了!!!
import java.awt.*;
import java.awt.event.*;
/**
* <p>Title: This follow is newman's writing</p>
* <p>Description: I want better writing ,instead of best one!</p>
* <p>Copyright: Copyright (c) 2002</p>
* <p>Company: [email protected]</p>
* @author Newman
* @version 1.0
*/public class ScrollFrame extends JFrame{
JPanel jPanel1 = new JPanel();
JScrollPane jScrollPane1 = new JScrollPane();
BorderLayout borderLayout1 = new BorderLayout();
JTextArea jTextArea1 = new JTextArea();
JPanel jPanel2 = new JPanel();
String str="gsdklfsdljfsdlkjfdsljfdslkfjslk\n"+
"sdfjsdkfjsdlkjfkssdjfkdsfjdksjfksdsdfdssdfsdds\n"+
"sdfjsdkfjsdlkjfkssdjfkdsfjdksjfksdsdfdssdfsdds\n"+
"sdfjsdkfjsdlkjfkssdjfkdsfjdksjfksdsdfdssdfsdds\n"+
"sdfjsdkfjsdlkjfkssdjfkdsfjdksjfksdsdfdssdfsdds\n"+
"sdfjsdkfjsdlkjfkssdjfkdsfjdksjfksdsdfdssdfsdds\n"+
"sdfjsdkfjsdlkjfkssdjfkdsfjdksjfksdsdfdssdfsdds\n"+
"sdfjsdkfjsdlkjfkssdjfkdsfjdksjfksdsdfdssdfsdds\n"+
"sdfjsdkfjsdlkjfkssdjfkdsfjdksjfksdsdfdssdfsdds\n"+
"sdfjsdkfjsdlkjfkssdjfkdsfjdksjfksdsdfdssdfsdds\n"+
"sdfjsdkfjsdlkjfkssdjfkdsfjdksjfksdsdfdssdfsdds\n"+
"sdfjsdkfjsdlkjfkssdjfkdsfjdksjfksdsdfdssdfsdds\n"+
"sdfjsdkfjsdlkjfkssdjfkdsfjdksjfksdsdfdssdfsdds\n"+
"sdfjsdkfjsdlkjfkssdjfkdsfjdksjfksdsdfdssdfsdds\n"+
"sdfjsdkfjsdlkjfkssdjfkdsfjdksjfksdsdfdssdfsdds\n"+
"sdfjsdkfjsdlkjfkssdjfkdsfjdksjfksdsdfdssdfsdds\n"+
"sdfjsdkfjsdlkjfkssdjfkdsfjdksjfksdsdfdssdfsdds\n"+
"end sdfjsdkfjsdlkjfkssdjfkdsfjdksjfksdsdfdssdfs\n";
JButton jButton1 = new JButton();
JButton jButton2 = new JButton();
public ScrollFrame() {
try {
jbInit();
}
catch(Exception e) {
e.printStackTrace();
}
}
public static void main(String[] args) {
ScrollFrame scrollFrame1 = new ScrollFrame();
scrollFrame1.setSize(200,300);
scrollFrame1.show();
}
private void jbInit() throws Exception {
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE );
jPanel1.setLayout(borderLayout1);
jTextArea1.setText(this.str );
jScrollPane1.setHorizontalScrollBarPolicy(JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS);
jScrollPane1.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_ALWAYS);
jButton1.setText("end");
jButton1.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(ActionEvent e) {
jButton1_actionPerformed(e);
}
});
jButton2.setText("start");
jButton2.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(ActionEvent e) {
jButton2_actionPerformed(e);
}
});
this.getContentPane().add(jPanel1, BorderLayout.CENTER);
jPanel1.add(jScrollPane1, BorderLayout.CENTER);
jPanel1.add(jPanel2, BorderLayout.SOUTH);
jPanel2.add(jButton1, null);
jPanel2.add(jButton2, null);
jScrollPane1.getViewport().add(jTextArea1, null);
} void jButton1_actionPerformed(ActionEvent e) {//end
int height=10;
Point p = new Point();
p.setLocation(0,this.jTextArea1.getLineCount()*height);
this.jScrollPane1.getViewport().setViewPosition(p);
} void jButton2_actionPerformed(ActionEvent e) {//start
Point p = new Point(0,0);
this.jScrollPane1.getViewport().setViewPosition(p);
}
}
从newman0708(nch)的例子可以解决这个问题。多想想 :)