java写一个txt阅读器 要求:可以将纯文本的内容显示在屏幕上,可以用上下方向键控制滚屏,也可以自动滚屏。辅助功能:可以调整文字大小、颜色、背景色、滚屏速度请问大侠,这个里边的自动滚屏怎么实现?还有怎么控制公平的速度? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 有一个控件 在swing里面的 JScrollBar import java.awt.BorderLayout;import java.awt.Color;import java.awt.event.MouseEvent;import java.awt.event.MouseListener;import java.util.Date;import java.util.Timer;import java.util.TimerTask;import javax.swing.JButton;import javax.swing.JFrame;import javax.swing.JScrollBar;import javax.swing.JScrollPane;import javax.swing.JTextArea;/** * http://bbs.csdn.net/topics/390325621?page=1#post-393293083 * @author Administrator * */public class AutoMove extends JFrame{ int value; int i; JTextArea jt=new JTextArea("sdgsdagfsafdfgdsgdrerwerweeeeeeeee" +"ddddddddddddddddddddddddddddddddddddddddddddddddddddd"); JScrollPane js=new JScrollPane(jt); JButton jb=new JButton("Auto"); public static void main(String[] args){ new AutoMove();}public AutoMove(){ jt.setLineWrap(true); js.setBackground(Color.red); add(jb,BorderLayout.SOUTH); add(js,BorderLayout.CENTER); setVisible(true); setSize(20,150); final JScrollBar jsb=js.getVerticalScrollBar(); jsb.setMinimum(5); jb.addMouseListener(new MouseListener() { @Override public void mouseReleased(MouseEvent e) { // TODO Auto-generated method stub } @Override public void mousePressed(MouseEvent e) { // TODO Auto-generated method stub final Timer t=new Timer(); value=0; i=1; t.schedule(new TimerTask() { @Override public void run() { jsb.setValue(5*(i++)); if(jsb.getValue()==value){ t.cancel(); } value=jsb.getValue(); } },new Date(),50L); } @Override public void mouseExited(MouseEvent e) { // TODO Auto-generated method stub } @Override public void mouseEntered(MouseEvent e) { // TODO Auto-generated method stub } @Override public void mouseClicked(MouseEvent e) { // TODO Auto-generated method stub } });}} t.cancel()结束了timer不知道如何得到有没有到滑到底部,所以我就判断两次的getValue()值是否相同 你写的很好,Timer我还从来没用过。以前都是用Thread代替了。 昨天想到用timer了但是具体的有些细节就想不通了,各种尝试,各种蛋疼啊。 升星散分 来个稍微高点的高手--牛B最好(服务端和多个客户端问题) 请教一个关于SWING中Image载体的问题 #indef是什么来的? JAVA中怎样利用递归算法删除或复制目录? 文本文件导入sqlserver 为什么我连接ORACLE数据库总是报错? 请高手指点,从C++到Java必碰到的问题 求助-关于写个图形方面的程序 求助:关于Java中日期类的使用 java基础 java同步问题
import java.awt.Color;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
import java.util.Date;
import java.util.Timer;
import java.util.TimerTask;import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JScrollBar;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;/**
* http://bbs.csdn.net/topics/390325621?page=1#post-393293083
* @author Administrator
*
*/
public class AutoMove extends JFrame{
int value;
int i;
JTextArea jt=new JTextArea("sdgsdagfsafdfgdsgdrerwerweeeeeeeee"
+"ddddddddddddddddddddddddddddddddddddddddddddddddddddd");
JScrollPane js=new JScrollPane(jt);
JButton jb=new JButton("Auto");
public static void main(String[] args){
new AutoMove();
}
public AutoMove(){
jt.setLineWrap(true);
js.setBackground(Color.red);
add(jb,BorderLayout.SOUTH);
add(js,BorderLayout.CENTER);
setVisible(true);
setSize(20,150);
final JScrollBar jsb=js.getVerticalScrollBar();
jsb.setMinimum(5);
jb.addMouseListener(new MouseListener() {
@Override
public void mouseReleased(MouseEvent e) {
// TODO Auto-generated method stub
}
@Override
public void mousePressed(MouseEvent e) {
// TODO Auto-generated method stub
final Timer t=new Timer();
value=0;
i=1;
t.schedule(new TimerTask() {
@Override
public void run() {
jsb.setValue(5*(i++));
if(jsb.getValue()==value){
t.cancel();
}
value=jsb.getValue();
}
},new Date(),50L);
}
@Override
public void mouseExited(MouseEvent e) {
// TODO Auto-generated method stub
}
@Override
public void mouseEntered(MouseEvent e) {
// TODO Auto-generated method stub
}
@Override
public void mouseClicked(MouseEvent e) {
// TODO Auto-generated method stub
}
});
}}
不知道如何得到有没有到滑到底部,所以我就判断两次的getValue()值是否相同