其实JAVA自带的例子就也有用JAVA写的记事本,在demo/jfc目录下。
import java.io.*;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.event.*;
import java.net.*;
import java.awt.Font;
import java.awt.print.*;
import javax.swing.text.*;
import java.awt.datatransfer.*;
public class Mynote extends JFrame
{
public boolean changed; //控制文本域内文字是否改变情况。
public JTextArea jta=new JTextArea("", 60,60);
public JScrollPane jsp=new JScrollPane(jta);
public JMenuBar jmb;
public JMenu jm,editjm,setjm,viewjm,helpjm;
public JMenuItem newjmi,openjmi,savejmi,saveasjmi,printjmi,exitjmi;
public JSeparator js1=new JSeparator();
public JSeparator js2=new JSeparator();
public ActionListener al=new A();
public String fileName=""; //定义保存的文件名
public JMenuItem copyjmi,pastejmi,cutjmi,findjmi,findnjmi,deletejmi,selectalljmi,undojmi;
public JMenuItem fontjmi,fjmi,bjmi; //font设置字体样式
public JMenuItem toolsjmi;
public JMenuItem aboutjmi;
public JSeparator js3=new JSeparator();
public JSeparator js4=new JSeparator();
public JToolBar jtb;
public String quick[]=new String[]{"new","open","save","saveas","delete","copy","paste","cut","selectall"};
PrinterJob prtMe = PrinterJob.getPrinterJob();
public Mynote()
{
this.setTitle("我的记事本");
this.setSize(new Dimension(400,400));
jta.getDocument().addDocumentListener(new DocumentListener()
{
public void insertUpdate(DocumentEvent e)
{
changed=true;
}
public void removeUpdate(DocumentEvent e)
{
changed=true;
}
public void changedUpdate(DocumentEvent e)
{
changed=true;
}
}
);
jta.setBackground(Color.white);
jta.setForeground(Color.black);
jta.setFont(new Font("",Font.BOLD,12));
jsp.setViewportView(jta);
this.getContentPane().add(jsp,BorderLayout.CENTER);
this.Compose();
this.setJMenuBar(jmb);
this.addWindowListener(new WindowAdapter()
{
public void windowClosing(WindowEvent e)
{
if(changed==true)
{
int n;
Object[] option={"是","否"};
n=JOptionPane.showOptionDialog(null,
"你的文件还没有保存,请保存后关闭!",
"请保存",
JOptionPane.YES_NO_OPTION,
JOptionPane.QUESTION_MESSAGE,
null,
option,
option[0]);
switch(n)
{
case JOptionPane.YES_OPTION:
doSave(fileName);
break;
case JOptionPane.NO_OPTION:
break;
default: break;
}
}
System.exit(0);
}
});
}
public void Compose()
{
//文件菜单布局newjmi,openjmi,savejmi,saveasjmi,printjmi,exitjmi
jmb=new JMenuBar();
jm=new JMenu();
editjm=new JMenu();
newjmi=new JMenuItem();
openjmi=new JMenuItem();
savejmi=new JMenuItem();
saveasjmi=new JMenuItem();
printjmi=new JMenuItem();
exitjmi=new JMenuItem();
js1=new JSeparator();
js2=new JSeparator();
jm.setMnemonic(KeyEvent.VK_F);//定义快捷键
jm.setText("文件");
newjmi.setMnemonic(KeyEvent.VK_N);
newjmi.setText("新建");
newjmi.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_N,InputEvent.CTRL_MASK));
newjmi.addActionListener(al);
jm.add(newjmi);
jm.add(js1);//or:jm.addSeparator();
openjmi.setMnemonic(KeyEvent.VK_O);
openjmi.setText("打开");
openjmi.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_O,InputEvent.CTRL_MASK));
openjmi.addActionListener(al);
jm.add(openjmi);
savejmi.setMnemonic(KeyEvent.VK_S);
savejmi.setText("保存");
savejmi.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_S,InputEvent.CTRL_MASK));
savejmi.addActionListener(al);
jm.add(savejmi);
saveasjmi.setMnemonic(KeyEvent.VK_A);
saveasjmi.setText("另存为");
saveasjmi.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_A,InputEvent.CTRL_MASK));
saveasjmi.addActionListener(al);
jm.add(saveasjmi);
printjmi.setMnemonic(KeyEvent.VK_A);
printjmi.setText("打印");
printjmi.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_P,InputEvent.CTRL_MASK));
printjmi.addActionListener(al);
jm.add(printjmi);
jm.add(js2);
exitjmi.setMnemonic(KeyEvent.VK_X);
exitjmi.setText("退出");
exitjmi.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_X,InputEvent.CTRL_MASK));
exitjmi.addActionListener(al);
jm.add(exitjmi);
//文件菜单设置结束。copyjmi,pastejmi,cutjmi,findjmi,findnjmi,deletejmi,selectalljmi,undojmi;
editjm.setText("编辑");
editjm.setMnemonic(KeyEvent.VK_E);
copyjmi=new JMenuItem();
pastejmi=new JMenuItem();
cutjmi=new JMenuItem();
findjmi=new JMenuItem();
findnjmi=new JMenuItem();
deletejmi=new JMenuItem();
selectalljmi=new JMenuItem();
undojmi=new JMenuItem();
copyjmi.setText("复制");
copyjmi.setMnemonic(KeyEvent.VK_C);
copyjmi.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_C,InputEvent.CTRL_MASK));
copyjmi.addActionListener(al);
editjm.add(copyjmi);
pastejmi.setText("粘贴");
pastejmi.setMnemonic(KeyEvent.VK_P);
pastejmi.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_V,InputEvent.CTRL_MASK));
pastejmi.addActionListener(al);
editjm.add(pastejmi);
cutjmi.setText("剪切");
cutjmi.setMnemonic(KeyEvent.VK_X);
cutjmi.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_X,InputEvent.CTRL_MASK));
cutjmi.addActionListener(al);
editjm.add(cutjmi);
editjm.add(js3);
findjmi.setText("查找");
findjmi.setMnemonic(KeyEvent.VK_F);
findjmi.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_F,InputEvent.CTRL_MASK));
findjmi.addActionListener(al);
findnjmi.setText("查找下一个");
findnjmi.addActionListener(al);
editjm.add(findjmi);
editjm.add(findnjmi);
editjm.addSeparator();
deletejmi.setText(" 删除");
deletejmi.setMnemonic(KeyEvent.VK_D);
deletejmi.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_D,InputEvent.CTRL_MASK));
deletejmi.addActionListener(new delete());
selectalljmi.setText("全选");
selectalljmi.setMnemonic(KeyEvent.VK_S);
selectalljmi.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_S,InputEvent.CTRL_MASK));
selectalljmi.addActionListener(new selectAllL());
undojmi.setText("撤消");
undojmi.setMnemonic(KeyEvent.VK_U);
undojmi.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_U,InputEvent.CTRL_MASK));
undojmi.addActionListener(al);
editjm.add(deletejmi);
editjm.add(selectalljmi);
editjm.add(undojmi);//编辑菜单设置结束
setjm=new JMenu();
setjm.setText("设置");
setjm.setMnemonic(KeyEvent.VK_S);
fjmi=new JMenuItem();
fjmi.setText("字体颜色...");
fjmi.setMnemonic(KeyEvent.VK_F);
fjmi.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_M,InputEvent.CTRL_MASK));
fjmi.addActionListener(al);
fontjmi=new JMenuItem();
fontjmi.setText("字体样式...");
fontjmi.setMnemonic(KeyEvent.VK_I);
fontjmi.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_I,InputEvent.CTRL_MASK));
fontjmi.addActionListener(al);
bjmi=new JMenuItem();
bjmi.setText("背景颜色...");
bjmi.setMnemonic(KeyEvent.VK_B);
bjmi.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_B,InputEvent.CTRL_MASK));
bjmi.addActionListener(al);
setjm.add(fjmi);
setjm.add(fontjmi);
setjm.add(bjmi);
viewjm=new JMenu();
viewjm.setText("视图");
viewjm.setMnemonic(KeyEvent.VK_W);
toolsjmi=new JMenuItem();
toolsjmi.setText("工具栏");
toolsjmi.setMnemonic(KeyEvent.VK_T);
toolsjmi.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_T,InputEvent.CTRL_MASK));
toolsjmi.addActionListener(al);
viewjm.add(toolsjmi);
helpjm=new JMenu();
helpjm.setText("帮助");
helpjm.setMnemonic(KeyEvent.VK_H);
aboutjmi=new JMenuItem();
aboutjmi.setText("关于");
aboutjmi.setMnemonic(KeyEvent.VK_A);
aboutjmi.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_A,InputEvent.CTRL_MASK));
aboutjmi.addActionListener(al);
helpjm.add(aboutjmi);
jmb.add(jm);
jmb.add(editjm);
jmb.add(setjm);
jmb.add(viewjm);
jmb.add(helpjm);
jtb=new JToolBar();
jtb.setFloatable(false);
addButtons();
this.getContentPane().add(jtb,BorderLayout.PAGE_START);
definePopupMenu();
}
public void definePopupMenu()
{
JPopupMenu popupjm=new JPopupMenu();
MouseListener ml=new popuplistener(popupjm);
JMenuItem jmi=null;
jmi=new JMenuItem("新建");
jmi.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
newactionlistener();
}
});
popupjm.add(jmi);
popupjm.addSeparator();
jmi=new JMenuItem("打开");
jmi.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
openactionlistener();
}
});
popupjm.add(jmi);
jmi=new JMenuItem("保存");
jmi.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
doSave(fileName);
}
});
popupjm.add(jmi);
jmi=new JMenuItem("另保存");
jmi.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
doSaveAs();
}
});
popupjm.add(jmi);
popupjm.addSeparator();
jmi=new JMenuItem("查找");
jmi.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
new Finder(Mynote.this,jta).show();
}
});
popupjm.add(jmi);
popupjm.addSeparator();
jmi=new JMenuItem("复制");
jmi.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
jta.copy();
}
});
popupjm.add(jmi);
jmi=new JMenuItem("粘贴");
jmi.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
jta.paste();
}
});
popupjm.add(jmi);
jmi=new JMenuItem("剪切");
jmi.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
jta.cut();
}
});
popupjm.add(jmi);
popupjm.addSeparator();
jmi=new JMenuItem("文字颜色");
jmi.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
Color newColor=JColorChooser.showDialog(Mynote.this,"请选择文字颜色",jta.getForeground());
jta.setForeground(newColor);
}
});
popupjm.add(jmi);
jmi=new JMenuItem("背景颜色");
jmi.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
Color newColor=JColorChooser.showDialog(Mynote.this,"请选择背景颜色",jta.getBackground());
jta.setBackground(newColor);
}
});
popupjm.add(jmi);
jta.addMouseListener(ml);
}
class popuplistener extends MouseAdapter
{
JPopupMenu popupjm;
public popuplistener(JPopupMenu popupjm)
{
this.popupjm=popupjm;
}
public void mousePressed(MouseEvent e)
{
executeTrigger(e);
}
public void mouseReleased(MouseEvent e)
{
executeTrigger(e);
}
public void executeTrigger(MouseEvent e)
{
if(e.isPopupTrigger())
popupjm.show(e.getComponent(),e.getX(),e.getY());
}
}
public void addButtons()
{
JButton jb[]=new JButton[9];
{
jb[0]=new JButton();
addListeners(jb[0],quick[0]);
jb[0].setToolTipText(quick[0]);
jb[0].setIcon(createImage("0.gif"));
jtb.add(jb[0]);
}
{jb[1]=new JButton();
addListeners(jb[1],quick[1]);
jb[1].setToolTipText(quick[1]);
jb[1].setIcon(createImage("1.gif"));
jtb.add(jb[1]);
}
{
jb[2]=new JButton();
addListeners(jb[2],quick[2]);
jb[2].setToolTipText(quick[2]);
jb[2].setIcon(createImage("2.gif"));
jtb.add(jb[2]);
}
{
jb[3]=new JButton();
addListeners(jb[3],quick[3]);
jb[3].setToolTipText(quick[3]);
jb[3].setIcon(createImage("3.gif"));
jtb.add(jb[3]);
}
{
jb[4]=new JButton();
addListeners(jb[4],quick[4]);
jb[4].setToolTipText(quick[4]);
jb[4].setIcon(createImage("4.gif"));
jtb.add(jb[4]);
}
{
jb[5]=new JButton();
addListeners(jb[5],quick[5]);
jb[5].setToolTipText(quick[5]);
jb[5].setIcon(createImage("5.gif"));
jtb.add(jb[5]);
}
{
jb[6]=new JButton();
addListeners(jb[6],quick[6]);
jb[6].setToolTipText(quick[6]);
jb[6].setIcon(createImage("6.gif"));
jtb.add(jb[6]);
}
{
jb[7]=new JButton();
addListeners(jb[7],quick[7]);
jb[7].setToolTipText(quick[7]);
jb[7].setIcon(createImage("7.gif"));
jtb.add(jb[7]);
}
{
jb[8]=new JButton();
addListeners(jb[8],quick[8]);
jb[8].setToolTipText(quick[8]);
jb[8].setIcon(createImage("8.gif"));
jtb.add(jb[8]);
}
}
public void addListeners(JButton jb,String actionCommand)
{
if(actionCommand.equals(quick[0]))
{
jb.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
newactionlistener();
}
});
}
else if(actionCommand.equals(quick[1]))
{
jb.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
openactionlistener();
}
});
}
else if(actionCommand.equals(quick[2]))
{
jb.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
doSave(fileName);
}
});
}
else if(actionCommand.equals(quick[3]))
{
jb.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
doSaveAs();
}
});
}
else if(actionCommand.equals(quick[4]))
{
jb.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
jta.copy();
}
});
}
else if(actionCommand.equals(quick[5]))
{
jb.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
jta.paste();
}
});
}
else if(actionCommand.equals(quick[6]))
{
jb.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
jta.cut();
}
});
}
else if(actionCommand.equals(quick[7]))
{
jb.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
jta.cut();
}
});
}
else if(actionCommand.equals(quick[8]))
{
jb.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
jta.selectAll();
}
});
}
else
{
jb.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
jta.cut();
}
});
}
}
public ImageIcon createImage(String str)
{
java.net.URL url=Mynote.class.getResource(str);
if(url==null) return null;
else
return new ImageIcon(url);
}
public static void main(String args[])
{
new Mynote().show();
}
public void newactionlistener()
{
if(changed==true)
{
int n;
Object option[]={"YES","NO","CANCEL"};
n=JOptionPane.showOptionDialog(null,
"你的文件还没有保存呢,你想现在保存吗?",
"保存",
JOptionPane.YES_NO_CANCEL_OPTION,
JOptionPane.QUESTION_MESSAGE,
null,
option,
option[0]);
switch(n)
{
case JOptionPane.YES_OPTION:
doSave(fileName); //保存文件
fileName=""; //清空文件名
jta.setText(""); //清空编辑区
changed=false; //新建文件后,把更新标志改为false;
break;
case JOptionPane.NO_OPTION:
fileName="";
jta.setText("");
changed=false;
break;
case JOptionPane.CANCEL_OPTION:
break;
default:
break;
}
}
else
{
fileName="";
jta.setText("");
}
}
public void openactionlistener()
{
FileDialog fd=new FileDialog(Mynote.this,"Open...",FileDialog.LOAD);
fd.show();
if(fd.getFile()==null) //如果没有选择文件,则返回
return;
fileName=fd.getDirectory()+File.separator+fd.getFile();//取得文件名[包括路径]
FileInputStream fis=null; //定义时先初始化
String str1=null;
try
{
fis=new FileInputStream(fileName);
int size=fis.available();
byte bytes[]=new byte[size];
fis.read(bytes); // 读取文件
str1=new String(bytes); //建立字符串数组
}catch(IOException e1)
{}
finally
{
try
{
fis.close();
}catch(IOException e2){}
}
if(str1!=null){jta.setText(str1);}
changed=false;
}
class A implements ActionListener
{
public void actionPerformed(ActionEvent e)
{
Object o=e.getSource();
JMenuItem jmi=(JMenuItem)o;
if(jmi==newjmi)
{
newactionlistener();
}
else if(jmi==openjmi)
{
openactionlistener();
}
else if(jmi==savejmi)
{
doSave(fileName);
}
else if(jmi==saveasjmi)
{
doSaveAs();
}
else if(jmi==exitjmi)
{
if(changed==true)
{
int n;
Object[] option={"YES","NO"};
n=JOptionPane.showOptionDialog(null,
"你的文件还没有保存呢,你想现在保存吗?",
"保存",
JOptionPane.YES_NO_OPTION,
JOptionPane.QUESTION_MESSAGE,
null,
option,
option[0]);
switch(n)
{
case JOptionPane.YES_OPTION:
doSave(fileName);
break;
case JOptionPane.NO_OPTION:
break;
default: break;
}
}
System.exit(0);
}
else if(jmi==copyjmi)
{
jta.copy();
}
else if(jmi==pastejmi)
{
jta.paste();
}
else if(jmi==cutjmi)
{
jta.cut();
}
else if(jmi==findjmi)
{
new Finder(Mynote.this,jta).show();
}
else if(jmi==selectalljmi)
{
jta.selectAll();
}
else if(jmi==deletejmi)
{
jta.cut();
}
else if(jmi==fontjmi)
{
Color newColor=JColorChooser.showDialog(Mynote.this,"选择字体颜色",jta.getForeground());
if(newColor!=null) jta.setForeground(newColor);
}
else if(jmi==fjmi)
{
Color newColor=JColorChooser.showDialog(Mynote.this,"选择字体颜色",jta.getForeground());
if(newColor!=null) jta.setForeground(newColor);
}
else if(jmi==bjmi)
{
Color newColor=JColorChooser.showDialog(Mynote.this,"选择背景颜色",jta.getBackground());
if(newColor!=null) jta.setBackground(newColor);
}
else if(jmi==aboutjmi)
{
new About(Mynote.this,true);
}
else;
}
}
public void doSave(String fileName)
{
if(fileName=="")
{
doSaveAs();
return;
}
FileOutputStream fos=null;
String str3=jta.getText();
try
{
fos=new FileOutputStream(fileName);
fos.write(str3.getBytes());
}catch(IOException e1){}
finally
{
try
{fos.close();}catch(IOException e2){}
}
changed=false;
}
public void undo(String fileName)
{
if(fileName=="")
{
doSaveAs();
return;
}
FileOutputStream fos=null;
String str3=jta.getText();
try
{
fos=new FileOutputStream(fileName);
fos.write(str3.getBytes());
}catch(IOException e1){}
finally
{
try
{fos.close();}catch(IOException e2){}
}
changed=false;
}
public void doSaveAs()
{
FileDialog fd=new FileDialog(Mynote.this,"Save...",FileDialog.SAVE);
fd.show();
if(fd.getFile()==null) return;
fileName=fd.getDirectory()+File.separator+fd.getFile();
String str4=jta.getText();
FileOutputStream fos=null;
try
{
fos=new FileOutputStream(fileName);
fos.write(str4.getBytes());
}catch(IOException e1){}
finally
{
try{fos.close();}catch(IOException e2){}
}
changed=false;
}
}
class jtaL implements ActionListener
{
public void actionPerformed(ActionEvent e)
{
}
}
class print implements ActionListener
{ PrinterJob prtMe = PrinterJob.getPrinterJob();
public void actionPerformed(ActionEvent e)
{
try
{
prtMe.print();
}
catch(Exception ew)
{
}
}
}
class delete implements ActionListener
{ JTextArea jta;
public void actionPerformed(ActionEvent e)
{
String selection = jta.getSelectedText();
jta.replaceRange("", jta.getSelectionStart(),
jta.getSelectionEnd());
}
}
class selectAllL implements ActionListener
{ JTextArea jta;
public void actionPerformed(ActionEvent e)
{
jta.selectAll();
}
}
class Finder extends JDialog implements ActionListener
{
JFrame jf;
JTextArea jta;
JButton findButton,closeButton;
JPanel findPane,buttonPane;
JLabel findLabel;
JTextField jtf;
public Finder(JFrame jf,JTextArea jta)
{
super(jf,true); //JDialog的构造方法。必须是第一句。
super.setTitle("查找");
super.getContentPane().setLayout(new GridBagLayout());
this.jf=jf;
this.jta=jta;
Composes();
this.setLocationRelativeTo(jf);
this.pack();
this.requestFocus();
this.addWindowListener(new WindowAdapter()
{
public void windowClosing(WindowEvent e)
{
Finder.this.dispose();
}
});
}
public void Composes()
{
GridBagConstraints gbag=new GridBagConstraints();//GridBagLayout要和GridBagConstraints一起用才有效果。
gbag.fill=GridBagConstraints.HORIZONTAL;
gbag.weightx=1.0;
gbag.insets=new Insets(0,5,0,0);
findButton=new JButton();
closeButton=new JButton();
findPane=new JPanel();
buttonPane=new JPanel();
findLabel=new JLabel();
jtf=new JTextField();
findPane.setLayout(new GridBagLayout());
findLabel.setText("查找内容");
findLabel.setLabelFor(jtf);
findPane.add(findLabel,new GridBagConstraints());
jtf.addActionListener(this); //在文本框里面按回车键。
findPane.add(jtf,gbag);
gbag=new GridBagConstraints();
gbag.fill=GridBagConstraints.BOTH;
gbag.insets=new Insets(11,12,0,11);
this.getContentPane().add(findPane,gbag);
buttonPane.setLayout(new GridBagLayout());
findButton.setText("查找");
findButton.setMnemonic(KeyEvent.VK_F);
findButton.setToolTipText("查找");
findButton.addActionListener(this);
buttonPane.add(findButton,new GridBagConstraints());
closeButton.setText("关闭");
closeButton.setMnemonic(KeyEvent.VK_C);
closeButton.setToolTipText("关闭");
closeButton.addActionListener(this);
gbag=new GridBagConstraints();
gbag.insets=new Insets(0,5,0,0);
buttonPane.add(closeButton,gbag);
gbag=new GridBagConstraints();
gbag.gridx=0;gbag.gridy=1;
gbag.anchor=GridBagConstraints.SOUTHEAST;
gbag.insets=new Insets(17,12,11,11);
this.getContentPane().add(buttonPane,gbag);
}
public void actionPerformed(ActionEvent e)
{
String textStr=jta.getText();
String findStr=jtf.getText();
if(findStr.equals(""));
else
{
int index=textStr.indexOf(findStr);
if(index!=-1)//找到查找的内容
{
jta.setCaretPosition(index);
}
else
Toolkit.getDefaultToolkit().beep();
}
this.dispose();
}
}
class About extends JDialog
{
JFrame jf;
JTextField jtf;
public About(JFrame jf,boolean b)
{
super(jf,b);
this.jf=jf;
Composes();
this.getContentPane().add(jtf,BorderLayout.CENTER);
super.setLocationRelativeTo(jf);
super.pack();
this.addWindowListener(new WindowAdapter(){public void windowClosing(WindowEvent e){About.this.dispose();}});
super.show();
}
public void Composes()
{
jtf=new JTextField();
jtf.setBackground(new Color(0xffffff));
jtf.setEditable(false);
jtf.setText("谢谢");
}
}