易截截图软件、单文件、免安装、纯绿色、仅160KB

Java秘史:隐藏在SWT/Swing背后的故事

译注
:本文来自straight_talking_java@yahoogroups.com讨论组,已经是一年多前
的文章。Alan Williamson是Java Developers
Journal的编辑,下文来自他在IBM的一个消息来源。SWT和Swing的论争我见过不少,Netbeans和Eclipse的也同样多。译者翻译
此文并不是要激起什么争执,也不是支持哪一方(虽然我的确是站在SWT一边的),更不是要攻击Amy。我最重要的理由是,这是一篇有趣的文章。里面有内
幕、线人、公司政治、垄断巨头、美女、商界风云……足够拍一出电影。有趣,这就够了。不过此文反映了IBM对Swing的看法和SWT的由来,还是有一点
营养的。
  要想弄清楚为什么一切都被弄得如此混乱,要从几年前只存在AWT的时候说起。SUN当时已经建立了一套基本的可移植控件
类,这些类映射到不同操作系统上的原生窗口组件(native widget),显然下一步应该继续增强这套模型,除了初始的CUA
92组件(文字、按钮等等),再继续加上表格、树、记事本、滑块等等……当时的AWT还满是漏洞,远不能称为可靠,还需要SUN的coder们去修补。
SUN的developer们如Graham和Otto总是习惯于公开把他们的bug归咎为操作系统的差异,比如“Windows和OS/2的焦点次序不
同”或者“在……之间Ctrl-X的行为不一样”,以及其他苍白的托辞,好让批评的火力从SUN太早释出代码这个问题的真相上移开。然后Amy
Fowler来到了SUN。不是我大男子主义,Amy是个聪明的美女,大多数呆头呆脑只懂技术的开发人员都要被她捏在手里。
Amy来自一家Smalltalk公司,叫做Objectshare,在那里她负责搞UI类库。
  跟Java相比Smalltalk的
历史有些悲惨,曾几何时有3家庞大的Smalltalk公司——IBM、Parc-Place和Digitalk。在90年代初期3家公司的市场份额大致
相等,生活是美好的。Parc-Place采用仿窗口部件(emulated
widgets)的设计(即Swing的设计),IBM和Digitalk则采用原生窗口部件(native
widgets)。后来IBM压倒了另外两家,因此他们打算合并成一家,假设叫做Parc-Place
Digitalk。随后当他们试图将他们的产品融合到一个叫做Jigsaw的计划中时爆发了一场大战,计划由于政治原因失败了(开发人员实际上已经能让它
运转起来),就因为原生和仿造两派的死战。
  Amy赢得了精神上的胜利,不过在IBM我们赢得了他们所有的生意,因为这两家公司在一整
年里除了吵架什么都没做。当尘埃落定之后PPD(Parc-Plac


相关文档:

解析Java类和对象的初始化过程

类的初始化和对象初始化是 JVM 管理的类型生命周期中非常重要的两个环节,Google 了一遍网络,有关类装载机制的文章倒是不少,然而类初始化和对象初始化的文章并不多,特别是从字节码和 JVM 层次来分析的文章更是鲜有所见。
本文主要对类和对象初始化全过程进行分析,通过一个实际问题引入,将源代码转换成 JVM 字节码后, ......

java 窗口关闭的六种方法

1.使用JFrame的enableEvents和processWindowEvent
//Frame1.java
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class Frame1 extends JFrame {
  public Frame1() {
    enableEvents(AWTEvent.WINDOW_EVENT_MASK);
    this.setSize(ne ......

Java实现文件拷贝的4种方法

使用 java 进行文件拷贝 相信很多人都会用,,不过效率上是否最好呢?
最近看了看NIO决定试一试 java  NIO 到底有什么性能的提升.
第一种方法:古老的方式
 public static long forJava(File f1,File f2) throws Exception{
  long time=new Date().getTime();
  int length=2097152;
  FileInp ......

载入java vm时windows出现错误:3

      最近用installanywhere做了一个安装包,卸载的时候总是出现“载入java vm时windows出现错误:3”,很不爽,上网查看原因,原来是因为中间我重新更换过jdk的版本,现在有些软件自带VM或JDK,windows系统通过注册表来管理当前系统所使用的VM和JDK路径,因此,当安装的软件JDK版本和 ......

Java之可变参数


public class VariableParameter {
public static void main(String[] args) {
System.out.println(add(1,2));
System.out.println(add(1,2,3,4));
}
public static int add(int x,int...args){
     //是3个点,args必须是 ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号