import java.awt.*; import java.awt.event.*; import javax.swing.*; import java.text.*; import java.io.*; import java.util.*; import java.awt.Color;import java.lang.*; import java.text.*; import java.util.*; import javax.accessibility.*; import java.awt.datatransfer.*; public class Sword_Code{ public static void main(String args[]){ new TextGUI(); }} class TextGUI extends JFrame{//############################################################private变量 private String open; private String xinjianS; JTextArea textArea; JMenuItem setcolor; JColorChooser jColor=new JColorChooser(); JFileChooser jFileChooser = new JFileChooser(); //_________________________________________________________________________________ TextGUI(){ super("记事本"); Container container=getContentPane(); container.setLayout(new FlowLayout()); //***************JMenu所有***************** JMenuBar bar=new JMenuBar(); setJMenuBar(bar); JMenu fileMenu=new JMenu("File"); fileMenu.setMnemonic('F'); JMenu aboutMenu=new JMenu("About"); aboutMenu.setMnemonic('A'); JMenu windowface=new JMenu("Windows"); windowface.setMnemonic('W'); JMenu editJMenu=new JMenu("Edit"); editJMenu.setMnemonic('e'); JMenu formatMenu=new JMenu("格式"); JMenu settingMenu=new JMenu("设置"); JToolBar toolbar=new JToolBar(); //_______________________________________________________________________________//--------------------------------------------------------JButton工具类JButton newbutton=new JButton(new ImageIcon("images/new.gif")); JButton openbutton=new JButton(new ImageIcon("images/open.gif")); JButton savebutton=new JButton(new ImageIcon("images/save.gif")); JButton saveasbutton=new JButton(new ImageIcon("images/saveas.gif")); JButton cutbutton=new JButton(new ImageIcon("images/cut.gif")); JButton copybutton=new JButton(new ImageIcon("images/copy.gif")); JButton pastebutton=new JButton(new ImageIcon("images/paste.gif")); JButton undobutton=new JButton(new ImageIcon("images/undo.gif")); JButton findbutton=new JButton(new ImageIcon("images/find.gif")); //-_______________________________________________________________________________ //****************JTextArea************* JScrollPane roll=new JScrollPane(); textArea=new JTextArea(100,93); roll.getViewport().add(textArea); textArea.setLineWrap(false); container.add(roll);//_______________________________________________________________________________ //*********************JMenuBar ******************** bar.add(fileMenu); bar.add(aboutMenu); bar.add(editJMenu); bar.add(windowface); bar.add(formatMenu); bar.add(toolbar);//添加按钮到工具条toolbar.add(newbutton); toolbar.addSeparator(); toolbar.add(openbutton); toolbar.add(savebutton); toolbar.add(saveasbutton); toolbar.addSeparator(); toolbar.add(cutbutton); toolbar.add(copybutton); toolbar.add(pastebutton); toolbar.addSeparator(); toolbar.add(undobutton); toolbar.addSeparator(); toolbar.add(findbutton); //_______________________________________________________________________________ //******************** JMenultem**************************************JMenuItem openItem=new JMenuItem("打开");//第一个打开JMenuItem xinjianItem=new JMenuItem("保存");//JMenuItem exitItem=new JMenuItem("退出"); JRadioButtonMenuItem javaface=new JRadioButtonMenuItem("Java外观感觉"); JRadioButtonMenuItem motifface=new JRadioButtonMenuItem("Motif外观感觉"); JRadioButtonMenuItem windowsface=new JRadioButtonMenuItem("Windows外观感觉"); final JCheckBoxMenuItem autonewline=new JCheckBoxMenuItem("自动换行"); //编辑JMenuItem textcopy=new JMenuItem("复制"); JMenuItem textcut =new JMenuItem("剪切"); JMenuItem textpaste=new JMenuItem("粘贴"); JMenuItem textdelete=new JMenuItem("删除");//格式JMenuItem textdelete1=new JMenuItem("清除"); JMenuItem setfont=new JMenuItem("字体"); setcolor=new JMenuItem("颜色"); JMenuItem checkall=new JMenuItem("全选");JMenuItem timeanddate=new JMenuItem("时间/日期"); //_______________________________________________________________________________ //-------------------------------add JRadioButtonMenuItem fileMenu.add(openItem); fileMenu.add(xinjianItem); fileMenu.addSeparator(); windowface.add(javaface); windowface.add(motifface); windowface.add(windowsface); settingMenu.add(autonewline); fileMenu.add(exitItem); editJMenu.add(textcopy); editJMenu.add(textcut); editJMenu.add(textpaste); editJMenu.add(textdelete); formatMenu.add(textdelete1);//格式 formatMenu.add(settingMenu); formatMenu.add(checkall); formatMenu.addSeparator(); formatMenu.add(setfont); formatMenu.add(setcolor); formatMenu.addSeparator(); formatMenu.add(timeanddate); //_______________________________________________________________________________ //*********EditJMenu******************************* pack(); show(); setVisible(true); setBounds(200,200,600,450);//#############################################################Item-listener动作监听 openItem.addActionListener(new ActionListener(){ public void actionPerformed(ActionEvent event){ FileOpen();} }); xinjianItem.addActionListener(new ActionListener(){ public void actionPerformed(ActionEvent event){ fileSave(); } }); this.addWindowListener(new WindowAdapter(){ public void windowClosing(WindowEvent e){ System.exit(0); } });//------------------------------------------------------------------------------------ //--------------------------------------------------********退出exitItem的监听类 exitItem.addActionListener(new ActionListener(){ public void actionPerformed(ActionEvent event){ if(textArea.getText().equals("")) //=true的时候文本无字 System.exit(0); else JOptionPane.showMessageDialog(null,"退出有误","错误",JOptionPane.INFORMATION_MESSAGE); } }); //--------------------------------------------------------------------------------------------//--------------------------------------------------********自动换行autonewline的监听 autonewline.addActionListener(new ActionListener(){ public void actionPerformed(ActionEvent event){ if(autonewline.getState()==false) textArea.setLineWrap(true); else textArea.setLineWrap(false); } }); //清除监听 textdelete1.addActionListener(new ActionListener(){ public void actionPerformed(ActionEvent event){ textArea.setText(""); } }); //时间 timeanddate.addActionListener(new ActionListener(){ public void actionPerformed(ActionEvent event){ FileTime(event); } });//颜色 setcolor.addActionListener(new ActionListener(){ public void actionPerformed(ActionEvent e){ fcolor(e); } } ); //-------------------------------------------------------------------------------------- }//--------------------------------------------------------------------------方法 //打开void FileOpen() { int result=jFileChooser.showOpenDialog(this); String currentFilePath = null; File file = null; String currentFileName = null; if(result == JFileChooser.APPROVE_OPTION){ try { currentFilePath = jFileChooser.getSelectedFile().getPath(); file = new File(currentFilePath); FileInputStream aboutFileInputStream=new FileInputStream(file); InputStreamReader aboutInputStream=new InputStreamReader(aboutFileInputStream); BufferedReader aboutBuffer=new BufferedReader(aboutInputStream); String c;String output=""; while((c=aboutBuffer.readLine())!=null){ output+=c; } textArea.setText(output); aboutBuffer.close(); } catch(NullPointerException e){ System.out.println(e.toString()); } catch(FileNotFoundException e){ System.out.println(e.toString()); } catch(IOException e){ System.out.println(e.toString()); }} if(result == JFileChooser.CANCEL_OPTION){ }}//保存void fileSave(){ int result=jFileChooser.showSaveDialog(this); String currentFilePath = null; File file = null; if(result == JFileChooser.APPROVE_OPTION){ try { currentFilePath = jFileChooser.getSelectedFile().getPath(); file = new File(currentFilePath); FileWriter fw=new FileWriter(file,true); BufferedWriter bw=new BufferedWriter(fw); bw.write(textArea.getText()); bw.newLine(); bw.close(); } catch(NullPointerException e){ System.out.println(e.toString()); } catch(FileNotFoundException e){ System.out.println(e.toString()); } catch(IOException e){ System.out.println(e.toString()); }} if(result == JFileChooser.CANCEL_OPTION){ } }//时间 void FileTime(ActionEvent e){ SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); textArea.append("\r\n当前时间:"+sdf.format(new Date())); }//颜色public void fcolor(ActionEvent e){Color bcolor=textArea.getForeground(); jColor.setColor(bcolor); textArea.setForeground( jColor.showDialog(textArea,"选择颜色",bcolor)); }//________________________________________________________________________________________ public void KeyTyped(KeyEvent e){ if(e.getKeyChar()=='q') JOptionPane.showInputDialog("输入文件地址"); else JOptionPane.showInputDialog("34114"); } public void KeyPressed(KeyEvent e){ } public void KeyReleased(KeyEvent e){ }}

评论