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

📄 renderer2dmodeleditor.java

📁 化学图形处理软件
💻 JAVA
字号:
/* $RCSfile$    * $Author: egonw $    * $Date: 2008-02-17 10:26:28 +0100 (Sun, 17 Feb 2008) $     * $Revision: 10152 $ *  * Copyright (C) 2004-2007  The Chemistry Development Kit (CDK) project *  * Contact: cdk-devel@lists.sourceforge.net *  * This program 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 program 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 program; if not, write to the Free Software * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.  */package org.openscience.cdk.applications.swing.editor;import java.awt.Font;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import javax.swing.JButton;import javax.swing.JCheckBox;import javax.swing.JFrame;import javax.swing.JLabel;import org.openscience.cdk.applications.swing.FieldTablePanel;import org.openscience.cdk.renderer.Renderer2DModel;import com.ozten.font.JFontChooser;/** * @cdk.module       jchempaint * @cdk.builddepends jfontchooser.jar * @cdk.require      swing * @cdk.bug          1525961 */public class Renderer2DModelEditor extends FieldTablePanel implements ActionListener {        private static final long serialVersionUID = 8694652992068950179L;        private JCheckBox drawNumbers;    private JCheckBox showAtomAtomMapping;    private JCheckBox useKekuleStructure;    private JCheckBox showEndCarbons;    private JCheckBox showImplicitHydrogens;    private JCheckBox showAromaticity;    private JCheckBox showAromaticityInCDKStyle;    private JCheckBox colorAtomsByType;    private JCheckBox showToolTip;    private JCheckBox showReactionBoxes;    private JCheckBox useAA;    private JLabel fontName;    private JButton chooseFontButton;    private Font currentFont;        private JFrame frame;        private Renderer2DModel model;    	public Renderer2DModelEditor(JFrame frame) {        super();        this.frame = frame;        constructPanel();	}        private void constructPanel() {        currentFont = null;        drawNumbers = new JCheckBox();        addField("Draw atom numbers", drawNumbers);        showAtomAtomMapping = new JCheckBox();        addField("Show atom-atom mappings", showAtomAtomMapping);        useKekuleStructure = new JCheckBox();        addField("Explicit carbons", useKekuleStructure);        showEndCarbons = new JCheckBox();        addField("Show explicit methyl groups", showEndCarbons);        showImplicitHydrogens = new JCheckBox();        addField("Show implicit hydrogens if atom symbol is shown", showImplicitHydrogens);        showAromaticity = new JCheckBox();        addField("Use aromatic ring circles", showAromaticity);        showAromaticityInCDKStyle = new JCheckBox();        addField("Use CDK style aromaticity indicators", showAromaticityInCDKStyle);        colorAtomsByType = new JCheckBox();        addField("Color atoms by element", colorAtomsByType);        useAA = new JCheckBox();        addField("Use Anti-Aliasing", useAA);        showToolTip = new JCheckBox();        addField("Show tooltips", showToolTip);                showReactionBoxes = new JCheckBox();        addField("Show boxes around reactions", showReactionBoxes);                fontName = new JLabel();        addField("Font name", fontName);        chooseFontButton = new JButton("Choose Font...");        chooseFontButton.addActionListener(this);        chooseFontButton.setActionCommand("chooseFont");        addField("", chooseFontButton);    }        public void setModel(Renderer2DModel model) {        this.model = model;        drawNumbers.setSelected(model.getDrawNumbers());        showAtomAtomMapping.setSelected(model.getShowAtomAtomMapping());        useKekuleStructure.setSelected(model.getKekuleStructure());        showEndCarbons.setSelected(model.getShowEndCarbons());        showImplicitHydrogens.setSelected(model.getShowImplicitHydrogens());        showAromaticity.setSelected(model.getShowAromaticity());        showAromaticityInCDKStyle.setSelected(model.getShowAromaticityInCDKStyle());        colorAtomsByType.setSelected(model.getColorAtomsByType());        useAA.setSelected(model.getUseAntiAliasing());        showToolTip.setSelected(model.getShowTooltip());        showReactionBoxes.setSelected(model.getShowReactionBoxes());        currentFont = model.getFont();        if (currentFont != null) {            fontName.setText(currentFont.getFontName());        }        validate();    }	    public void applyChanges() {        model.setDrawNumbers(drawNumbers.isSelected());        model.setShowAtomAtomMapping(showAtomAtomMapping.isSelected());        model.setKekuleStructure(useKekuleStructure.isSelected());        model.setShowEndCarbons(showEndCarbons.isSelected());        model.setShowImplicitHydrogens(showImplicitHydrogens.isSelected());        model.setShowAromaticity(showAromaticity.isSelected());        model.setShowAromaticityInCDKStyle(showAromaticityInCDKStyle.isSelected());        model.setColorAtomsByType(colorAtomsByType.isSelected());        model.setUseAntiAliasing(useAA.isSelected());        model.setShowTooltip(showToolTip.isSelected());        model.setShowReactionBoxes(showReactionBoxes.isSelected());        model.setFont(currentFont);    }        /**     * Required by the ActionListener interface.     */    public void actionPerformed(ActionEvent e) {        if ("chooseFont".equals(e.getActionCommand())) {            Font newFont = JFontChooser.showDialog(this.frame, "Choose a Font", "Carbon Dioxide", currentFont);            if (newFont != null) {                currentFont = newFont;                fontName.setText(currentFont.getFontName());            }        }    }     }

⌨️ 快捷键说明

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