类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 {
}
}