java程序--------文件 保存打开

import java.awt.BorderLayout;
import java.awt.MenuBar;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.InputEvent;
import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
import javax.swing.JFileChooser;
import javax.swing.JFrame;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;
import javax.swing.JPopupMenu;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;
import javax.swing.KeyStroke;

public class MyFram2 {

public static void main(String args[]) {
Window window = new Window();
}

}


class Window extends JFrame implements ActionListener,KeyListener{
JMenuBar menuBar;
JMenu menuEdit,menuFile;
JPopupMenu menuPedit;
JMenuItem itemCopy,itemCut,itemPaste,itemOpen,itemSave;
JMenuItem itemCopy1,itemCut1,itemPaste1;
JTextArea textArea;
JFileChooser fileChooser;

public Window() {
fileChooser = new JFileChooser("c:/");
menuBar = new JMenuBar();

menuFile = new JMenu("文件");
menuPedit=new JPopupMenu();

itemOpen = new JMenuItem("打开");
itemSave = new JMenuItem("保存");
itemCopy1 = new JMenuItem("复制");
itemPaste1= new JMenuItem("粘贴");
itemCut1 = new JMenuItem("剪切");
itemSave.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_S,InputEvent.CTRL_MASK));
itemOpen.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_O,InputEvent.CTRL_MASK));

itemCopy1.addActionListener(this);

itemCut1.addActionListener(this);

itemPaste1.addActionListener(this);
itemOpen.addActionListener(this);
itemSave.addActionListener(this);
menuBar.add(menuFile);

menuPedit.add(itemCopy1);
menuPedit.add(itemCut1);
menuPedit.add(itemPaste1);
menuFile.add(itemSave);
menuFile.add(itemOpen);
textArea= new JTextArea();
textArea.addKeyListener(this);
textArea.addMouseListener(new MouseAdapter() {

@Override
public void mousePressed(MouseEvent e) {
if(e.getModifiers() == InputEvent.BUTTON3_MASK){
menuPedit.show(textArea,e.getX(),e.getY());
}
}
});
add(new JScrollPane(textArea),BorderLayout.CENTER);
setJMenuBar(menuBar);
validate();
setVisible(true);
setBounds(100,100,600,600);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}


@Override
public void actionPerformed(ActionEvent e) {

if(e.getSource()==itemCopy1){
textArea.copy();
}

else if(e.getSource()==itemCut1){
textArea.cut();
}

else if(e.getSource()==itemPaste1){
textArea.paste();
}
if(e.getSource()==itemOpen){
this.openFile();
}
}


@Override
public void keyPressed(KeyEvent e) {
}


@Override
public void keyReleased(Ke

yEvent e) {
}


@Override
public void keyTyped(KeyEvent e) {
JTextArea te = (JTextArea)e.getSource();
if(e.getModifiers()==InputEvent.CTRL_MASK && e.getKeyCode()==KeyEvent.VK_A){
te.copy();
}
else if(e.getModifiers() == InputEvent.CTRL_MASK && e.getKeyCode()==KeyEvent.VK_V){
te.paste();
}
else if(e.getModifiers() == InputEvent.CTRL_MASK && e.getKeyCode() ==KeyEvent.VK_X){
te.cut();
}
else if(e.getModifiers() == InputEvent.CTRL_MASK && e.getKeyCode()==KeyEvent.VK_O){
this.openFile();
}
}

public void openFile(){
textArea.setText(null);
int n = fileChooser.showOpenDialog(null);
if(n==JFileChooser.APPROVE_OPTION){
File file = fileChooser.getSelectedFile();
try {
FileReader readFile = new FileReader(file);
BufferedReader bufferedReader = new BufferedReader(readFile);
String s =null;
while((s=bufferedReader.readLine())!=null){
textArea.append(s+"\n");
}
} catch (FileNotFoundException e1) {
e1.printStackTrace();
} catch (IOException e1) {
e1.printStackTrace();
}
}
}


}

相关文档
最新文档