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