现在的位置: 首页 > 综合 > 正文

jtextpane jtextarea 使滚动条到最后(或最前) 通过设置光标位置

2014年03月11日 ⁄ 综合 ⁄ 共 3559字 ⁄ 字号 评论关闭
文章目录

 jtextpane jtextarea 使滚动条到最后(或最前) 通过设置光标位置

jTextPane0.setCaretPosition(jTextPane0.getDocument().getLength());

、、、、、、、、、、、

package PositionEnd;

import javax.swing.JTextPane;

public class PoTh implements Runnable{
 JTextPane jTextPane0;
 public PoTh(JTextPane jTextPane0){
  this.jTextPane0=jTextPane0;
 }

 @Override
 public void run() {
  while(true){
   jTextPane0.setText(jTextPane0.getText()+"\r\nyyyyyyyyvv");
   jTextPane0.setCaretPosition(jTextPane0.getDocument().getLength());
   try {
    Thread.sleep(1000);
    System.out.println(jTextPane0.getText().length());
    
   } catch (InterruptedException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
   }
  }
 }

}

、、、、、

package PositionEnd;

import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JScrollPane;
import javax.swing.JTextPane;
import javax.swing.SwingUtilities;
import javax.swing.UIManager;

import org.dyno.visual.swing.layouts.Constraints;
import org.dyno.visual.swing.layouts.GroupLayout;
import org.dyno.visual.swing.layouts.Leading;

//VS4E -- DO NOT REMOVE THIS LINE!
public class ddd extends JFrame {

 private static final long serialVersionUID = 1L;
 private JTextPane jTextPane0;
 private JButton jButton0;
 private JTextPane jTextPane1;
 private JTextPane jTextPane2;
 private JScrollPane jScrollPane0;
 private static final String PREFERRED_LOOK_AND_FEEL = "javax.swing.plaf.metal.MetalLookAndFeel";
 public ddd() {
  initComponents();
 }

 private void initComponents() {
  setLayout(new GroupLayout());
  add(getJButton0(), new Constraints(new Leading(65, 10, 10), new Leading(153, 10, 10)));
  add(getJScrollPane0(), new Constraints(new Leading(65, 100, 12, 12), new Leading(21, 100, 10, 10)));
  setSize(320, 240);
 }

 private JScrollPane getJScrollPane0() {
  if (jScrollPane0 == null) {
   jScrollPane0 = new JScrollPane();
   jScrollPane0.setViewportView(getJTextPane2());
  }
  return jScrollPane0;
 }

 private JTextPane getJTextPane2() {
  if (jTextPane2 == null) {
   jTextPane2 = new JTextPane();
   jTextPane2.setText("jTextPane2");
  }
  return jTextPane2;
 }

 private JTextPane getJTextPane1() {
  if (jTextPane1 == null) {
   jTextPane1 = new JTextPane();
   jTextPane1.setText("jTextPane1");
  }
  return jTextPane1;
 }

 private JButton getJButton0() {
  if (jButton0 == null) {
   jButton0 = new JButton();
   jButton0.setText("jButton0");
   jButton0.addMouseListener(new MouseAdapter() {
 
    public void mouseClicked(MouseEvent event) {
     jButton0MouseMouseClicked(event);
    }
   });
  }
  return jButton0;
 }

 private JTextPane getJTextPane0() {
  if (jTextPane0 == null) {
   jTextPane0 = new JTextPane();
   jTextPane0.setText("jTextPane0");
  }
  return jTextPane0;
 }

 private static void installLnF() {
  try {
   String lnfClassname = PREFERRED_LOOK_AND_FEEL;
   if (lnfClassname == null)
    lnfClassname = UIManager.getCrossPlatformLookAndFeelClassName();
   UIManager.setLookAndFeel(lnfClassname);
  } catch (Exception e) {
   System.err.println("Cannot install " + PREFERRED_LOOK_AND_FEEL
     + " on this platform:" + e.getMessage());
  }
 }

 /**
  * Main entry of the class.
  * Note: This class is only created so that you can easily preview the result at runtime.
  * It is not expected to be managed by the designer.
  * You can modify it as you like.
  */
 public static void main(String[] args) {
  installLnF();
  SwingUtilities.invokeLater(new Runnable() {
   @Override
   public void run() {
    ddd frame = new ddd();
    frame.setDefaultCloseOperation(ddd.EXIT_ON_CLOSE);
    frame.setTitle("ddd");
    frame.getContentPane().setPreferredSize(frame.getSize());
    frame.pack();
    frame.setLocationRelativeTo(null);
    frame.setVisible(true);
   }
  });
 }

 private void jButton0MouseMouseClicked(MouseEvent event) {
  PoTh th1=new PoTh(this.jTextPane2);
  Thread th=new Thread(th1);
  th.start();
 }

}

 

抱歉!评论已关闭.