?? frame1.java
字號:
package note;
import java.awt.BorderLayout;
import java.awt.Dimension;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.KeyEvent;
import javax.swing.*;
import javax.swing.JOptionPane;
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.DataOutputStream;
import java.io.DataInputStream;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.FileWriter;
import java.io.BufferedWriter;
import com.borland.dbswing.FontChooser;
import java.awt.event.KeyAdapter;
import java.io.File;
/**
* <p>Title: </p>
*
* <p>Description: </p>
*
* <p>Copyright: Copyright (c) 2007</p>
*
* <p>Company: </p>
*
* @author not attributable
* @version 1.0
*/
public class Frame1 extends JFrame {
JPanel contentPane;
BorderLayout borderLayout1 = new BorderLayout();
JMenuBar jMenuBar1 = new JMenuBar();
JMenu jMenuFile = new JMenu();
JMenuItem jMenuFileExit = new JMenuItem();
JMenuItem jMenuItem1 = new JMenuItem();
JMenuItem jMenuItem2 = new JMenuItem();
JMenuItem jMenuItem3 = new JMenuItem();
JMenuItem jMenuItem4 = new JMenuItem();
JFileChooser jFileChooser1 = new JFileChooser();
JPopupMenu jPopupMenu1 = new JPopupMenu();
JMenuItem jMenuItem5 = new JMenuItem();
JMenuItem jMenuItem6 = new JMenuItem();
JMenuItem jMenuItem7 = new JMenuItem();
JMenu jMenu1 = new JMenu();
JTextArea jTextArea1 = new JTextArea();
JFileChooser jFileChooser2 = new JFileChooser();
JFileChooser jFileChooser3 = new JFileChooser();
boolean textIsChanged = false;
boolean textIsSaved = false;
String path=new String("");
int sn;
JMenu jMenu2 = new JMenu();
JMenuItem jMenuItem8 = new JMenuItem();
FontChooser fontChooser1 = new FontChooser();
JColorChooser jColorChooser1 = new JColorChooser();
public Frame1() {
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(borderLayout1);
setSize(new Dimension(400, 300));
setTitle("Frame Title");
jMenuFile.setText("文件");
jMenuFileExit.setText("退出");
jMenuFileExit.addActionListener(new Frame1_jMenuFileExit_ActionAdapter(this));
jMenuItem1.setText("打開");
jMenuItem1.addActionListener(new Frame1_jMenuItem1_actionAdapter(this));
jMenuItem2.setText("新建");
jMenuItem2.addActionListener(new Frame1_jMenuItem2_actionAdapter(this));
jMenuItem3.setText("保存");
jMenuItem3.addActionListener(new Frame1_jMenuItem3_actionAdapter(this));
jMenuItem4.setText("另存為");
jMenuItem4.addActionListener(new Frame1_jMenuItem4_actionAdapter(this));
jMenuItem5.setText("1");
jMenuItem6.setText("2");
jMenuItem7.setText("3");
jMenu1.setText("查找");
jMenu2.setText("sadf");
jMenuItem8.setText("sadfasd");
jTextArea1.addKeyListener(new Frame1_jTextArea1_keyAdapter(this));
jMenuBar1.add(jMenuFile);
jMenuBar1.add(jMenu1);
jMenuFile.add(jMenuItem2);
jMenuFile.add(jMenuItem1);
jMenuFile.add(jMenuItem3);
jMenuFile.add(jMenuItem4);
jMenuFile.add(jMenuFileExit);
jPopupMenu1.add(jMenuItem5);
jPopupMenu1.add(jMenuItem6);
jPopupMenu1.add(jMenuItem7);
contentPane.add(jTextArea1, java.awt.BorderLayout.CENTER);
jMenu1.add(jMenu2);
jMenu2.add(jMenuItem8);
setJMenuBar(jMenuBar1);
}
//三種鍵盤操作的提示,即‘修改過’
public void keyPressed(KeyEvent e) {
textIsChanged = true;
}
public void keyRelease(KeyEvent e) {
textIsChanged = true;
}
public void keyTyped(KeyEvent e) {
textIsChanged = true;
}
/**
* File | Exit action performed.
*
* @param actionEvent ActionEvent
*/
void jMenuFileExit_actionPerformed(ActionEvent actionEvent) {
System.exit(0);
}
public void jMenuItem1_actionPerformed(ActionEvent e) {
if (textIsChanged) {
Object[] options = {" 是(Y) ", " 否(N) ", " 取消 "};
sn = JOptionPane.showOptionDialog(null,
"文件的文字已經改變。想保存文件嗎?", "記事本",
JOptionPane.DEFAULT_OPTION,
JOptionPane.WARNING_MESSAGE,
null, options, options[0]);
}
switch (sn) {
case 0:
jFileChooser1.showSaveDialog(this);
try {
FileWriter ss2 = new FileWriter(jFileChooser1.
getSelectedFile().getPath());
ss2.write(jTextArea1.getText());
ss2.close();
} catch (IOException ie) {}
textIsChanged = false;
textIsSaved=true;
break;
case 1:
jFileChooser1.showOpenDialog(this);
try {
File file = new File(jFileChooser1.getSelectedFile().getPath());
FileReader in = new FileReader(file);
int size = (int) file.length();
char[] data = new char[size];
int inttemp = 0;
while (inttemp < size) {
inttemp += in.read(data, inttemp, size - inttemp);
jTextArea1.setText(new String(data));
in.close(); ;
}
} catch (Exception x) {}
path = jFileChooser1.getSelectedFile().getPath();
textIsChanged = false;
break;
}
}
public void jMenuItem2_actionPerformed(ActionEvent e) {
if(textIsChanged){
if(textIsSaved!=true){
jFileChooser2.showSaveDialog(this);
try {
FileWriter ss2 = new FileWriter(jFileChooser2.
getSelectedFile().getPath());
ss2.write(jTextArea1.getText());
ss2.close();
} catch (IOException ie) {}
textIsChanged = true;
}
}
jTextArea1.setText("");path = "";
textIsChanged=false;
textIsSaved=false;
}
public void jMenuItem3_actionPerformed(ActionEvent e) {
if (textIsSaved) {
try {
FileWriter ss2 = new FileWriter(path);
ss2.write(jTextArea1.getText());
ss2.close();
} catch (IOException ie) {}
} else {
jFileChooser2.showSaveDialog(this);
try {
FileWriter ss2 = new FileWriter(jFileChooser2.getSelectedFile());
ss2.write(jTextArea1.getText());
ss2.close();
} catch (IOException ie) {ie.printStackTrace();}
path = jFileChooser2.getSelectedFile().getPath();
}
textIsChanged = false;
textIsSaved=true;
}
public void jMenuItem4_actionPerformed(ActionEvent e) {
jFileChooser3.showDialog(this, "另存為");
try {
FileWriter sss2 = new FileWriter(jFileChooser3.getSelectedFile());
sss2.write(jTextArea1.getText());
sss2.close();
} catch (Exception ie) {ie.printStackTrace();}
textIsChanged = false;
path = jFileChooser3.getSelectedFile().getPath();
textIsSaved=true;
}
public void jTextArea1_keyPressed(KeyEvent keyEvent) {
}
}
class Frame1_jTextArea1_keyAdapter extends KeyAdapter {
private Frame1 adaptee;
Frame1_jTextArea1_keyAdapter(Frame1 adaptee) {
this.adaptee = adaptee;
}
public void keyPressed(KeyEvent keyEvent) {
adaptee.jTextArea1_keyPressed(keyEvent);
}
}
class Frame1_jMenuItem4_actionAdapter implements ActionListener {
private Frame1 adaptee;
Frame1_jMenuItem4_actionAdapter(Frame1 adaptee) {
this.adaptee = adaptee;
}
public void actionPerformed(ActionEvent e) {
adaptee.jMenuItem4_actionPerformed(e);
}
}
class Frame1_jMenuItem3_actionAdapter implements ActionListener {
private Frame1 adaptee;
Frame1_jMenuItem3_actionAdapter(Frame1 adaptee) {
this.adaptee = adaptee;
}
public void actionPerformed(ActionEvent e) {
adaptee.jMenuItem3_actionPerformed(e);
}
}
class Frame1_jMenuItem2_actionAdapter implements ActionListener {
private Frame1 adaptee;
Frame1_jMenuItem2_actionAdapter(Frame1 adaptee) {
this.adaptee = adaptee;
}
public void actionPerformed(ActionEvent e) {
adaptee.jMenuItem2_actionPerformed(e);
}
}
class Frame1_jMenuItem1_actionAdapter implements ActionListener {
private Frame1 adaptee;
Frame1_jMenuItem1_actionAdapter(Frame1 adaptee) {
this.adaptee = adaptee;
}
public void actionPerformed(ActionEvent e) {
adaptee.jMenuItem1_actionPerformed(e);
}
}
class Frame1_jMenuFileExit_ActionAdapter implements ActionListener {
Frame1 adaptee;
Frame1_jMenuFileExit_ActionAdapter(Frame1 adaptee) {
this.adaptee = adaptee;
}
public void actionPerformed(ActionEvent actionEvent) {
adaptee.jMenuFileExit_actionPerformed(actionEvent);
}
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -