盡管程序片和應用程序都可以變得很重要,但如果在任何地方都使用它們就會變得混亂和毫無用處。這一節余下部分取代它們的是一個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產生的。