86 lines
2.8 KiB
Java
86 lines
2.8 KiB
Java
import javax.swing.*;
|
|
import java.awt.*;
|
|
import java.awt.event.ActionEvent;
|
|
import java.awt.event.ActionListener;
|
|
import java.io.*;
|
|
|
|
public class P10 extends JFrame {
|
|
private JTextArea textArea;
|
|
private JFileChooser fileChooser;
|
|
|
|
public P10() {
|
|
setTitle("Swing Text Editor");
|
|
setSize(800, 600);
|
|
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
|
|
setLocationRelativeTo(null);
|
|
|
|
textArea = new JTextArea();
|
|
JScrollPane scrollPane = new JScrollPane(textArea);
|
|
add(scrollPane, BorderLayout.CENTER);
|
|
|
|
fileChooser = new JFileChooser();
|
|
|
|
JMenuBar menuBar = new JMenuBar();
|
|
JMenu fileMenu = new JMenu("File");
|
|
JMenuItem openMenuItem = new JMenuItem("Open");
|
|
JMenuItem saveMenuItem = new JMenuItem("Save");
|
|
JMenuItem exitMenuItem = new JMenuItem("Exit");
|
|
|
|
openMenuItem.addActionListener(new ActionListener() {
|
|
@Override
|
|
public void actionPerformed(ActionEvent e) {
|
|
int returnVal = fileChooser.showOpenDialog(P10.this);
|
|
if (returnVal == JFileChooser.APPROVE_OPTION) {
|
|
File file = fileChooser.getSelectedFile();
|
|
try {
|
|
BufferedReader reader = new BufferedReader(new FileReader(file));
|
|
textArea.read(reader, null);
|
|
reader.close();
|
|
} catch (IOException ex) {
|
|
ex.printStackTrace();
|
|
}
|
|
}
|
|
}
|
|
});
|
|
|
|
saveMenuItem.addActionListener(new ActionListener() {
|
|
@Override
|
|
public void actionPerformed(ActionEvent e) {
|
|
int returnVal = fileChooser.showSaveDialog(P10.this);
|
|
if (returnVal == JFileChooser.APPROVE_OPTION) {
|
|
File file = fileChooser.getSelectedFile();
|
|
try {
|
|
BufferedWriter writer = new BufferedWriter(new FileWriter(file));
|
|
textArea.write(writer);
|
|
writer.close();
|
|
} catch (IOException ex) {
|
|
ex.printStackTrace();
|
|
}
|
|
}
|
|
}
|
|
});
|
|
|
|
exitMenuItem.addActionListener(new ActionListener() {
|
|
@Override
|
|
public void actionPerformed(ActionEvent e) {
|
|
System.exit(0);
|
|
}
|
|
});
|
|
|
|
fileMenu.add(openMenuItem);
|
|
fileMenu.add(saveMenuItem);
|
|
fileMenu.add(exitMenuItem);
|
|
menuBar.add(fileMenu);
|
|
setJMenuBar(menuBar);
|
|
}
|
|
|
|
public static void main(String[] args) {
|
|
SwingUtilities.invokeLater(new Runnable() {
|
|
public void run() {
|
|
P10 editor = new P10();
|
|
editor.setVisible(true);
|
|
}
|
|
});
|
|
}
|
|
}
|