java 的demo里有notePad这个源代码

解决方案 »

  1.   

    哈哈 jdk自带的demo下就有一个
      

  2.   

    编写窗口
    自己写就ok啦找本<jfc核心编程>
    看看就ok啦
      

  3.   

    搞个JFrame,里面添加个JTextArea,然后美观一下界面,就这么简单!
      

  4.   

    import java.io.*;import javax.swing.*;public class SimpleSwingTextEditor {    private JFrame frame = null; //  @jve:decl-index=0:visual-constraint="19,7"    private javax.swing.JPanel jContentPane = null;    private javax.swing.JPanel jPanel = null;    private javax.swing.JButton jButton = null;    private javax.swing.JButton jButton1 = null;    private javax.swing.JButton jButton2 = null;    private javax.swing.JScrollPane jScrollPane = null;    private javax.swing.JTextArea jTextArea = null;    private javax.swing.JFileChooser jFileChooser = null;    private boolean hasChanged = false;    private static final String title = "Simple Swing Text Editor";    public static void main(String[] args) {
            SimpleSwingTextEditor thisClass = new SimpleSwingTextEditor();
            thisClass.createFrame();
            thisClass.frame.show();
        }    private void createFrame() {
            jButton = new javax.swing.JButton();
            jButton.setText("Load File");
            jButton.addActionListener(new java.awt.event.ActionListener() {
                public void actionPerformed(java.awt.event.ActionEvent e) {
                    loadFile();
                }
            });
            
            jButton1 = new javax.swing.JButton();
            jButton1.setText("Save File");
            jButton1.addActionListener(new java.awt.event.ActionListener() {
                public void actionPerformed(java.awt.event.ActionEvent e) {
                    saveFile();
                }
            });        jButton2 = new javax.swing.JButton();
            jButton2.setText("Exit");
            jButton2.addActionListener(new java.awt.event.ActionListener() {
                public void actionPerformed(java.awt.event.ActionEvent e) {
                    doExit();
                }
            });        jPanel = new javax.swing.JPanel();
            jPanel.add(jButton, null);
            jPanel.add(jButton1, null);
            jPanel.add(jButton2, null);        jTextArea = new javax.swing.JTextArea();
            jTextArea.addKeyListener(new java.awt.event.KeyAdapter() {
                public void keyTyped(java.awt.event.KeyEvent e) {
                    if (!hasChanged) {
                        frame.setTitle(title + " *");
                        hasChanged = true;
                    }
                }
            });        jScrollPane = new javax.swing.JScrollPane();
            jScrollPane.setViewportView(jTextArea);        jFileChooser = new javax.swing.JFileChooser();
            jFileChooser.setMultiSelectionEnabled(false);        frame = new JFrame();
            frame.setSize(480, 284);
            frame.setTitle(title);
            frame.setDefaultCloseOperation(javax.swing.WindowConstants.DO_NOTHING_ON_CLOSE);
            frame.addWindowListener(new java.awt.event.WindowAdapter() {
                public void windowClosing(java.awt.event.WindowEvent e) {
                    doExit();
                }
            });        jContentPane=(JPanel)(frame.getContentPane());
            jContentPane.setLayout(new java.awt.BorderLayout());
            jContentPane.add(jPanel, java.awt.BorderLayout.SOUTH);
            jContentPane.add(jScrollPane, java.awt.BorderLayout.CENTER);
            jContentPane.setBorder(javax.swing.BorderFactory.createEmptyBorder(
                    5, 5, 5, 5));
        }    private void loadFile() {
            int state = jFileChooser.showOpenDialog(frame);
            if (state == JFileChooser.APPROVE_OPTION) {
                File f = jFileChooser.getSelectedFile();
                try {
                    BufferedReader br = new BufferedReader(new FileReader(f));
                    jTextArea.read(br, null);
                    br.close();
                    frame.setTitle(title);
                    hasChanged = false;
                } catch (FileNotFoundException e1) {
                    e1.printStackTrace();
                } catch (IOException e1) {
                    e1.printStackTrace();
                }
            }
        }    private void saveFile() {
            int state = jFileChooser.showSaveDialog(frame);
            if (state == JFileChooser.APPROVE_OPTION) {
                File f = jFileChooser.getSelectedFile();
                try {
                    BufferedWriter bw = new BufferedWriter(new FileWriter(f));
                    jTextArea.write(bw);
                    bw.close();
                    frame.setTitle(title);
                    hasChanged = false;
                } catch (FileNotFoundException e1) {
                    e1.printStackTrace();
                } catch (IOException e1) {
                    e1.printStackTrace();
                }
            }
        }    private void doExit() {
            if (hasChanged) {
                int state = JOptionPane.showConfirmDialog(frame,
                        "File has been changed. Save before exit?","Save Changes?",JOptionPane.YES_NO_CANCEL_OPTION);
                if (state == JOptionPane.YES_OPTION) {
                    saveFile();
                } else if (state == JOptionPane.CANCEL_OPTION) {
                    return;
                }
            }
            System.exit(0);
        }
    }