按上箭头文档向下滚动一行,按下箭头向上滚动一行,如何实现?另外,如何将光标定位到指定行上?

解决方案 »

  1.   

    你可以使用JScrollPane使JTextArea具备滚动的能力,或是搭配setLineWrap()方法就能让文字自动换行。import java.awt.*;
    import java.awt.event.*;
    import javax.swing.*;public class JTextArea2{
      public static void main(String[] args){
        JFrame f=new JFrame("JTextArea2");
        Container contentPane=f.getContentPane();
        contentPane.setLayout(new BorderLayout());
        
        JPanel p1=new JPanel();
        p1.setLayout(new GridLayout(1,1));
        p1.setBorder(BorderFactory.createTitledBorder("构造TextArea-使用GridLayout,加ScrollBar"));
        
        JTextArea t1=new JTextArea(5,25);
        t1.setTabSize(10);
        t1.setFont(new Font("标楷体",Font.BOLD,16));
        t1.setLineWrap(true);//激活自动换行功能
          t1.setWrapStyleWord(true);//激活断行不断字功能
          
          p1.add(new JScrollPane(t1));//将JTextArea放入JScrollPane中,这样就能利用滚动的效果看到输入超过JTextArea高度的
                                      //文字.
          contentPane.add(p1);
          f.pack();
          f.show();
          f.addWindowListener(new WindowAdapter(){
            public void windowClosing(WindowEvent e){
             System.exit(0);
            }
          });
      }
    }
      

  2.   

    //上面这位把代码已经说了:你可以使用JScrollPane使JTextArea具备滚动的能力,或是搭配setLineWrap()方法就能让文字自动换行。如果是在设计视图下面,先在左边JScrollPane(在swing containers下),在design界面上点一下,注意这个时候界面是没有任何变化的,但其实已经把JScrollPane加上去了。你会发现左边Structure目录栏下的this目录下,多了个jScrollPane1项目。这就对了。呵呵现在在设计视图中选中 jtextarea ,点一下 左边structure目录栏的jscrollpane1,这样会发现在jscroolpane1下多了个jtextarea1,ok!最后在右边属性栏里把属性改应该一下就行了!
      

  3.   

    同意 wddlqd(快乐的人)
    JTextArea只要放在JScrollPane,就可以顯示出滾動條,如果必要
    scrollPane.setViewPortView(textArea);
      

  4.   

    不知是不是我表达的不够清楚,给JTextArea加上滚动条我知道怎么做,我想知道的是怎么用光标的上下键来使文本滚动一行,一般情况下,光标只有再文本域的上端和下端时,上下键才会使文本再文本域中滚动,否则仅仅是光标上下移动。另外,如何使光标定位到某一指定行?
      

  5.   

    文本阅读器,比如象Adobe Reader一样