当前位置: 首页 > news >正文

成功营销网站新公司网站建设

成功营销网站,新公司网站建设,安卓开发培训机构,广东省建设银行招聘网站首选项API 在桌面程序中#xff0c;通常都会存储用户首选项#xff0c;如用户最后处理的文件、窗口的最后位置等。 利用Properties类可以很容易的加载和保存程序的配置信息#xff0c;但有以下缺点#xff1a; 有些操作系统没有主目录概念#xff0c;很难为匹配文件找到…首选项API 在桌面程序中通常都会存储用户首选项如用户最后处理的文件、窗口的最后位置等。 利用Properties类可以很容易的加载和保存程序的配置信息但有以下缺点 有些操作系统没有主目录概念很难为匹配文件找到一个统一的位置。配置文件没有标准命名用户安装多个Java应用就更容易发生命名冲突。 操作系统有一个存储配置信息的中心存储库最著名例子就是Window系统中的注册表。 Preferences类似于一种平台无关的中心存储库Windows中Preferences使用注册表存储信息Linux上信息存储在本地文件系统中。存储库对程序员是透明的。 Preferences有一个树状结构节点路径类似于/com/mycompany/myapp。 每个节点都有一个单独的键值对表可存储数值字符串字节数组不建议存储串行化对象。可以有多个树每个程序用户都有一棵树类似于操作系统的当前用户概念。 访问数中的一个节点需要从用户或系统根开始 Preferences root Preferences.userRoot();或者 Preferences root Preferences.systemRoot(); 然后访问节点可以直接提供一个节点路径名 Preferences node root.node(/com/mycompany/myapp); 如果节点路径名等于类的包名可以简便调用 Preferences node Preferences.userNodeForPackage(obj.getClass());或 Preferences node Preferences.systemNodeForPackage(obj.getClass()); 一般来说obj往往是this引用 得到节点可以用如下方法访问键值表 String get(String key,String defval) int getInt(String key,int defval) double getDouble(String key,double defval) byte[] getByteArray(String key,byte[] defval)等 读取信息时必须指定一个默认值。 如下put方法向存储库写数据 put(String key,String value) putInt(String key,int value) 可以用一下方法枚举一个节点中存储的所有键 String[] keys() 注释节点名和键都最多只能有80个字符字符串值最多可以有8192个字符。 类似Windows注册表的中心存储库通常都存在两个问题 它们会变成充斥着过期信息的垃圾场配置数据域存储库纠缠在一起所有很难把首选项迁移到新平台。 提供了第二个问题的解决方案通过一下方法导出一个子树 void exportSubtree(OutputStream out) void exportNode(OutputStream out) 数据用XML格式保存可以已通过调用一下方法将数据导入到另一个存储库 void importPreferences(InputStream in) 示例文件略。 案例保存窗口位置和文件名导出首选项后退出并重启应用导入首选项窗口和之前一样待续。。。 package preferences;import java.awt.EventQueue; import java.awt.event.WindowAdapter; import java.awt.event.WindowEvent; import java.io.File; import java.util.prefs.Preferences;import javax.swing.ImageIcon; import javax.swing.JFileChooser; import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JMenu; import javax.swing.JMenuBar; import javax.swing.JMenuItem;public class ImageViewer {public static void main(String[] args) {EventQueue.invokeLater(()-{var frame new ImageViewerFrame();frame.setTitle(图片查看器);frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);frame.setVisible(true);});} }class ImageViewerFrame extends JFrame {private static final int DEFAULT_WIDTH 300;private static final int DEFAULT_HEIGHT 200;private String image;public ImageViewerFrame() {Preferences root Preferences.userRoot();Preferences node root.node(/preferences/ImageViewer);int left node.getInt(left, 0);int top node.getInt(top, 0);int width node.getInt(width, DEFAULT_WIDTH);int height node.getInt(height, DEFAULT_HEIGHT);setBounds(left, top, width, height);image node.get(image, null);var label new JLabel();if(image ! null) label.setIcon(new ImageIcon(image));addWindowListener(new WindowAdapter() {public void windowClosing(WindowEvent e) {node.putInt(left, getX());node.putInt(top, getY());node.putInt(width, getWidth());node.putInt(height, getHeight());node.put(image, image);}});add(label);//安装文件选择器var chooser new JFileChooser();chooser.setCurrentDirectory(new File(.));//安装菜单栏var menuBar new JMenuBar();setJMenuBar(menuBar);var menu new JMenu(文件);menuBar.add(menu);var openItem new JMenuItem(打开);menu.add(openItem);openItem.addActionListener(event - {int result chooser.showOpenDialog(null);if (result JFileChooser.APPROVE_OPTION) {image chooser.getSelectedFile().getPath();label.setIcon(new ImageIcon(image));}});var exitItem new JMenuItem(关闭);menu.add(exitItem);exitItem.addActionListener(event-System.exit(0));} } java.util.prefs.Preferences 1.4 Preferencs userRoot()返回调用程序的用户的首选项根节点。Preferences systemRoot()返回系统范围的首选项根节点。Preferences node(String path)返回从当前节点由给定路径可以到达的节点。如果path是绝对路径(也就是说以一个/开头)则从包含这个首选项节点的树的根节点开始查找。如果给定路径不存在相应的节点则创建这样一个节点。Preferences userNodeForPackage(Class cl)Preferences systemNodeForPackage(Class cl)返回当前用户树或系统树中的一个节点其绝对节点路径对应类cl的包名。String[] keys()返回属于这个节点的所有键。String get(String key,String defval)int getInt(String key,int defval)long getLong(String key,long defval)float getFloat(String key,float defval)double getDouble(String key,double defval)boolean getBoolean(String key,double defval)byte[] getByteArray(String key, byte[] defval)返回与给定键关联的值或者如果没有值与这个键关联、关联的值类型不正确或首选项存储库不可用则返回所提供的默认值。void put(String key, String value)void putInt(String key, int value)void putLong(String key, long value)void putFloat(String key,float value)void putDouble(String key, double value)void putBoolean(String key,boolean value)void putByteArray(String key,byte[] value)在这个节点存储一个值/键对。void exportSubtree(OutputStream out)将这个节点及其子节点的首选项写至指令的流。void exportNode(OutputStream out)将这个节点不包括其子节点的首选项写至指定的流。void importPreferences(InputStream in)导入指定流中包含的首选项。
http://www.hkea.cn/news/14436718/

相关文章:

  • 义乌网站建设托管购物网站优惠券怎么做
  • 手机网站设计论文自己做游戏的 网站
  • 公交公司网站建设的意义申论万能模板
  • 李可做的网站网站平台建设哪家公司好
  • linuxvps建站教程深圳市罗湖区住房和建设局网站
  • 公司网站搭建费用源码商城系统
  • 企业网站管理系统用户新加坡网络公司排名
  • 网站视频怎么做的提供服务的网站
  • 建站saas建e室内设计网app
  • 展示产品的网站 个人备案还是企业网站建设毕业设计中期报告
  • 哪个公司的网站做得好品牌做网站还是app
  • 在国外做h网站怎么样网页设计个人网站怎么做
  • 如何在大网站做外链企业网站建设58同城
  • 在酒吧里做那个视频网站关键词优化怎么写
  • 上海网站营销公司合肥高端网站建设设计公司哪家好
  • 网站开发文件夹人工智能软件
  • 洋县建设银行网站wordpress 如何去掉图片地址
  • 临淄建设局网站网站建设定位
  • 网站欢迎页面模板下载企业网站建设兴田德润实惠
  • 渭南做网站价格如何做网站域名
  • c 网站开发案例源码口碑营销的产品
  • 佛山微信网站建设哪家好杭州简单网技术有限公司
  • 网站建设学生选课系统可以仿做网站吗
  • 网站开发用软件flash 网站开发教程
  • 京东网站建设的目的微信小程序开发团队
  • 南通自助模板建站网站设计公司(信科网络)
  • 双峰网站建设个人域名推荐
  • 自己怎么做网站赚钱西安优化seo
  • 招聘网站开发工程师鞍山做网站公司
  • 陕西建新建设有限公司网站dede个人网站