JAVA教程 JAVA虚拟机电子书

Java是什么 Java培训

Java教程 搭建Java桌面应用程序原型(二) Java软件学习

设置系统外观

  下面的setSystemLookAndFeel()方法调用了javax.swing.UIManager类的setLookAndFeel()方法:

  它要求Swing从默认的Metal外观转换为本地外观:

private void setSystemLookAndFeel() {
 try {
  UIManager.setLookAndFeel(
   UIManager.getSystemLookAndFeelClassName());
 } catch (UnsupportedLookAndFeelException x) {
  log(x);
 } catch (ClassNotFoundException x) {
  log(x);
 } catch (IllegalAccessException x) {
  log(x);
 } catch (InstantiationException x) {
  log(x);
 }
}
  通常,因为setLookAndFeel()参数都有一个可用值所以不会抛出异常。然而用标准日志API任何异常都可以作为严重错误信息被记录:

private static void log(Exception x) {
 Logger.global.severe(x.getMessage());
}
  原型安例中用全局日志是可以的,但是一个产品应该用它自己的日志,保存错误信息在文件中。

  创建并显示主要窗口

  createFrame()方法创建一个MainFrame实例,并且加载了图片:

private void createFrame() {
 mainFrame = new MainFrame();
 mainPanel = mainFrame.getMainPanel();
 mainPanel.updateSize();
 mainFrame.pack();
 loadImage();
}
  updateSize()设置了由getMainPanel()获得的主要面板的合理大小。pack()方法使得主框架调整大小从而让主面板和应用程序工具栏调整到合适的大小。注意到getMainPanel()和updateSize()方法是MainFrame和MainPanel类实现的应用方法。pack()方法是从java.awt.Window中继承下来的。

  showFrame()方法显示应用程序的主框架并且调用主panel的requestFocus()方法。没有调用requestFocus(),焦点将被工具栏中是缩放下拉框获得,这个组件不是框架的主要组件。当应用程序开始的时候,它的主要组件应该获得焦点,即使主要panel没有处理任何键盘事件。

  在窗口关闭的时候调用setDefaultCloseOperation(),禁用这个方法的默认动作而是传递DO_NOTHING_ON_CLOSE作为参数。showFrame()方法注册自己拥有的窗口监听器以便处理窗口关闭事件。当用户关闭主要框架,监听器保存一个做过注释的图片,释放框架所占用的资源并且用System.exit(0)结束应用程序的执行。

private void showFrame() {
 mainFrame.setDefaultCloseOperation(
  MainFrame.DO_NOTHING_ON_CLOSE);
 mainFrame.addWindowListener(new WindowAdapter() {
  public void windowClosing(WindowEvent e) {
   saveImage();
   mainFrame.dispose();
   System.exit(0);
  }
 });
 mainFrame.show();
 mainPanel.requestFocus();
}
  加载和保存图片

  一个完成的产品将用文件对话框去加载一个源图片并且保存一个注释过的图片。在观念上,“文件打开”对话框将让拥护预览图片,“文件保存”对话框将允许他们去提供不同的参数,例如保存图片的压缩质量。Swing的标准文件对话框是基于组件JFileChooser,这个组件能够通过setAccessory()方法进行自定义,让你在文件对话框上加载你的组件。

Java教程分页: 共2页: 上一页 1 [2] 下一页

其他Java虚拟机教程:

用Java SE 6.0实现高质量桌面集成开发

J2EE模式一瞥(4)

VisualAge使用技巧

服务开启时用servlet自动进行初始化

基于目录结构认证的问题

W2K下安装 MYSQL 4.0.21 手记

在Eclipse中集成Ant编程之配置篇

Structs深入研究(一)-----Struts framewo

TIJ阅读笔记(第八章)

GreedySnake贪吃蛇-测试版

Java下的Framework编写(4)--Annotation vs

用JavaScript实现动画效果

JAVA方面的电子书下载

我的百宝箱之Eclipse 3.0.1插件方案

JAVA 多进程应用 多个定时器作业的SWING界

java的优点再谈!

XML在Web中的简单应用

MetaData Programme

MIDP 2.0 增加的函數

Java_util_package

J2EE vs .NET (2)

平行世界: Java 和 XML 为何将成功

什么是模式?什么是框架?(简述)

客户端如何与服务器同步(多层架构系统理应

observer设计模式的java实现

MySQL的distinct group by SQL语法用法说明

javascript手冊-s1

实战JBuilder7 WebLogic7(续Entity Bean)

Interceptor和它要截取得class在一个packag

设计模式之Proxy(代理)

in Software that use java, Show popmenu

JBuilder2005 Servlet开发之开发必备

不要重新分配被锁定对象的对象引用

Structs的Tiles标签学习手记(一)

AOP及其在Spring中的应用(一)

Spring Hibernate乱码解决方案

虚拟机概论(七)——OSI虚拟机模型

EJB3 实体组件在 J2SE 中的使用

如何在Tomcat服务器的工程中实现任务计划调

request对象的用法

JDBC接口技术

Eclipse快速上手EJB -- 3. 一对一的双向关

JavaTM安全体系结构 8

Known Bugs in Tomcat 5 while using RMI

jsp mysql制作简单的留言板(1)

ThreadLocal的设计与使用

EJB之无状态会话Bean简单应用-学习与实践(

Eclipse主要插件Lomboz介绍(3)_Concepts

Web界面配置Tomcat连接池---我得一点个

利用JAVACC将HQL-