记事本代码





import java.awt.*;
import java.awt.event.*;
import java.awt.*;
import javax.swing.*;
import java.lang.*;
import java.text.*;
import java.io.*;
import java.util.*;
import javax.accessibility.*;
import java.awt.datatransfer.*;



// 课设 记事本
/*****************************************************************************************************************/


public class Notepad extends JFrame implements ActionListener,MouseListener
{
JPanel contentPane;

JMenuBar jMenuBar1 = new JMenuBar();

//工具条
JToolBar toolBar = new JToolBar();
JButton button1=new JButton(new ImageIcon("new.gif"));
JButton button2=new JButton(new ImageIcon("open.gif"));
JButton button3=new JButton(new ImageIcon("save.gif"));

//文件菜单
JMenu jMenuFile = new JMenu();
JMenuItem jMenuFileNew = new JMenuItem();
JMenuItem jMenuFileOpen = new JMenuItem();
JMenuItem jMenuFileSave = new JMenuItem();
JMenuItem jMenuFileSaveTo = new JMenuItem();
JMenuItem jMenuFileExit = new JMenuItem();

//帮助菜单
JMenu jMenuHelp = new JMenu();
JMenuItem jMenuHelpAbout = new JMenuItem();
BorderLayout borderLayout1 = new BorderLayout();

//编辑菜单
JMenu jMenuFileEdit = new JMenu();
JMenuItem jMenuFileCut = new JMenuItem();
JMenuItem jMenuFileCopy = new JMenuItem();
JMenuItem jMenuFilePaste = new JMenuItem();
JMenuItem jMenuFileDel = new JMenuItem();

//右键菜单
JMenuItem jMenuMouseCut = new JMenuItem("剪切");
JMenuItem jMenuMouseCopy = new JMenuItem("复制");
JMenuItem jMenuMousePaste = new JMenuItem("粘贴");
JMenuItem jMenuMouseDel = new JMenuItem("删除");

//格式菜单
JMenu jMenuFileForm = new JMenu();
JMenuItem jMenuFileFindNext = new JMenuItem();
JMenuItem jMenuFileSelect=new JMenuItem("全选");
JMenuItem jMenuFileTime = new JMenuItem("时间/日期(D)");
// JMenuItem jMenuFileLine = new JMenuItem("自动换行");
JMenuItem jMenuFileFont = new JMenuItem();
JMenuItem jcolor=new JMenuItem("颜色...");
JCheckBox jMenuCheckBox = new JCheckBox("自动换行",true);

JTextArea jTextArea1 = new JTextArea(15,15);
JLabel statubar=new JLabel("状态栏");
JPopupMenu pm=new JPopupMenu();

Calendar cal=Calendar.getInstance();

// 变量声明
String filename;
String filepath;
String strtext="";
boolean bsaved = false;
JFileChooser jFileChooser = new JFileChooser();
JColorChooser jColor=new JColorChooser();
FileDialog filedialog_save;
BufferedWriter out;
FileWriter tofile;
Clipboard cb=Toolkit.getDefaultToolkit().getSystemClipboard();
int n;
int i;
int t;
boolean check=true;
FileDialog dog;


/*****************************************************************************************************************/
//组件初始化

public Notepad(){
contentPane = (JPanel) this.getContentPane();
contentPane.setLayout(borderLayout1);
this.setBounds(110,100,500, 450);
this.setFont(new Font("宋体", Font.PLAIN, 8));
this.setTitle("记事本");

jTextArea1.setDoubleBuffered(false);
jTextArea1.setToolTipText("记事本");
jTextArea1.setVerifyInputWhenFocusTarget(true);
jTextArea1.setText("");

contentPane.add(statubar,borderLayout1.SOUTH);

toolBar.add(button1);
toolBar.add(button2);
toolBar.add(button3);

jMenuFile.setText("文件");
jMenuFileExit.setText("退出");


jMenuHelp.setText("帮助");
jMenuHelpAbout.setText("关于");

jMenuFileNew.setText("新建(N)");
jMenuFileNew.setMnemonic(KeyEvent.VK_N);
KeyStroke keynew=KeyStroke.getKeyStroke(KeyEvent.VK_N,Event.CTRL_MASK);
jMenuFileNew.setAccelerator(keynew);

jMenuFileOpen.setText("打开(O)...");
jMenuFileOpen.setMnemonic(KeyEvent.VK_O);
KeyStroke keyopen=KeyStroke.getKeyStroke(KeyEvent.VK_O,Event.CTRL_MASK);
jMenuFileOpen.setAccelerator(keyopen);

jMenuFileSave.setText("保存(S)");
jMenuFileSave.setMnemonic(KeyEvent.VK_S);
KeyStroke keysave=KeyStroke.getKeyStroke(KeyEvent.VK_S,Event.CTRL_MASK);
jMenuFileSave.setAccelerator(keysave);


jMenuFileSaveTo.setText("另存为(A)");


jMenuFileEdit.setText("编辑");
jMenuFileCut.setText("剪切(T)");
jMenuFileCut.setMnemonic(KeyEvent.VK_X);
KeyStroke keycut=KeyStroke.getKeyStroke(KeyEvent.VK_O,Event.CTRL_MASK);
jMenuFileCut.setAccelerator(keycut);


jMenuFileCopy.setText("复制(C)");
jMenuFileCopy.setMnemonic(KeyEvent.VK_C);
KeyStroke keycopy=KeyStroke.getKeyStroke(KeyEvent.VK_C,Event.CTRL_MASK);
jMenuFileCopy.setAccelerator(keycopy);


jMenuFilePaste.setText("粘贴(P)");
jMenuFilePaste.setMnemonic(KeyEvent.VK_V);
KeyStroke keypaste=KeyStroke.getKeyStroke(KeyEvent.VK_V,Event.CTRL_MASK);
jMenuFilePaste.setAccelerator(keypaste);


jMenuFileDel.setText("删除(L)");

jMenuFileFindNext.setText("查找");
jMenuFileFindNext.setMnemonic(KeyEvent.VK_F);
KeyStroke keyfind=KeyStroke.getKeyStroke(KeyEvent.VK_F,Event.CTRL_MASK);
jMenuFileFindNext.setAccelerator(keyfind);

jMenuFileForm.setText("格式");
jMenuFileFont.setText("字体");
// jMenuFileLine.setText("自动换行");
// jMenuCheckBox.setText("自动换行");



jMenuBar1.add(jMenuFile);
jMenuBar1.add(jMenuFileEdit);
jMenuBar1.add(jMenuFileForm);
jMenuBar1.add(jMenuHelp);


jMenuFile.add(jMenuFileNew);
jMenuFile.add(jMenuFileOpen);
jMenuFile.add(jMenuFileSave);
jMenuFile.add(jMenuFileSaveTo);

jMenuFile.addSeparator();

jMenuFile.add(jMenuFileExit);


jMenuFileEdit.add(jMenuFileCut);
jMenuFileEdit.add(jMenuFileCopy);
jMenuFileEdit.add(jMenuFilePaste);
jMenuFileEdit.add(jMenuFileDel);



jMenuFileEdit.addSeparator();


// jMenuFileEdit.add(jMenuFileFind);
jMenuFileEdit.add(jMenuFileFindNext);
jMenuFileEdit.add(jMenuFileSelect);
jMenuFileEdit.add(jMenuFileTime);

// jMenuFileForm.add(jMenuFileLine);
jMenuFileForm.add(jMenuFileFont);
jMenuFileForm.add(jcolor);
jMenuFileForm.add(jMenuCheckBox);

jMenuHelp.add(jMenuHelpAbout);


contentPane.add(jTextArea1, BorderLayout.CENTER);
//鼠标菜单
jTextArea1.add(pm);
pm.add(jMenuMouseCut);
pm.add(jMenuMouseCopy);
pm.add(jMenuMousePaste);
pm.add(jMenuMouseDel);

//滚动条控件
JScrollPane scroller = new JScrollPane();
JViewport port = scroller.getViewport();
contentPane.add("Center", scroller);
contentPane.add("North",toolBar);
port.add(jTextArea1);

this.setJMenuBar(jMenuBar1);


setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);


//添加菜单中的监听器
jTextArea1.addMouseListener(this);

File_new_actionAdapter fnew=new File_new_actionAdapter();
jMenuFileNew.addActionListener(fnew);
button1.addActionListener(fnew);

File_open_actionAdapter fopen=new File_open_actionAdapter();
jMenuFileOpen.addActionListener(fopen);
button2.addActionListener(fopen);

File_save_actionAdapter fsave=new File_save_actionAdapter();
jMenuFileSave.addActionListener(fsave);
button3.addActionListener(fsave);

File_saveto_actionAdapter fsaveto=new File_saveto_actionAdapter();
jMenuFileSaveTo.addActionListener(fsaveto);

File_close_actionAdapter fclose=new File_close_actionAdapter();
jMenuFileExit.addActionListener(fclose);

jMenuFileCut.addActionListener(this);
jMenuFileCopy.addActionListener(this);
jMenuFilePaste.addActionListener(this);
jMenuFileDel.addActionListener(this);
//鼠标事件
jMenuMouseCut.addActionListener(this);
jMenuMouseCopy.addActionListener(this);
jMenuMousePaste.addActionListener(this);
jMenuMouseDel.addActionListener(this);

jMenuFileFindNext.addActionListener(this);
jMenuFileSelect.addActionListener(this);
jMenuFileTime.addActionListener(this);

jMenuFileFont.addActionListener(this);
// jMenuFileLine.addActionListener(this);
jMenuCheckBox.addActionListener(this);
jcolor.addActionListener(this);
jMenuHelpAbout.addActionListener(this);

show();
validate();
}

/*****************************************************************************************************************/
//调用的函数
public void File_new_actionPerformed(ActionEvent e){
FileNew();
}

public void File_open_actionPerformed(ActionEvent e){
FileOpen();
}

public void File_save_actionPerformed(ActionEvent e){
FileSave();
}

public void File_saveto_actionPerformed(ActionEvent e){
FileSaveTo();
}

public void File_close_actionPerformed(ActionEvent e){
FileClose();
}

public void mouseReleased(MouseEvent e){
if(e.isPopupTrigger())
pm.show(this,e.getX(),e.getY());
}

public void mouseClicked(MouseEvent e){}
public void mouseEntered(MouseEvent e){}
public void mouseExited(MouseEvent e){}
public void mousePressed(MouseEvent e){}


boolean toExit()
{
if(bsaved)
return true;

int i=JOptionPane.showConfirmDialog(this,"是否保存文件","Jishiben",JOptionPane.YES_NO_CANCEL_OPTION);
switch(i)
{
case JOptionPane.YES_OPTION:
return true;
case JOptionPane.NO_OPTION:
return false;
case JOptionPane.CANCEL_OPTION:
return false;
default:
return false;
}
}


//调用文件新建

void FileNew()
{
if(bsaved){
this.jTextArea1.setText("");
this.jTextArea1.setFocusable(true);
this.setTitle("未命名");
this.statubar.setText("新建文本");
}
else FileSaveTo();
}

//调用文件打开

void FileOpen()
{
String strFileOpen="";
if(bsaved){
try{
if(this.jFileChooser.APPROVE_OPTION==this.jFileChooser.showOpenDialog(this)){
strFileOpen=this.jFileChooser.getSelectedFile().getPath();
File file=new File(strFileOpen);
int flength=(int)file.length();
int num=0;
FileReader fReader=new FileReader(file);
char[] data=new char[flength];
while(fReader.ready()){
num+=fReader.read(data,num,flength-num);
}
fReader.close();
jTextArea1.setText(new String(data,0,num));
filename=strFileOpen;
this.setTitle(filename);
statubar.setText("打开:"+filename);
updateFname();
bsaved=false;
}
else
return ;
}catch(Exception e){
statubar.setText("Error Open:"+e.getMessage());
}
}
else
FileSave();

}

//调用保存对话框

boolean FileSave()
{
if(filename==null){
return FileSaveTo();
}
if(!bsaved){
if(filename.length()!=0){
try{
File saveFile=new File(filename);

FileWriter fw=new FileWriter(saveFile);
fw.write(jTextArea1.getText());
fw.close();
statubar.setText("保存文件:"+filename);
bsaved=true;
updateFname();
}catch(Exception e)
{
statubar.setText("保存出错: "+e.getMessage());
}
}
else{
return FileSaveTo();
}
}
return true;

}

//调用另存对话框

boolean FileSaveTo()
{
if(jFileChooser.APPROVE_OPTION==jFileChooser.showSaveDialog(this)){
filename=jFileChooser.getSelectedFile().getPath();

return FileSave();
}
else{
return false;
}
}

//更改标题

void updateFname(){
String str;
if(filename==null){
str="无标题";
}
else{
str=filename;
}
if(!bsaved){
str="记事本"+str;
}
this.setTitle(str);
this.repaint();
}

//文件关闭

void FileClose(){
if(!bsaved){
if(toExit()){
FileSave();
}
else {
System.exit(0);
}
}
else{
System.exit(0);
}
}

//调用编辑剪切

void FileCut (ActionEvent e)
{

try{
String str=this.jTextArea1.getSelectedText();
if(str.length()!=0){
StringSelection s = new StringSelection(str);
cb.setContents(s,s);
this.jTextArea1.replaceRange("",this.jTextArea1.getSelectionStart(),this.jTextArea1.getSelectionEnd());
bsaved =false;
}
}catch(Exception ex){
this.statubar.setText("剪切出错:"+ex.getMessage());
}

}

//调用编辑复制

void FileCopy(ActionEvent e)
{

try{
String str=this.jTextArea1.getSelectedText();
if(str.length()!=0){
StringSelection s = new StringSelection(str);
cb.setContents(s,s);
}
}catch(Exception ex)
{
this.statubar.setText("复制出错!"+ex.getMessage());
}

}

//调用编辑粘贴

void FilePaste(ActionEvent e)
{
try
{
Transferable tr =cb.getContents(this);
if (tr != null)
{
String s = (String)tr.getTransferData(DataFlavor.stringFlavor);
if(s!=null)
jTextArea1.replaceRange(s,jTextArea1.getSelectionStart(),jTextArea1.getSelectionEnd());
//this.jTextArea1.insert(s,this.jTextArea1.getCaretPosition());
bsaved =false;
}
}
catch (Exception err)
{
err.printStackTrace();
}
}

//调用编辑删除

void FileDel(ActionEvent e)
{
jTextArea1.replaceRange("",jTextArea1.getSelectionStart(),jTextArea1.getSelectionEnd());
bsaved =false;
}

//调用编辑查找

void FileFindNext(ActionEvent e)
{
new Frame1(jTextArea1);
}

//时间

void FileTime(ActionEvent e){
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
jTextArea1.append("\r\n当前时间:"+sdf.format(new Date()));
bsaved =false;
}

//全选

void AllSelect(ActionEvent e){
jTextArea1.setSelectionStart(0);
jTextArea1.setSelectionEnd(this.jTextArea1.getText().length());
}

//换行

void FileLine(ActionEvent e){
if(!jTextArea1.getLineWrap()){
jTextArea1.setLineWrap(true);
}
else{
jTextArea1.setLineWrap(false);
}
} //有问题

// 颜色

public void fcolor(ActionEvent e){
Color bcolor=jTextArea1.getForeground();
jColor.setColor(bcolor);
jTextArea1.setForeground(
jColor.showDialog(jTextArea1,"选择颜色",bcolor));

}

//调用关于对话框

void HelpAboutDialog(ActionEvent e)
{
JOptionPane.showMessageDialog(this,"版权:龙骨败..","关于记事本",JOptionPane.INFORMATION_MESSAGE);

}



/****************************************************************************************************************/
//行为事件

public void actionPerformed(ActionEvent e)
{

if (e.getSource() == jMenuFileCut)
{
FileCut(e);
}
else if (e.getSource() == jMenuFileCopy)
{
FileCopy(e);
}
else if (e.getSource() == jMenuFilePaste)
{
FilePaste(e);
}
else if (e.getSource() == jMenuFileDel)
{
FileDel(e);
}
else if (e.getSource()==jMenuMouseCut)
{
FileCut(e);
}
else if (e.getSource()==jMenuMouseCopy)
{
FileCopy(e);
}
else if (e.getSource()==jMenuMousePaste)
{
FilePaste(e);
}
else if (e.getSource()==jMenuMouseDel)
{
FileDel(e);
}
else if (e.getSource() == jMenuFileFindNext)
{
FileFindNext(e);
}
else if(e.getSource() ==jMenuFileSelect){
AllSelect(e);
}
else if (e.getSource() ==jMenuFileTime){
FileTime(e);
}
else if(e.getSource()==jMenuCheckBox){
if(check){
FileLine(e);
}
//check=!check;
}
else if (e.getSource() == jMenuFileFont)
{
new Bfont(jTextArea1);
}
else if (e.getSource() == jcolor)
{
fcolor(e);
}
else if (e.getSource() == jMenuHelpAbout)
{
HelpAboutDialog(e);
}

}

/****************************************************************************************************************/
//主函数

public static void main(String args[]){
new Notepad();
}

//*********************************************************
class File_new_actionAdapter implements ActionListener {
public void actionPerformed(ActionEvent e){
File_new_actionPerformed(e);
}

}

class File_open_actionAdapter implements ActionListener {
public void actionPerformed(ActionEvent e){
File_open_actionPerformed(e);
}

}
class File_save_actionAdapter implements ActionListener {
public void actionPerformed(ActionEvent e){
File_save_actionPerformed(e);
}

}
class File_saveto_actionAdapter implements ActionListener {
public void actionPerformed(ActionEvent e){
File_saveto_actionPerformed(e);
}

}
class File_close_actionAdapter implements ActionListener {
public void actionPerformed(ActionEvent e){
File_close_actionPerformed(e);
}
}

//****************************************************************
//查找类
class Frame1 extends JDialog implements ActionListener {
JButton jButton1 = new JButton();
JButton jButton2 = new JButton();
JButton jButton3 = new JButton();

JLabel jLabel1 = new JLabel();
JLabel jLabel2 = new JLabel();
JTextField jTextField1 = new JTextField();
JTextField jTextField2 = new JTextField();
JCheckBox jCheckBox1 = new JCheckBox("区分大小写",true);
JRadioButton[] teams = new JRadioButton[2];
ButtonGroup jj=new ButtonGroup();
String findstr;

public Frame1(JTextArea jTextArea1) {
try {
findstr=jTextArea1.getText();
jbInit();
}
catch(Exception e) {
e.printStackTrace();
}
}


public void jbInit() throws Exception {
this.getContentPane().setLayout(null);
this.setBounds(120,120,380, 150);
this.setTitle("查找");
this.setModal(true);

jButton1.setText("下一个");
jButton1.setBounds(new Rectangle(273, 7, 91, 20));

Button1Listener next=new Button1Listener();
jButton1.addActionListener(next);

jButton3.setText("替换");
jButton3.setBounds(new Rectangle(273, 36, 91, 20));
Button3Listener replace =new Button3Listener();
jButton3.addActionListener(replace);

jButton2.setText("取消");
jButton2.setBounds(new Rectangle(273, 65, 91, 20));
Button2Listener cancel=new Button2Listener();
jButton2.addActionListener(cancel);


jLabel1.setText("查找内容 :");
jLabel1.setBounds(new Rectangle(7, 10, 72, 19));
jTextField1.setBounds(new Rectangle(78, 12, 182, 19));

jLabel2.setText("替换为 :");
jLabel2.setBounds(new Rectangle(7, 36, 72, 19));
jTextField2.setBounds(new Rectangle(78, 36, 182, 19));

jCheckBox1.setBounds(new Rectangle(7, 85, 89, 25));
jCheckBox1.addActionListener(this);

teams[0]=new JRadioButton("向上",false);
teams[0].setBounds(new Rectangle(98, 85, 68, 22));
teams[0].addActionListener(this);

teams[1]=new JRadioButton("向下",true);
teams[1].setBounds(new Rectangle(178, 85, 62, 25));
teams[1].addActionListener(this);

jj.add(teams[0]);
jj.add(teams[1]);

this.getContentPane().add(jButton1, null);
this.getContentPane().add(jButton2, null);
this.getContentPane().add(jButton3, null);
this.getContentPane().add(jLabel1, null);
this.getContentPane().add(jLabel2, null);
this.getContentPane().add(jTextField1, null);
this.getContentPane().add(jTextField2, null);
this.getContentPane().add(jCheckBox1, null);
this.getContentPane().add(teams[0], null);
this.getContentPane().add(teams[1], null);
show();
}

public void actionPerformed(ActionEvent e){
if (e.getSource() == jCheckBox1){
if(check){
findstr=findstr.toLowerCase();
}
else
findstr=jTextArea1.getText();
check=!check;
}

}

public void processWindowEvent(WindowEvent e) {
super.processWindowEvent(e);
if(e.getID() == WindowEvent.WINDOW_CLOSED) {
System.exit(0);
}
}

public void find(){
String text1=jTextField1.getText();
if(check){
text1=text1.toLowerCase();
}
int index,
i=jTextArea1.getSelectionStart();
t=jTextArea1.getSelectionEnd();

if(teams[0].isSelected()){
String ftp=findstr.substring(0,i);
index = ftp.lastIndexOf(text1);
if(index!=-1){
i=index-1;

jTextArea1.select(index,index+text1.length());
}
else
JOptionPane.showMessageDialog(this,"找不到"+text1,"提示",JOptionPane.INFORMATION_MESSAGE);

}
else {
index = findstr.indexOf(text1,t);
if(index!=-1){
t=index+text1.length();
jTextArea1.select(index,index+text1.length());
}
else
JOptionPane.showMessageDialog(this,"找不到"+text1,"提示",JOptionPane.INFORMATION_MESSAGE);

}
this.repaint();

}
//替换
public void replace(){
String text2=jTextField2.getText();
int star=jTextArea1.getSelectionStart();
int end=jTextArea1.getSelectionEnd();
if(star!=end){
jTextArea1.replaceRange(text2,star,end);
}
else
JOptionPane.showMessageDialog(this,"请确定要查找的内容","提示",JOptionPane.INFORMATION_MESSAGE);
}

class Button1Listener implements ActionListener {
public void actionPerformed(ActionEvent e){
find();
}

}

class Button2Listener implements ActionListener {
public void actionPerformed(ActionEvent e){
hide();
}
}

class Button3Listener implements ActionListener {
public void actionPerformed(ActionEvent e){
replace();
}
}


}


//字体类
public class Bfont extends JDialog {
JPanel contentPane;
JLabel jLabel1 = new JLabel();
String[] data1 = {"Arial", "Arial Black", "Arial Narrow", "Book Antiqua","Bookman Old Style","Century Gothic","Comic Sans MS","Courier","Fixedsys","Garamond"};
JList jList1 = new JList(data1);
JLabel jLabel2 = new JLabel();
String[] data2 = {"常规", "斜体", "粗体", "粗斜体"};
JList jList2 = new JList(data2);
JLabel jLabel3 = new JLabel();
String[] data3 = {"10", "11", "12", "14","16","18","20"};
JList jList3 = new JList(data3);
JButton jButton1 = new JButton();
JComboBox jComboBox1 = new JComboBox();
JLabel jLabel4 = new JLabel();
JTextField jTextField1 = new JTextField("败");
JTextField jTextField2 = new JTextField("Arial");
JTextField jTextField3 = new JTextField("常规");
JTextField jTextField4 = new JTextField("10");
JButton jButton2 = new JButton();

int index;
String ziti;
int daxiao;
int zixing;

public Bfont(JTextArea jTextArea1) {
enableEvents(AWTEvent.WINDOW_EVENT_MASK);
try {
jbInit();
}
catch(Exception e) {
e.printStackTrace();
}
}

private void jbInit() throws Exception {

contentPane = (JPanel) this.getContentPane();
contentPane.setLayout(null);
this.getContentPane().setBackground(Color.lightGray);
this.setSize(new Dimension(440,315));
this.setTitle("字体");
this.setModal(true);

jLabel1.setText("字体");
jLabel1.setBounds(new Rectangle(11, 10, 65, 23));
jTextField2.setBounds(new Rectangle(8, 40, 138, 20));

jList1.setToolTipText("提示");
jList1.setSelectedIndex(0);
jList1.setBounds(new Rectangle(8, 61, 138, 115));
jLabel2.setText("字型");
jLabel2.setBounds(new Rectangle(158, 10, 65, 23));
jTextField3.setBounds(new Rectangle(152, 40, 109, 20));

jList2.setSelectedIndex(0);
jList2.setBounds(new Rectangle(152, 61, 109, 115));
jLabel3.setText("大小");
jLabel3.setBounds(new Rectangle(273, 10, 65, 23));
jTextField4.setBounds(new Rectangle(267, 40, 66, 20));

jList3.setSelectedIndex(0);
jList3.setBounds(new Rectangle(267, 61, 66, 115));


jButton1.setBounds(new Rectangle(344, 38, 81, 26));
jButton1.setText("确定");
jComboBox1.setBounds(new Rectangle(151, 215, 181, 22));
jLabel4.setText("字符集");
jLabel4.setBounds(new Rectangle(152, 188, 65, 23));
jTextField1.setBackground(Color.lightGray);
jTextField1.setEnabled(false);
jTextField1.setBounds(new Rectangle(10, 194, 127, 79));

jButton2.setBounds(new Rectangle(345, 83, 79, 26));
jButton2.setText("取消");


contentPane.add(jLabel1, null);
contentPane.add(jLabel4, null);
contentPane.add(jComboBox1, null);
contentPane.add(jLabel3, null);
contentPane.add(jLabel2, null);
contentPane.add(jList1, null);
contentPane.add(jButton1, null);
contentPane.add(jButton2, null);
contentPane.add(jList3, null);
contentPane.add(jList2, null);
contentPane.add(jTextField4, null);
contentPane.add(jTextField3, null);
contentPane.add(jTextField2, null);
contentPane.add(jTextField1, null);

jComboBox1.addItem("西方");
jComboBox1.addItem("华文");

Button1Listener fok=new Button1Listener();
jButton1.addActionListener(fok);

Button2Listener fon=new Button2Listener();
jButton2.addActionListener(fon);

MouseListener mouseListener1 = new MouseAdapter() {
public void mouseClicked(MouseEvent e) {
if (e.getClickCount() == 1) {
index = jList1.locationToIndex(e.getPoint());
jList1.setSelectedIndex(index);
jTextField2.setText(jList1.getSelectedValue().toString());
ziti=jTextField2.getText();

}
}
};
MouseListener mouseListener2 = new MouseAdapter() {
public void mouseClicked(MouseEvent e) {
if (e.getClickCount() == 1) {
index = jList2.locationToIndex(e.getPoint());
jList2.setSelectedIndex(index);
String zip=jList2.getSelectedValue().toString();
jTextField3.setText(zip);
if(zip.compareTo("常规")==0){
zixing=Font.PLAIN;
}
else if(zip.compareTo("斜体")==0){
zixing=Font.ITALIC;
}
else if(zip.compareTo("粗体")==0){
zixing=Font.BOLD;
}
// jTextField2.setFont(new Font(ziti, zixing, daxiao));
}
}
};
MouseListener mouseListener3 = new MouseAdapter() {
public void mouseClicked(MouseEvent e) {
if (e.getClickCount() == 1) {
index = jList3.locationToIndex(e.getPoint());
jList3.setSelectedIndex(index);
jTextField4.setText(jList3.getSelectedValue().toString());
daxiao=Integer.parseInt(jTextField4.getText());
// jTextField2.setFont(new Font(ziti, zixing, daxiao));
}
}
};
jList1.addMouseListener(mouseListener1);
jList2.addMouseListener(mouseListener2);
jList3.addMouseListener(mouseListener3);
show();
}

void sfont(){
// String ziti=jTextField2.getText();
// int daxiao=Integer.parseInt(jTextField4.getText());

jTextArea1.setDragEnabled(true);
jTextArea1.setFont(new Font(ziti, zixing, daxiao));

}

class Button1Listener implements ActionListener {
public void actionPerformed(ActionEvent e){
sfont();
//有问题 si
// hide();
}
}

class Button2Listener implements ActionListener {
public void actionPerformed(ActionEvent e){
hide();
}
}

public void processWindowEvent(WindowEvent e) {
super.processWindowEvent(e);
if(e.getID() == WindowEvent.WINDOW_CLOSED) {
System.exit(0);
}
}

}

}

没有评论: