尽量措施片和应用措施都可以变得很重要,但假如在任那里所都利用它们就会变得杂乱和毫无用处。这一节余下部门代替它们的是一个Swing措施例子的显示框架:
//: Show.java // Tool for displaying Swing demos package c13.swing; import java.awt.*; import java.awt.event.*; import javax.swing.*; public class Show { public static void inFrame(JPanel jp, int width, int height) { String title = jp.getClass().toString(); // Remove the word "class": if(title.indexOf("class") != -1) title = title.substring(6); JFrame frame = new JFrame(title); frame.addWindowListener(new WindowAdapter() { public void windowClosing(WindowEvent e){ System.exit(0); } }); frame.getContentPane().add( jp, BorderLayout.CENTER); frame.setSize(width, height); frame.setVisible(true); } } ///:~
那些想显示它们本身的类将从JPanel处担任而且随后为它们本身增加一些可视化的组件。最后,它们建设一个包括下面这一行措施的main():
Show.inFrame(new MyClass(), 500, 300);
最后的两个自变量是显示的宽度和高度。
留意JFrame的标题是用RTTI发生的。