FileWriter と PrintWriter を使用して、テキストペインにあるものを保存しようとしています。
// Save file
fileItem2.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
System.out.println("Pressed menu item! Save");
jStyledTextPane.setText("Pressed menu item! Save");
}
});
私はすでにファイルを開く方法を持っており、テキストペインに表示されるテキストを同じにしようとしています。 これは私の完全なコードです:
public class CSC9V4TextEditor implements ActionListener {
private JStyledTextPane jStyledTextPane;
private JMenuBar menubar() {
// Initialising JMenu.
JMenuBar menubar = new JMenuBar();
// Creating the Menus.
JMenu filemenu = new JMenu("File");
filemenu.add(new JSeparator());
// Creating the sub Menus.
JMenuItem fileItem1 = new JMenuItem("Open");
JMenuItem fileItem2 = new JMenuItem("Save");
JMenuItem fileItem3 = new JMenuItem("Exit");
fileItem3.add(new JSeparator());
// Adding the sub Menus to the File menu.
filemenu.add(fileItem1);
filemenu.add(fileItem2);
filemenu.add(fileItem3);
// Adding the sub Menus to the Edit menu.
menubar.add(filemenu);
// Exit action
fileItem3.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
System.out.println("Exit");
System.exit(0);
}
});
// open file
fileItem1.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
JFileChooser chooser = new JFileChooser();
Component parent = null;
int returnVal = chooser.showOpenDialog(parent);
if (returnVal == JFileChooser.APPROVE_OPTION) {
System.out.println("You chose to open this file: "
+ chooser.getSelectedFile().getName());
File file = chooser.getSelectedFile();
try {
BufferedReader br = null;
String sCurrentLine;
br = new BufferedReader(new FileReader(file
.getAbsoluteFile()));
while ((sCurrentLine = br.readLine()) != null) {
jStyledTextPane.read(br, null);
}
} catch (IOException e1) {
System.out.println("problem accessing file"
+ file.getAbsolutePath());
}
}
// jStyledTextPane.setText("You chose to open this file: "
// + chooser.getSelectedFile().getName());
}
});
// Save file
fileItem2.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
System.out.println("Pressed menu item! Save");
jStyledTextPane.setText("Pressed menu item! Save");
}
});
return menubar;
}
private void initialiseGUI() {
// Create the frame.
JFrame frame = new JFrame("CSC9V4 Text Editor");
// Set the exit button.
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
// Adding the menu bar to the frame.
frame.setJMenuBar(menubar());
// Size the frame.
frame.setSize(600, 600);
// Show the frame.
frame.setVisible(true);
jStyledTextPane = new JStyledTextPane();
// Adding the JStyledTextPane to the frame.
frame.add(jStyledTextPane);
}
@SuppressWarnings("unused")
public static void main(String[] args) {
CSC9V4TextEditor TextEditor = new CSC9V4TextEditor();
}
public CSC9V4TextEditor() {
initialiseGUI();
}
@Override
public void actionPerformed(ActionEvent e) {
// TODO Auto-generated method stub
}
}