Java

A collection of 11 posts

Java

java7 swing提供以及WinXP提供的所有界面皮肤预览。

import java.awt.*; import java.awt.event.*; import javax.swing.*; import javax.swing.UIManager.LookAndFeelInfo; @SuppressWarnings("serial") public class LookAndFeelDemo extends JFrame implements ActionListener { private static class LookAndFeelApplication { private LookAndFeelInfo lookAndFeelInfo; private LookAndFeelApplication(LookAndFeelInfo lookAndFeelInfo) { this.lookAndFeelInfo = lookAndFeelInfo; } public static LookAndFeelApplication[] getInstalledLookAndFeelApplications(

Java

Java 内部类的 this 问题

在一个风和日丽的下午,码农A写了一个可以获取数据的组件,代码是这样的: package net.gerhut.example.authora; public class Component { public void getData() { System.out.println("Transferring data..."); }; } 码农B负责整个系统开发,使用码农A设计的组件,认为码农A的获取数据应该有个回调函数,就给它加了一个回调函数,代码是这样的: package net.gerhut.example.authorb; import net.gerhut.example.authora.Component; public class MainSystem { private Component component; private

Java

从 JDK 中记设计模式

按字母排序,尽量找哪些简单的J2SE的实现。 Abstract Factory:提供一个创建一系列相关或相互依赖对象的接口,而无需指定它们具体的类。 例子:java.util.Calendar#getInstance(TimeZone) 提供一个时区参数即可从Calendar中创建需要的Calendar类的子类,而无需指定甚至知道它到底是哪个类调用的是哪个类的构造方法。 Adapter:将一个类的接口转换成客户希望的另外一个接口。Adapter模式使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。 例子:java.io.InputStreamReader(InputStream) 可以将任何InputStream类(如文本流,网络流,内存流)的接口(InputStream)转换成用户希望的Reader抽象类(接口)(InputStreamReader)。可以使得那些原本不兼容Stream但是接受Reader而的组件可以正常工作。 Bridge:将抽象部分与它的实现部分分离,使它们都可以独立地变化。 例子:java.awt.Button 按钮显示成什么样子(抽象部分)根据运行的系统来决定,点击按钮的行为(实现部分)

Java

[转]JDK 7 新特性

Swing 新增JLayer类,是一个灵活而且功能强大的Swing组件修饰器,使用方法:How to Decorate Components with JLayer. Nimbus Look and Feel外观从com.sun.java.swing包移到javax.swing包中,详情:javax.swing.plaf.nimbus 更轻松的重量级和轻量级组件的混合 支持透明窗体以及非矩形窗体的图形界面,请看How to Create Translucent and Shaped Windows JColorChooser类新增HSV tab. 网络 新增URLClassLoader.close方法,请看Closing a URLClassLoader. 支持 Sockets Direct Protocol

Java

双人(或者两个团队)合作写一个软件,如何做到前台后台并行开发相互不受影响?

我以软工CW的用户登录功能举例,用MVC模式的角度作简要阐述。 首先,在对需求的了解的基础上,双方共同约定Controller的所有接口,一般是前台人员提出需求,后台人员针对数据结构对值类型做优化。比如前台现在需要做一个用户登录,那么需要一个隶属于UserController的login方法加此外,为了进一步使前后台相分离,Controller建议使用单例模式并采用以下instance写法。 package controller; public interface UserController { /** * The unique controller instance. */ public final static UserController instance = null; /** * Login method * @param username The username. * @param password The password. * @throws Exception "No such user" or