Swing显示框架2007-05-29 yycnet.yeah.net yyc译尽管程序片和应用程序都可以变得很重要,但如果在任何地方都使用它们就会变得混乱和毫无用处。这一节余下部分取代它们的是一个Swing程序例子的显示框架:
//: Show.java// Tool for displaying Swing demospackage 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产生的。