⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 jtextareaexp.java

📁 Java的swing的课堂练习。。 。
💻 JAVA
字号:
/**
 * @(#)JTextAreaExp.java
 *
 *
 * @author 
 * @version 1.00 2007/11/4
 */
import javax.swing.*;
import java.awt.event.*;
import java.awt.*;
import javax.swing.event.*;
import java.util.*;
class Win extends JFrame implements ActionListener,DocumentListener {
 JMenuBar menubar;
 JMenu  menu;
 JSplitPane  splitPane;
 JTextArea left,right;
 JTextField start,end,stra,strb,strc,pos;
 JDialog  dlg1,dlg2,dlg3;
 JLabel  stra1,strb1,strc1,start1,end1,pos1;
 Box baseBox1,box1,box2,baseBox2,box3,box4,baseBox3,box5,box6;
 JMenuItem  itemCopy,itemCut,itemPaste,itemInsert,itemReplace,itemAppend,itemSelectAll;
 Win(String s) {
  super(s);
  menubar=new JMenuBar();
  menu=new JMenu("编辑");
  itemCopy=new JMenuItem("复制");
  itemCut=new JMenuItem("剪切");
  itemPaste=new JMenuItem("粘贴");
  itemInsert=new JMenuItem("插入");
  itemReplace=new JMenuItem("替换");
  itemAppend=new JMenuItem("追加");
  itemSelectAll=new JMenuItem("全选");
  itemCopy.addActionListener(this);
  itemCut.addActionListener(this);
  itemPaste.addActionListener(this);
  itemInsert.addActionListener(this);
  itemReplace.addActionListener(this);
  itemAppend.addActionListener(this);
  itemSelectAll.addActionListener(this);
  menu.add(itemCopy);
  menu.add(itemCut);
  menu.add(itemPaste);
  menu.add(itemInsert);
  menu.add(itemReplace);
  menu.add(itemAppend);
  menu.add(itemSelectAll);
  menubar.add(menu);
  setJMenuBar(menubar);
  left=new JTextArea(10,30);
  right=new JTextArea(10,30);
  splitPane=new JSplitPane(JSplitPane.HORIZONTAL_SPLIT,
  new JScrollPane(left),new JScrollPane(right));
  left.setLineWrap(true);
  left.setWrapStyleWord(true);
  right.setEditable(false);
  (left.getDocument()).addDocumentListener(this);
  setLayout(new BorderLayout());
  add(splitPane,BorderLayout.CENTER);
  start=new JTextField(10);
  end=new JTextField(10);
  pos=new JTextField(10);
  stra=new JTextField(20);
  strb=new JTextField(20);
  strc=new JTextField(20);
  stra1=new JLabel("字符串");
  strb1=new JLabel("字符串");
  strc1=new JLabel("字符串");
  start1=new JLabel("开始位置");
  end1=new JLabel("结束位置");
  pos1=new JLabel("插入位置");
  box1=Box.createVerticalBox();
  box1.add(stra1);
  box1.add(Box.createVerticalStrut(8));
  box1.add(start1);
  box1.add(Box.createVerticalStrut(8));
  box1.add(end1);
  box2=Box.createVerticalBox();
  box2.add(stra);  
  box2.add(Box.createVerticalStrut(8));
  box2.add(start); 
  box2.add(Box.createVerticalStrut(8));
  box2.add(end);
  baseBox1=Box.createHorizontalBox();
  baseBox1.add(box1);
  baseBox1.add(Box.createHorizontalStrut(10));
  baseBox1.add(box2);
  dlg1=new JDialog(this,"文本替换",true);
  dlg1.setLayout(new FlowLayout());
  dlg1.add(baseBox1);
  
   box3=Box.createVerticalBox();
  box3.add(strb1);
  box3.add(Box.createVerticalStrut(8));
  box3.add(pos1); 
  box4=Box.createVerticalBox();
  box4.add(strb);  
  box4.add(Box.createVerticalStrut(8));
  box4.add(pos);  
  baseBox2=Box.createHorizontalBox();
  baseBox2.add(box3);
  baseBox2.add(Box.createHorizontalStrut(10));
  baseBox2.add(box4);
  dlg2=new JDialog(this,"文本插入",true);
  dlg2.setLayout(new FlowLayout());
  dlg2.add(baseBox2);
  
  box5=Box.createVerticalBox();
  box5.add(strc1);  
  box6=Box.createVerticalBox();
  box6.add(strc);   
  baseBox3=Box.createHorizontalBox();
  baseBox3.add(box5);
  baseBox3.add(Box.createHorizontalStrut(10));
  baseBox3.add(box6);
  dlg3=new JDialog(this,"文本追加",true);
  dlg3.setLayout(new FlowLayout());
  dlg3.add(baseBox3);
  
  setSize(500,200);
  setVisible(true);
  validate();
  setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
 }
 public void actionPerformed(ActionEvent e) {
  if (e.getSource()==itemCopy)
  	 left.copy();
  else if (e.getSource()==itemCut)
  	 left.cut();
  else if (e.getSource()==itemPaste)
  	 left.paste();
  else if (e.getSource()==itemInsert)
  {
  	int i=0;
  	dlg2.setSize(600,100);
    dlg2.setVisible(true);
    
    try {
     i=Integer.parseInt(pos.getText());
    }
    catch(NumberFormatException ee){
     System.out.println("position error!");
    }
    left.insert(strb.getText(),i);
  }
  else if (e.getSource()==itemReplace)
  {
  	int i=0,j=0;
  	dlg1.setSize(600,300);
    dlg1.setVisible(true);
    
    try {
     i=Integer.parseInt(start.getText());
    }
    catch(NumberFormatException ee){
     System.out.println("start position error!");
    }
     try {
     j=Integer.parseInt(end.getText());
    }
    catch(NumberFormatException ee){
     System.out.println("start position error!");
    }
    left.replaceRange(stra.getText(),i,j);
  }
  else if (e.getSource()==itemAppend)
  {
  	 dlg3.setSize(600,100);  
  	 dlg3.setVisible(true);  
  	 
    left.append(strc.getText());
  }
  else if (e.getSource()==itemSelectAll) {
  	left.selectAll();
  } 
  	
 }
 public void changedUpdate(DocumentEvent e) {
 	if (e.getDocument()==left.getDocument()) {
 	  String s=left.getText();
 	  StringTokenizer fenxi=new StringTokenizer(s,",'\n'");
 	  int n=fenxi.countTokens();
 	  String a[]=new String[n];
 	  for (int i=0; i<=n-1; i++) {
 	  	String temp=fenxi.nextToken();
 	  	a[i]=temp;
 	  }
 	  Arrays.sort(a);
 	  right.setText(null);
 	  for (int i=0; i<n; i++)
 	  	right.append(a[i]+"\n");
 	  	
 	}
 }
 public void removeUpdate(DocumentEvent e) {
 	changedUpdate(e);
 }
 public void insertUpdate(DocumentEvent e) {
 	changedUpdate(e);
 } 
  
 }

public class JTextAreaExp {
        
    
    public static void main(String[] args) {
        Win mywin=new Win("TextArea Example");
    }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -