如果我们长期艰苦不懈地利用java构建的UI,我们并不需要扔掉它改变到Swing阵营中来。幸运的是,库被设计得允许容易地修改——在很多情况下我们可以简单地放一个“J”到我们老AWT组件的每个类名前面即可。下面这个例子拥有我们所熟悉的特色:
//: JButtonDemo.java
// Looks like Java 1.1 but with J's added
package c13.swing;
import java.awt.*;
import java.awt.event.*;
import java.applet.*;
import javax.swing.*;
public class JButtonDemo extends Applet
JButton
b1 = new JButton("JButton 1"),
b2 = new JButton("JButton 2");
JTextField t = new JTextField(20);
public void init()
ActionListener al = new ActionListener()
public void actionPerformed(ActionEvent e)
String name =
((JButton)e.getSource()).getText();
t.setText(name + " Pressed")
b1.addActionListener(al);
add(b1);
b2.addActionListener(al);
add(b2);
add(t);
public static void main(String args[]) {
JButtonDemo applet = new JButtonDemo();
JFrame frame = new JFrame("TextAreaNew");
frame.addwindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent e){
System.exit(0);
frame.getContentPane().add(
applet, BorderLayout.CENTER);
frame.setSize(300,100);
applet.init();
applet.start();
frame.setVisible(true);
这是一个新的输入语句,但此外任何事物除了增加了一些“J”外,看起都像这Java 1.1版的AWT。同样,我们不恰当的用add()方法增加到Swing JFrame中,除此之外我们必须像上面看到的一样先准备一些“content pane”。我们可以容易地得到Swing一个简单的改变所带来的好处。
因为程序中的封装语句,我们不得不调用像下面所写的一样调用这个程序:
java c13.swing.JbuttonDemo
在这一节里出现的所有的程序都将需要一个相同的窗体来运行它们。
¥399.00
¥299.00
¥498.00
¥29.00