加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

Preferences写XML文件

发布时间:2020-12-16 09:40:41 所属栏目:百科 来源:网络整理
导读:package corejavaI.layout; import java.awt.EventQueue; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.InputStream;
package corejavaI.layout; import java.awt.EventQueue; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.InputStream; import java.io.OutputStream; import java.util.prefs.Preferences; import javax.swing.JFileChooser; import javax.swing.JFrame; import javax.swing.JMenu; import javax.swing.JMenuBar; import javax.swing.JMenuItem; import javax.swing.JOptionPane; public class PreferencesTest { public static void main(String[] args) { // TODO Auto-generated method stub EventQueue.invokeLater(new Runnable() { public void run() { // TODO Auto-generated method stub PreferencesFrame frame = new PreferencesFrame(); frame.setLocation(300,200); frame.setDefaultCloSEOperation(JFrame.EXIT_ON_CLOSE); frame.setSize(300,300); frame.setVisible(true); } }); } } class PreferencesFrame extends JFrame{ private static final int DEFAULT_WIDTH = 300; private static final int DEFULT_HEIGHT = 200; public PreferencesFrame(){ Preferences root = Preferences.userRoot(); final Preferences node = root.node("/com/horstman/corejava"); int left = node.getInt("left",0); int top = node.getInt("top",0); int width = node.getInt("width",DEFAULT_WIDTH); int height = node.getInt("height",DEFULT_HEIGHT); setBounds(left,top,width,height); String title = node.get("title",""); if(title.equals("")) title = JOptionPane.showInputDialog("请输入frame title:"); if(title == null) title = ""; System.out.println(title); setTitle(title); final JFileChooser chooser = new JFileChooser(); chooser.setCurrentDirectory(new File(".")); chooser.setFileFilter(new javax.swing.filechooser.FileFilter(){ @Override public boolean accept(File f) { return f.getName().toLowerCase().endsWith(".xml") || f.isDirectory(); } @Override public String getDescription() { return "XML files"; } }); JMenuBar menuBar = new JMenuBar(); setJMenuBar(menuBar); JMenu menu = new JMenu("File"); menuBar.add(menu); JMenuItem exportItem = new JMenuItem("Export preferences"); menu.add(exportItem); exportItem.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { if(chooser.showSaveDialog(PreferencesFrame.this) == JFileChooser.APPROVE_OPTION){ try { OutputStream out = new FileOutputStream(chooser.getSelectedFile()); node.exportSubtree(out); out.close(); } catch (Exception e2) { e2.printStackTrace(); } } } }); JMenuItem importItem = new JMenuItem("Import preferencs"); menu.add(importItem); importItem.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { // TODO Auto-generated method stub if(chooser.showOpenDialog(PreferencesFrame.this) == JFileChooser.APPROVE_OPTION){ try { InputStream in = new FileInputStream(chooser.getSelectedFile()); Preferences.importPreferences(in); in.close(); } catch (Exception e2) { e2.printStackTrace(); } } } }); JMenuItem exitItem = new JMenuItem("Exit"); menu.add(exitItem); exitItem.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { // TODO Auto-generated method stub node.putInt("left",getX()); node.putInt("top",getY()); node.putInt("width",getWidth()); node.putInt("height",getHeight()); node.put("title",getTitle()); System.exit(0); } }); } }

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读