3、TextEditFrame_AboutBox.java的源程序代码:
package texteditor; import java.awt.*; import java.awt.event.*; import javax.swing.*; import javax.swing.border.*; /** * <p>Title: TextEditor</p> * <p>Description: This is a study programme</p> * <p>Copyright: Copyright (c) 2004</p> * <p>Company: ghq</p> * @author ghq * @version 1.0 */ public class TextEditFrame_AboutBox extends JDialog implements ActionListener { JPanel panel1 = new JPanel(); JPanel panel2 = new JPanel(); JPanel insetsPanel1 = new JPanel(); JPanel insetsPanel2 = new JPanel(); JPanel insetsPanel3 = new JPanel(); JButton button1 = new JButton(); JLabel imageControl1 = new JLabel(); ImageIcon imageIcon; JLabel label1 = new JLabel(); JLabel label2 = new JLabel(); JLabel label3 = new JLabel(); JLabel label4 = new JLabel(); BorderLayout borderLayout1 = new BorderLayout(); BorderLayout borderLayout2 = new BorderLayout(); FlowLayout flowLayout1 = new FlowLayout(); FlowLayout flowLayout2 = new FlowLayout(); GridLayout gridLayout1 = new GridLayout(); String product = "TextEditor"; String version = "1.0"; String copyright = "Copyright (c) 2002"; String comments = "This is a study programme"; //Construct the frame public TextEditFrame_AboutBox(Frame parent) { super(parent); enableEvents(AWTEvent.WINDOW_EVENT_MASK); try { jbInit(); } catch(Exception e) { e.printStackTrace(); } pack(); } //Component initialization private void jbInit() throws Exception { //imageLabel.setIcon(new ImageIcon(TextEditFrame_AboutBox.class.getResource("[Your Image]"))); this.setTitle("About"); setResizable(false); panel1.setLayout(borderLayout1); panel2.setLayout(borderLayout2); insetsPanel1.setLayout(flowLayout1); insetsPanel2.setLayout(flowLayout1); insetsPanel2.setBorder(new EmptyBorder(10, 10, 10, 10)); gridLayout1.setRows(4); gridLayout1.setColumns(1); label1.setText(product); label2.setText(version); label3.setText(copyright); label4.setText(comments); insetsPanel3.setLayout(gridLayout1); insetsPanel3.setBorder(new EmptyBorder(10, 60, 10, 10)); button1.setText("Ok"); button1.addActionListener(this); insetsPanel2.add(imageControl1, null); panel2.add(insetsPanel2, BorderLayout.WEST); this.getContentPane().add(panel1, null); insetsPanel3.add(label1, null); insetsPanel3.add(label2, null); insetsPanel3.add(label3, null); insetsPanel3.add(label4, null); panel2.add(insetsPanel3, BorderLayout.CENTER); insetsPanel1.add(button1, null); panel1.add(insetsPanel1, BorderLayout.SOUTH); panel1.add(panel2, BorderLayout.NORTH); } //Overridden so we can exit when windows is cancel protected void processWindowEvent(WindowEvent e) { if (e.getID() == WindowEvent.WINDOW_CLOSING) { cancel(); } super.processWindowEvent(e); } void cancel() { dispose(); } // Help|About de button is used action performed public void actionPerformed(ActionEvent e) { if (e.getSource() == button1) { cancel(); } } } | 说明:上面的这段程序主要是构建Help菜单的AboutBox 对话框,显示product、version 和comments 等内容。 至此我们已完成文本编辑器所有的菜单及代码设计等工作,在 jbuilder9 环境下编译运行会出现如下的Text Editor窗口:

|
|