aboutdialog.java

来自「用Java开发的、实现类似Visio功能的应用程序源码」· Java 代码 · 共 149 行

JAVA
149
字号
/**
 *    $Id:AboutDialog.java $
 *
 *    Copyright 2004 ~ 2005  JingFei International Cooperation LTD. All rights reserved. *
 */


package com.jfimagine.jfdraw.gui.dialog;

import java.awt.BorderLayout;
import java.awt.Frame;
import java.awt.Component;
import java.awt.Dimension;
import java.awt.Container;
import java.awt.Font;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.Box;
import javax.swing.BoxLayout;
import javax.swing.BorderFactory;


import javax.swing.ImageIcon;
import javax.swing.JComponent;
import javax.swing.JDialog;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JRootPane;
import javax.swing.JTextArea;
import javax.swing.KeyStroke;
import javax.swing.JOptionPane;
import javax.swing.JButton;
import javax.swing.JEditorPane;

import com.jfimagine.jfdraw.gui.ToolFactory;
import com.jfimagine.jfdraw.gui.resource.CADResource;
import com.jfimagine.jfdraw.gui.GUIConst;


public class AboutDialog extends JDialog implements ActionListener {
	private static final Font font_app	=(new Font("Dialog",Font.PLAIN,14));
	private static final Font font_text	=(new Font("Dialog",Font.PLAIN,12));
	

    	private static AboutDialog m_dialog;

    	public static void showAbout(Component frameComp) {
        	Frame frame = JOptionPane.getFrameForComponent(frameComp);
        	m_dialog = new AboutDialog(frame,CADResource.getString("label.about.about"));
        	m_dialog.setVisible(true);
    	}
    

	public AboutDialog(Frame owner, String title) {
		super(owner, title, true);
		setSize(new Dimension(450, 320));

		JPanel aboutPanel = new JPanel();
		getContentPane().add(aboutPanel);
		setLocationRelativeTo(owner);
		setResizable(false);
		
		ImageIcon logo	=ToolFactory.createIcon("general/logo");

		// Construct About Panel
		JLabel lab1 = new JLabel(logo);
		lab1.setBounds(10, 10, 10, 10);
		lab1.setAlignmentX(Component.CENTER_ALIGNMENT);


		JLabel lab2 = new JLabel(CADResource.APPLICATION_TITLE);
		lab2.setFont(font_app);
		lab2.setBounds(10, 10, 10, 10);
		lab2.setAlignmentX(Component.CENTER_ALIGNMENT);

		JLabel lab3 =new JLabel(CADResource.getString("label.about.email")+": support@jfimagine.com");
		lab3.setFont(font_text);
		lab3.setBounds(10, 10, 10, 10);
		lab3.setAlignmentX(Component.CENTER_ALIGNMENT);

		JLabel lab4 =new JLabel(CADResource.getString("label.about.website")+": www.jfimagine.com");
		lab4.setFont(font_text);
		lab4.setBounds(10, 10, 10, 10);
		lab4.setAlignmentX(Component.CENTER_ALIGNMENT);


		JLabel lab5 =
			new JLabel("Java:"+System.getProperty("java.version")+' '+CADResource.getString("label.about.os")+": "+System.getProperty("os.name"));
		lab5.setFont(font_text);
		lab5.setBounds(10, 10, 10, 10);  
		lab5.setAlignmentX(Component.CENTER_ALIGNMENT);
		


		JLabel lab6 =new JLabel("Copyright(C) 2004~2005 by JingFei International."+CADResource.getString("label.about.copyrights"));
		lab6.setFont(font_text);
		lab6.setBounds(10, 10, 10, 10);
		lab6.setAlignmentX(Component.CENTER_ALIGNMENT);
	

		
        	JPanel mainPanel = new JPanel();
        	mainPanel.setLayout(new BoxLayout(mainPanel, BoxLayout.Y_AXIS));
        	mainPanel.setBorder(BorderFactory.createEmptyBorder(10, 10, 10, 10));
		
		mainPanel.add(Box.createRigidArea(new Dimension(0,20)));
		mainPanel.add(lab1);
		mainPanel.add(Box.createRigidArea(new Dimension(0,20)));
		mainPanel.add(lab2);
		mainPanel.add(Box.createRigidArea(new Dimension(0,20)));
		mainPanel.add(lab3);
		mainPanel.add(Box.createRigidArea(new Dimension(0,10)));
		mainPanel.add(lab4);
		mainPanel.add(Box.createRigidArea(new Dimension(0,10)));
		mainPanel.add(lab5);
		mainPanel.add(Box.createRigidArea(new Dimension(0,10)));
		mainPanel.add(lab6);
		mainPanel.add(Box.createRigidArea(new Dimension(0,20)));
				

        	final JButton confirmButton = new JButton(CADResource.getString("button.confirm"));
        	confirmButton.setFont(GUIConst.FONT_BUTTON);
        	confirmButton.setActionCommand("Confirm");
        	confirmButton.addActionListener(this);
        	getRootPane().setDefaultButton(confirmButton);
		
        	//Put everything together, using the content pane's BorderLayout.
        	Container contentPane = getContentPane();
        	contentPane.add(mainPanel, BorderLayout.CENTER);
        	contentPane.add(confirmButton, BorderLayout.SOUTH);

        	pack();
	}


    	//Handle clicks on the Set and Cancel buttons.
    	public void actionPerformed(ActionEvent e) {
        	if ("Confirm".equals(e.getActionCommand())) {
        		//do nothing
        	}else{
        		//do nothing
        	}	
        	m_dialog.setVisible(false);
    }


}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?