public int showOpenDialog(Component parent)
public int showSaveDialog(Component parent)
http://java.sun.com/docs/books/tutorial/uiswing/components/filechooser.html
public int showSaveDialog(Component parent)
http://java.sun.com/docs/books/tutorial/uiswing/components/filechooser.html
import javax.swing.event.*;
import javax.swing.*;import java.lang.*;
import java.awt.*;
import java.io.*;
import java.awt.datatransfer.*;
import java.awt.event.*;
public class MyInternalFrame extends JInternalFrame implements ActionListener
{
static private final String newline = "\n";
JTextArea text = new JTextArea();
JMenuBar menuBar = new JMenuBar();
JMenu fileMenu = new JMenu("File");
JMenuItem newItem = new JMenuItem("New");
JMenuItem openItem = new JMenuItem("Open");
JMenuItem saveItem = new JMenuItem("Save");
JMenuItem saveAsItem = new JMenuItem("Save As");
JMenuItem exitItem = new JMenuItem("Exit");
JMenu editMenu = new JMenu("Edit");
JMenuItem selectItem = new JMenuItem("Select All");
JMenuItem copyItem = new JMenuItem("Copy");
JMenuItem cutItem = new JMenuItem("Cut");
JMenuItem pasteItem = new JMenuItem("Paste");
File fileName = null;
Toolkit toolKit=Toolkit.getDefaultToolkit();
Clipboard clipBoard=toolKit.getSystemClipboard();
private JFileChooser openFileDialog = new JFileChooser();
private JFileChooser saveAsFileDialog = new JFileChooser(); public MyInternalFrame(String s)
{
Container con=getContentPane();
con.add(new JScrollPane(text),BorderLayout.CENTER);
setTitle(s);
setFont(new Font("Times New Roman",Font.PLAIN,12));
setBackground(Color.white);
setSize(400,300);
setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
addInternalFrameListener(new InternalFrameAdapter ()
{
public void internalFrameActivated(InternalFrameEvent e)
{
setLayer(JDesktopPane.DRAG_LAYER);
}
public void internalFrameDeactivated(InternalFrameEvent e)
{
setLayer(JDesktopPane.DEFAULT_LAYER);
}
});
fileMenu.add(newItem);
fileMenu.add(openItem);
fileMenu.addSeparator();
fileMenu.add(saveItem);
fileMenu.add(saveAsItem);
fileMenu.addSeparator();
fileMenu.add(exitItem);
editMenu.add(selectItem);
editMenu.addSeparator();
editMenu.add(copyItem);
editMenu.add(cutItem);
editMenu.add(pasteItem);
menuBar.add(fileMenu);
menuBar.add(editMenu);
setJMenuBar(menuBar);
con.validate();
add(text);
newItem.addActionListener(this);
openItem.addActionListener(this);
saveItem.addActionListener(this);
saveAsItem.addActionListener(this);
exitItem.addActionListener(this);
selectItem.addActionListener(this);
copyItem.addActionListener(this);
cutItem.addActionListener(this);
pasteItem.addActionListener(this);
}
public JTextArea getJTextArea()
{
return text;
} public void actionPerformed(ActionEvent e)
{
if(e.getSource() == newItem)
{
text.setText("");
}
else if(e.getSource() == openItem)
{
//需要完善
}
else if (e.getSource() == saveItem)
{
//需要完善
}
else if(e.getSource() == saveAsItem)
{
//需要完善 }
else if(e.getSource() == selectItem)
{
text.selectAll();
}
else if(e.getSource() == copyItem)
{
text.copy();
}
else if(e.getSource() == cutItem)
{
text.cut();
}
else if(e.getSource() == pasteItem)
{
text.paste();
}
else if(e.getSource() == exitItem)
{
setVisible(false);
dispose();
}
}
public void readFile(String fileName)
{
try
{
File file = new File(fileName);
FileReader readIn = new FileReader(file);
int size = (int)file.length();
int charsRead = 0;
char[] content = new char[size];
while(readIn.ready())
charsRead += readIn.read(content, charsRead, size - charsRead);
readIn.close();
text.setText(new String(content, 0, charsRead));
}
catch(IOException e)
{
System.out.println("Error opening file");
}
} public void writeFile(String fileName)
{
try
{
File file = new File (fileName);
FileWriter writeOut = new FileWriter(file);
writeOut.write(text.getText());
writeOut.close();
}
catch(IOException e)
{
System.out.println("Error writing file");
}
}
}
二进制的,用FileOutputStream/FileInputStream