persistentframetest.java

来自「这是java2核心技术第七版的源代码」· Java 代码 · 共 86 行

JAVA
86
字号
import java.awt.*;import java.awt.event.*;import java.beans.*;import java.io.*;import javax.swing.*;/**   This program demonstrates the use of an XML encoder and decoder to save and restore a frame.*/public class PersistentFrameTest{   public static void main(String[] args)   {      chooser = new JFileChooser();      chooser.setCurrentDirectory(new File("."));            PersistentFrameTest test = new PersistentFrameTest();      test.init();   }   public void init()   {      frame = new JFrame();      frame.setLayout(new FlowLayout());      frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);      frame.setTitle("PersistentFrameTest");      frame.setSize(400, 200);      JButton loadButton = new JButton("Load");      frame.add(loadButton);      loadButton.addActionListener(EventHandler.create(ActionListener.class, this, "load"));      JButton saveButton = new JButton("Save");      frame.add(saveButton);      saveButton.addActionListener(EventHandler.create(ActionListener.class, this, "save"));           frame.setVisible(true);   }   public void load()   {      // show file chooser dialog      int r = chooser.showOpenDialog(null);      // if file selected, open      if(r == JFileChooser.APPROVE_OPTION)      {         try         {            File file = chooser.getSelectedFile();            XMLDecoder decoder = new XMLDecoder(new FileInputStream(file));            JFrame newFrame = (JFrame) decoder.readObject();            decoder.close();         }         catch (IOException e)         {            JOptionPane.showMessageDialog(null, e);         }      }   }   public void save()   {      // show file chooser dialog      int r = chooser.showSaveDialog(null);      // if file selected, save      if(r == JFileChooser.APPROVE_OPTION)      {         try         {            File file = chooser.getSelectedFile();            XMLEncoder encoder = new XMLEncoder(new FileOutputStream(file));            encoder.writeObject(frame);            encoder.close();         }         catch (IOException e)         {            JOptionPane.showMessageDialog(null, e);         }      }   }   private static JFileChooser chooser;   private JFrame frame;}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?