⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 periodictablepanel.java

📁 化学图形处理软件
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
/* *  $RCSfile$ *  $Author: egonw $ *  $Date: 2007-04-16 10:40:19 +0200 (Mon, 16 Apr 2007) $ *  $Revision: 8201 $ * *  Copyright (C) 2004  The Chemistry Development Kit (CDK) Project * *  Contact: cdk-devel@lists.sourceforge.net * *  This library is free software; you can redistribute it and/or *  modify it under the terms of the GNU Lesser General Public *  License as published by the Free Software Foundation; either *  version 2.1 of the License, or (at your option) any later version. * *  This library is distributed in the hope that it will be useful, *  but WITHOUT ANY WARRANTY; without even the implied warranty of *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU *  Lesser General Public License for more details. * *  You should have received a copy of the GNU Lesser General Public *  License along with this library; if not, write to the Free Software *  Foundation, 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.  */package org.openscience.cdk.applications.swing;import java.awt.BorderLayout;import java.awt.Color;import java.awt.Dimension;import java.awt.Font;import java.awt.GridLayout;import java.awt.Point;import java.awt.event.ActionEvent;import java.awt.event.KeyEvent;import java.net.URL;import java.util.EventObject;import java.util.Vector;import javax.swing.AbstractAction;import javax.swing.AbstractButton;import javax.swing.BorderFactory;import javax.swing.Box;import javax.swing.ImageIcon;import javax.swing.JButton;import javax.swing.JLabel;import javax.swing.JLayeredPane;import javax.swing.JPanel;import javax.swing.border.BevelBorder;import javax.swing.border.EmptyBorder;import org.openscience.cdk.Element;import org.openscience.cdk.PeriodicTableElement;import org.openscience.cdk.config.ElementPTFactory;import org.openscience.cdk.event.ICDKChangeListener;import org.openscience.cdk.tools.LoggingTool;/** * JPanel version of the periodic system. * * @author        Egon Willighagen * @author        Geert Josten * @author        Miguel Rojas * @cdk.created   May 9, 2005 * @cdk.module    applications * @cdk.require   swing */public class PeriodicTablePanel extends JPanel{    private static final long serialVersionUID = -2539418347261469740L;        Vector listeners = null;	PeriodicTableElement selectedElement = null;		private JPanel panel;	//private JLabel label;	private JLayeredPane layeredPane;		private ElementPTFactory factory;	private LoggingTool logger;		public static int APPLICATION = 0;	/*default*/	public static int JCP = 1;	/* 	 * set if the button should be written with html - which takes 	 * too long time for loading	 * APPLICATION = with html	 * JCP = default	 */ 		private int controlViewerButton;		/**	*  Constructor of the PeriodicTablePanel object	*/	public PeriodicTablePanel()	{		super();		setLayout( new BorderLayout());		try {			factory = ElementPTFactory.getInstance();		} catch (Exception ex1) 		{			logger.error(ex1.getMessage());			logger.debug(ex1);		}		layeredPane = new JLayeredPane();		layeredPane.setPreferredSize(new Dimension(611, 575));		layeredPane.setBorder(BorderFactory.createTitledBorder(                                    "Periodic Table for CDK"));		JPanel tp = PTPanel();		tp.setBounds(8,85,600, 480);				JButton button = new JButton("Reload");		button.setVerticalTextPosition(AbstractButton.BOTTOM);		button.setHorizontalTextPosition(AbstractButton.CENTER);		button.setMnemonic(KeyEvent.VK_R);		button.setToolTipText("Click this button to back to PeriodicTable.");		button.setFont(new Font("Times-Roman",Font.BOLD, 10));		button.setBounds(510, 20, 90, 20);		button.addActionListener( new BackAction() );		panel = CreateLabelProperties(null);				layeredPane.add(button, new Integer(1));		layeredPane.add(tp, new Integer(0));		layeredPane.add(panel, new Integer(1));		add(layeredPane);	}		private JPanel PTPanel()	{		controlViewerButton = PeriodicTablePanel.JCP;		JPanel panel = new JPanel();		listeners = new Vector();		panel.setLayout(new GridLayout(0, 18));				//--------------------------------		JButton butt = new JButton("IA");		butt.setBorder(new EmptyBorder(2,2,2,2));		panel.add(butt);		//--------------------------------		for (int i = 0; i < 16; i++)		{			Box.createHorizontalGlue();			panel.add(Box.createHorizontalGlue());		}		butt = new JButton("VIIIA");		butt.setBorder(new EmptyBorder(2,2,2,2));		panel.add(butt);				panel.add(createButton("H"));				butt = new JButton("IIA");		butt.setBorder(new EmptyBorder(2,2,2,2));		panel.add(butt);		for (int i = 0; i < 10; i++)		{			panel.add(Box.createHorizontalGlue());		}		butt = new JButton("IIIA");		butt.setBorder(new EmptyBorder(2,2,2,2));		panel.add(butt);				butt = new JButton("VIA");		butt.setBorder(new EmptyBorder(2,2,2,2));		panel.add(butt);				butt = new JButton("VA");		butt.setBorder(new EmptyBorder(2,2,2,2));		panel.add(butt);				butt = new JButton("VIA");		butt.setBorder(new EmptyBorder(2,2,2,2));		panel.add(butt);				butt = new JButton("VIIA");		butt.setBorder(new EmptyBorder(2,2,2,2));		panel.add(butt);		//				panel.add(createButton("He"));				panel.add(createButton("Li"));				panel.add(createButton("Be"));		for (int i = 0; i < 10; i++)		{			panel.add(Box.createHorizontalGlue());		}		//no metall		panel.add(createButton("B"));		panel.add(createButton("C"));		panel.add(createButton("N"));		panel.add(createButton("O"));		panel.add(createButton("F"));		//		panel.add(createButton("Ne"));				panel.add(createButton("Na"));		panel.add(createButton("Mg"));				butt = new JButton("IIIB");		butt.setBorder(new EmptyBorder(2,2,2,2));		panel.add(butt);		butt = new JButton("IVB");		butt.setBorder(new EmptyBorder(2,2,2,2));		panel.add(butt);		butt = new JButton("VB");		butt.setBorder(new EmptyBorder(2,2,2,2));		panel.add(butt);		butt = new JButton("VIB");		butt.setBorder(new EmptyBorder(2,2,2,2));		panel.add(butt);		butt = new JButton("VIIB");		butt.setBorder(new EmptyBorder(2,2,2,2));		panel.add(butt);		butt = new JButton("--");		butt.setBorder(new EmptyBorder(2,2,2,2));		panel.add(butt);		butt = new JButton("VIIIB");		butt.setBorder(new EmptyBorder(2,2,2,2));		panel.add(butt);		butt = new JButton("--");		butt.setBorder(new EmptyBorder(2,2,2,2));		panel.add(butt);		butt = new JButton("IB");		butt.setBorder(new EmptyBorder(2,2,2,2));		panel.add(butt);		butt = new JButton("IIB");		butt.setBorder(new EmptyBorder(2,2,2,2));		panel.add(butt);		//no metall		panel.add(createButton("Al"));		panel.add(createButton("Si"));		panel.add(createButton("P"));		panel.add(createButton("S"));		panel.add(createButton("Cl"));		//		panel.add(createButton("Ar"));				panel.add(createButton("K"));		panel.add(createButton("Ca"));		//transition		panel.add(createButton("Sc"));		panel.add(createButton("Ti"));		panel.add(createButton("V"));		panel.add(createButton("Cr"));		panel.add(createButton("Mn"));		panel.add(createButton("Fe"));		panel.add(createButton("Co"));		panel.add(createButton("Ni"));		panel.add(createButton("Cu"));		panel.add(createButton("Zn"));		//no metall		panel.add(createButton("Ga"));		panel.add(createButton("Ge"));		panel.add(createButton("As"));		panel.add(createButton("Se"));		panel.add(createButton("Br"));		//		panel.add(createButton("Kr"));				panel.add(createButton("Rb"));		panel.add(createButton("Sr"));		//transition		panel.add(createButton("Y"));		panel.add(createButton("Zr"));		panel.add(createButton("Nb"));		panel.add(createButton("Mo"));		panel.add(createButton("Tc"));		panel.add(createButton("Ru"));		panel.add( createButton("Rh"));		panel.add(createButton("Pd"));		panel.add(createButton("Ag"));		panel.add(createButton("Cd"));		//no metall		panel.add(createButton("In"));		panel.add(createButton("Sn"));		panel.add(createButton("Sb"));		panel.add(createButton("Te"));		panel.add(createButton("I"));		//		panel.add(createButton("Xe"));				panel.add(createButton("Cs"));		panel.add(createButton("Ba"));		//transition		panel.add(createButton("La"));		panel.add(createButton("Hf"));		panel.add(createButton("Ta"));		panel.add(createButton("W"));		panel.add(createButton("Re"));		panel.add(createButton("Os"));		panel.add(createButton("Ir"));		panel.add(createButton("Pt"));		panel.add(createButton("Au"));		panel.add(createButton("Hg"));		//no metall		panel.add(createButton("Tl"));		panel.add(createButton("Pb"));		panel.add(createButton("Bi"));		panel.add(createButton("Po"));		panel.add(createButton("At"));		//		panel.add(createButton("Rn"));				panel.add(createButton("Fr"));		panel.add(createButton("Ra"));		//transition		panel.add(createButton("Ac"));		panel.add(createButton("Rf"));		panel.add(createButton("Db"));		panel.add(createButton("Sg"));		panel.add(createButton("Bh"));		panel.add(createButton("Hs"));		panel.add(createButton("Mt"));		panel.add(createButton("Ds"));		panel.add(createButton("Rg"));		for (int i = 0; i < 9; i++)		{			panel.add(Box.createHorizontalGlue());		}		//Acti		panel.add(createButton("Ce"));		panel.add(createButton("Pr"));		panel.add(createButton("Nd"));		panel.add(createButton("Pm"));		panel.add(createButton("Sm"));		panel.add(createButton("Eu"));		panel.add(createButton("Gd"));		panel.add(createButton("Tb"));		panel.add(createButton("Dy"));		panel.add(createButton("Ho"));		panel.add(createButton("Er"));		panel.add(createButton("Tm"));		panel.add(createButton("Yb"));		panel.add(createButton("Lu"));		for (int i = 0; i < 4; i++)		{			panel.add(Box.createHorizontalGlue());		}		//Lacti

⌨️ 快捷键说明

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