Swing 记事本小例子【IDE:JBuilder】

类NotepadFrame

 

package notepad;

import java.awt.BorderLayout;
import java.awt.Dimension;

import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JMenuBar;
import javax.swing.JMenu;
import javax.swing.JMenuItem;
import javax.swing.JRadioButtonMenuItem;
import javax.swing.JCheckBoxMenuItem;
import javax.swing.JScrollPane;
import java.awt.Rectangle;
import javax.swing.JTextArea;
import javax.swing.ButtonGroup;
import java.awt.event.MouseEvent;
import java.awt.event.MouseAdapter;
import javax.swing.JPopupMenu;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JFileChooser;
import java.io.*;
import java.awt.*;


public class NotepadFrame extends JFrame {

    JPanel contentPane;
    JMenuBar jMenuBar1 = new JMenuBar();
    JMenu jMenu1 = new JMenu();
    JMenuItem jMenuItem1 = new JMenuItem();
    JMenuItem jMenuItem2 = new JMenuItem();
    JMenuItem jMenuItem3 = new JMenuItem();
    JMenuItem jMenuItem4 = new JMenuItem();
    JMenu jMenu2 = new JMenu();
    JMenuItem jMenuItem5 = new JMenuItem();
    JMenuItem jMenuItem6 = new JMenuItem();
    JMenuItem jMenuItem7 = new JMenuItem();
    JMenuItem jMenuItem8 = new JMenuItem();
    JMenuItem jMenuItem9 = new JMenuItem();
    JMenu jMenu3 = new JMenu();
    JMenuItem jMenuItem11 = new JMenuItem();
    JMenuItem jMenuItem12 = new JMenuItem();
    JMenu jMenu4 = new JMenu();
    JMenuItem jMenuItem14 = new JMenuItem();
    JMenu jMenu5 = new JMenu();
    JMenu jMenu6 = new JMenu();
    JCheckBoxMenuItem jCheckBoxMenuItem1 = new JCheckBoxMenuItem();
    JCheckBoxMenuItem jCheckBoxMenuItem2 = new JCheckBoxMenuItem();
    JCheckBoxMenuItem jCheckBoxMenuItem3 = new JCheckBoxMenuItem();
    JRadioButtonMenuItem jRadioButtonMenuItem1 = new JRadioButtonMenuItem();
    JRadioButtonMenuItem jRadioButtonMenuItem2 = new JRadioButtonMenuItem();
    JRadioButtonMenuItem jRadioButtonMenuItem3 = new JRadioButtonMenuItem();
    JScrollPane jScrollPane1 = new JScrollPane();
    JTextArea jTextArea1 = new JTextArea();
    ButtonGroup buttonGroup1 = new ButtonGroup();
    JPopupMenu jp=new JPopupMenu();
    JMenuItem jMenuItem10 = new JMenuItem();
    JMenuItem jMenuItem13 = new JMenuItem();
    JMenuItem jMenuItem15 = new JMenuItem();
    JFileChooser jfc=new JFileChooser();
    JScrollPane jScrollPane2 = new JScrollPane();
    JTextArea txatext = new JTextArea();
    public NotepadFrame() {
        try {
            setDefaultCloseOperation(EXIT_ON_CLOSE);
            jbInit();
        } catch (Exception exception) {
            exception.printStackTrace();
        }
    }

    /**
     * Component initialization.
     *
     * @throws java.lang.Exception
     */
    private void jbInit() throws Exception {
        contentPane = (JPanel) getContentPane();
        contentPane.setLayout(null);
        this.setJMenuBar(jMenuBar1);
        setSize(new Dimension(400, 300));
        setTitle("记事本");
        jMenu1.setText("文件");
        jMenuItem1.setText("打开");
        jMenuItem1.addActionListener(new NotepadFrame_jMenuItem1_actionAdapter(this));
        jMenuItem2.setText("保存");
        jMenuItem2.addActionListener(new NotepadFrame_jMenuItem2_actionAdapter(this));
        jMenuItem3.setText("另存为");
        jMenuItem4.setText("退出");
        jMenuItem4.addActionListener(new NotepadFrame_jMenuItem4_actionAdapter(this));
        jMenu2.setText("编辑");
        jMenuItem5.setText("复制");
        jMenuItem6.setText("剪切");
        jMenuItem7.setText("粘贴");
        jMenuItem8.setText("查找");
        jMenuItem9.setText("全选");
        jMenu3.setText("格式");
        jMenuItem11.setText("段落");
        jMenuItem12.setText("项目列表");
        jMenu4.setText("帮助");
        jMenuItem14.setText("关于");
        jMenuItem14.addActionListener(new
                                      NotepadFrame_jMenuItem14_actionAdapter(this));
        jMenu5.setText("字体");
        jMenu6.setText("背景");
        jCheckBoxMenuItem1.setText("粗体");
        jCheckBoxMenuItem2.setText("斜体");
        jCheckBoxMenuItem3.setText("普通");
        jRadioButtonMenuItem1.setText("蓝色");
        jRadioButtonMenuItem2.setText("黄色");
        jRadioButtonMenuItem3.setText("绿色");
        jScrollPane1.setBounds(new Rectangle(4, 4, 389, 290));
        jTextArea1.addMouseListener(new NotepadFrame_jTextArea1_mouseAdapter(this));
        jMenuItem10.setText("复制");
        jMenuItem13.setText("剪切");
        jMenuItem15.setText("粘贴");
        buttonGroup1.add(jRadioButtonMenuItem1);
        buttonGroup1.add(jRadioButtonMenuItem2);
        buttonGroup1.add(jRadioButtonMenuItem3);
        jMenuBar1.add(jMenu1);
        jMenuBar1.add(jMenu2);
        jMenuBar1.add(jMenu3);
        jMenuBar1.add(jMenu4);
        jMenu1.add(jMenuItem1);
        jMenu1.add(jMenuItem2);
        jMenu1.add(jMenuItem3);
        jMenu1.addSeparator();
        jMenu1.add(jMenuItem4);
        jMenu2.add(jMenuItem5);
        jMenu2.add(jMenuItem6);
        jMenu2.add(jMenuItem7);
        jMenu2.add(jMenuItem8);
        jMenu2.add(jMenuItem9);
        jMenu3.add(jMenu5);
        jMenu3.add(jMenuItem11);
        jMenu3.add(jMenuItem12);
        jMenu3.addSeparator();
        jMenu3.add(jMenu6);
        jMenu4.add(jMenuItem14);
        jMenu5.add(jCheckBoxMenuItem1);
        jMenu5.add(jCheckBoxMenuItem2);
        jMenu5.add(jCheckBoxMenuItem3);
        jMenu6.add(jRadioButtonMenuItem1);
        jMenu6.add(jRadioButtonMenuItem2);
        jMenu6.add(jRadioButtonMenuItem3);
        contentPane.add(jScrollPane1);
        jScrollPane1.getViewport().add(jScrollPane2);
        jScrollPane2.getViewport().add(txatext);
        jp.add(jMenuItem10);
        jp.add(jMenuItem13);
        jp.add(jMenuItem15);
    }

    public void jTextArea1_mouseClicked(MouseEvent e) {
        if(e.getButton()==3){
            jp.show(this,e.getX(),e.getY());
        }
    }

    public void jMenuItem1_actionPerformed(ActionEvent e) {
        try {
            jfc.showOpenDialog(this);
            File str=jfc.getSelectedFile();
        FileReader fr=new FileReader(str);
        BufferedReader br=new BufferedReader(fr);
        String line=br.readLine();
        String lin="";
        while(line!=null){
                    lin+=line+"/n";
                    line=br.readLine();
        }
        txatext.setText(lin);
        br.close();
        fr.close();
        } catch (Exception ex) {
            System.out.println(ex);
        }

    }

    public void jMenuItem4_actionPerformed(ActionEvent e) {
        System.exit(0);
    }

    public void jMenuItem2_actionPerformed(ActionEvent e) {
        String str=txatext.getText();
        try {
            FileWriter fw = new FileWriter("d:/ou.txt");
            BufferedWriter bw=new BufferedWriter(fw);
            int i=txatext.getLineCount();
           // System.out.println(i);
            String[] str1=str.split("/n", i);
            int a=0;
            while(a<i){
                bw.write(str1[a]);
                bw.newLine();
                a++;
            }
            bw.flush();
            bw.close();
        } catch (IOException ex) {
        }
    }

    public void jMenuItem14_actionPerformed(ActionEvent e) {
        AboutUs dlgAboutUs=new AboutUs(this,"关于我们",true);
        dlgAboutUs.setSize(350,300);
        Dimension dlgSize=dlgAboutUs.getPreferredSize();
        Dimension frmSize=getSize();
        Point loc=getLocation();
        dlgAboutUs.setLocation((frmSize.width-dlgSize.width)/4+loc.x,
                               (frmSize.height-dlgSize.height)/4+loc.y);
        dlgAboutUs.setModal(true);
        dlgAboutUs.show();

    }
}


class NotepadFrame_jMenuItem14_actionAdapter implements ActionListener {
    private NotepadFrame adaptee;
    NotepadFrame_jMenuItem14_actionAdapter(NotepadFrame adaptee) {
        this.adaptee = adaptee;
    }

    public void actionPerformed(ActionEvent e) {
        adaptee.jMenuItem14_actionPerformed(e);
    }
}


class NotepadFrame_jMenuItem2_actionAdapter implements ActionListener {
    private NotepadFrame adaptee;
    NotepadFrame_jMenuItem2_actionAdapter(NotepadFrame adaptee) {
        this.adaptee = adaptee;
    }

    public void actionPerformed(ActionEvent e) {
        adaptee.jMenuItem2_actionPerformed(e);
    }
}


class NotepadFrame_jMenuItem1_actionAdapter implements ActionListener {
    private NotepadFrame adaptee;
    NotepadFrame_jMenuItem1_actionAdapter(NotepadFrame adaptee) {
        this.adaptee = adaptee;
    }

    public void actionPerformed(ActionEvent e) {
        adaptee.jMenuItem1_actionPerformed(e);
    }
}


class NotepadFrame_jMenuItem4_actionAdapter implements ActionListener {
    private NotepadFrame adaptee;
    NotepadFrame_jMenuItem4_actionAdapter(NotepadFrame adaptee) {
        this.adaptee = adaptee;
    }

    public void actionPerformed(ActionEvent e) {
        adaptee.jMenuItem4_actionPerformed(e);
    }
}


class NotepadFrame_jTextArea1_mouseAdapter extends MouseAdapter {
    private NotepadFrame adaptee;
    NotepadFrame_jTextArea1_mouseAdapter(NotepadFrame adaptee) {
        this.adaptee = adaptee;
    }

    public void mouseClicked(MouseEvent e) {
        adaptee.jTextArea1_mouseClicked(e);
    }
}

 

 

类:Notepad

 

package notepad;

import java.awt.Toolkit;
import javax.swing.SwingUtilities;
import javax.swing.UIManager;
import java.awt.Dimension;

public class Notepad {
    boolean packFrame = false;

    /**
     * Construct and show the application.
     */
    public Notepad() {
        NotepadFrame frame = new NotepadFrame();
        // Validate frames that have preset sizes
        // Pack frames that have useful preferred size info, e.g. from their layout
        if (packFrame) {
            frame.pack();
        } else {
            frame.validate();
        }

        // Center the window
        Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
        Dimension frameSize = frame.getSize();
        if (frameSize.height > screenSize.height) {
            frameSize.height = screenSize.height;
        }
        if (frameSize.width > screenSize.width) {
            frameSize.width = screenSize.width;
        }
        frame.setLocation((screenSize.width - frameSize.width) / 2,
                          (screenSize.height - frameSize.height) / 2);
        frame.setVisible(true);
    }

    /**
     * Application entry point.
     *
     * @param args String[]
     */
    public static void main(String[] args) {
        SwingUtilities.invokeLater(new Runnable() {
            public void run() {
                try {
                    UIManager.setLookAndFeel(UIManager.
                                             getSystemLookAndFeelClassName());
                } catch (Exception exception) {
                    exception.printStackTrace();
                }

                new Notepad();
            }
        });
    }
}

 

 

 

类AboutUs

 

package notepad;

import java.awt.BorderLayout;
import java.awt.Frame;

import javax.swing.JDialog;
import javax.swing.JPanel;
import javax.swing.JLabel;
import java.awt.Rectangle;
import javax.swing.JButton;

public class AboutUs extends JDialog {

    public AboutUs(Frame owner, String title, boolean modal) {
        super(owner, title, modal);
        try {
            setDefaultCloseOperation(DISPOSE_ON_CLOSE);
            jbInit();
            pack();
        } catch (Exception exception) {
            exception.printStackTrace();
        }
    }

    public AboutUs() {
        this(new Frame(), "关于我们", false);
    }

    private void jbInit() throws Exception {

    }
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值