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

📄 fontdialogswing.java

📁 hsql是很有名的嵌入式数据库
💻 JAVA
字号:
/* Copyright (c) 2001-2005, The HSQL Development Group
 * All rights reserved.
 *
 * Redistribution and use in source and binary forms, with or without
 * modification, are permitted provided that the following conditions are met:
 *
 * Redistributions of source code must retain the above copyright notice, this
 * list of conditions and the following disclaimer.
 *
 * Redistributions in binary form must reproduce the above copyright notice,
 * this list of conditions and the following disclaimer in the documentation
 * and/or other materials provided with the distribution.
 *
 * Neither the name of the HSQL Development Group nor the names of its
 * contributors may be used to endorse or promote products derived from this
 * software without specific prior written permission.
 *
 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
 * ARE DISCLAIMED. IN NO EVENT SHALL HSQL DEVELOPMENT GROUP, HSQLDB.ORG,
 * OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
 * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
 * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
 * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
 * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
 * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 */


package org.hsqldb.util;import java.awt.Color;import java.awt.Container;import java.awt.Dimension;import java.awt.FlowLayout;import java.awt.Font;import java.awt.GraphicsEnvironment;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.awt.event.ItemEvent;import java.awt.event.ItemListener;import javax.swing.ImageIcon;import javax.swing.JButton;import javax.swing.JCheckBox;import javax.swing.JColorChooser;import javax.swing.JComboBox;import javax.swing.JDialog;import javax.swing.JFrame;//  weconsultants@users 20041109 - original swing port//  weconsultants@users 20050215 - version 1.8.0 -  Update: Compatbilty fix for JDK 1.3//      - Replaced: Objects JSpinner spinnerFontSizes and SpinnerNumberModel spinnerModelSizes//        for JComboBox fontSizesComboBox and String fontSizes[];public class FontDialogSwing extends JDialog {    private static boolean      isRunning   = false;    private static final String BACKGROUND  = "Background";    private static String       defaultFont = "Dialog";    private static final String FOREGROUND  = "Foreground";    private static JButton      bgColorButton;    private static JCheckBox    ckbbold;    private static JButton      closeButton;    private static JButton      fgColorButton;    private static JComboBox    fontsComboBox;    //  weconsultants@users 20050215 - Added for Compatbilty fix for JDK 1.3    private static JComboBox      fontSizesComboBox;    private static final String[] fontSizes = {        "8", "9", "10", "11", "12", "13", "14", "16", "18", "24", "36"    };    // weconsultants@users 20050215 - Commented out for Compatbilty fix for JDK 1.3    //  private static JSpinner           spinnerFontSizes;    //  private static SpinnerNumberModel spinnerModelSizes;    private static DatabaseManagerSwing fOwner;    private static JFrame frame =        new JFrame("DataBaseManagerSwing Font Selection Dialog");    private static JCheckBox ckbitalic;    /**     * Create and display FontDialogSwing Dialog.     *     */    public static void CreatFontDialog(DatabaseManagerSwing owner) {        if (isRunning) {            frame.setVisible(true);        } else {            CommonSwing.setSwingLAF(frame, CommonSwing.Native);            fOwner = owner;            frame.setIconImage(CommonSwing.getIcon("Frame"));            isRunning = true;            frame.setSize(600, 100);            CommonSwing.setFramePositon(frame);            ckbitalic = new JCheckBox(                new ImageIcon(CommonSwing.getIcon("ItalicFont")));            ckbitalic.putClientProperty("is3DEnabled", Boolean.TRUE);            ckbitalic.addActionListener(new ActionListener() {                public void actionPerformed(ActionEvent e) {                    setStyle();                }            });            ckbbold =                new JCheckBox(new ImageIcon(CommonSwing.getIcon("BoldFont")));            ckbbold.putClientProperty("is3DEnabled", Boolean.TRUE);            ckbbold.addActionListener(new ActionListener() {                public void actionPerformed(ActionEvent e) {                    setStyle();                }            });            fgColorButton = new JButton(                "Foreground",                new ImageIcon(CommonSwing.getIcon("ColorSelection")));            fgColorButton.putClientProperty("is3DEnabled", Boolean.TRUE);            fgColorButton.addActionListener(new ActionListener() {                public void actionPerformed(ActionEvent e) {                    setColor(FOREGROUND);                }            });            bgColorButton = new JButton(                "Background",                new ImageIcon(CommonSwing.getIcon("ColorSelection")));            bgColorButton.putClientProperty("is3DEnabled", Boolean.TRUE);            bgColorButton.addActionListener(new ActionListener() {                public void actionPerformed(ActionEvent e) {                    setColor(BACKGROUND);                }            });            closeButton =                new JButton("Close",                            new ImageIcon(CommonSwing.getIcon("Close")));            closeButton.putClientProperty("is3DEnabled", Boolean.TRUE);            closeButton.addActionListener(new ActionListener() {                public void actionPerformed(ActionEvent e) {                    frame.setVisible(false);                }            });            GraphicsEnvironment ge =                GraphicsEnvironment.getLocalGraphicsEnvironment();            String[]  fontNames = ge.getAvailableFontFamilyNames();            Dimension fontsComboBoxDimension = new Dimension(160, 25);            fontsComboBox = new JComboBox(fontNames);            fontsComboBox.putClientProperty("is3DEnabled", Boolean.TRUE);            fontsComboBox.setMaximumSize(fontsComboBoxDimension);            fontsComboBox.setPreferredSize(fontsComboBoxDimension);            fontsComboBox.setMaximumSize(fontsComboBoxDimension);            fontsComboBox.setEditable(false);            fontsComboBox.setSelectedItem(defaultFont);            fontsComboBox.addActionListener(new ActionListener() {                public void actionPerformed(ActionEvent e) {                    setFont();                }            });            // weconsultants@users 20050215 - Added for Compatbilty fix for  JDK 1.3            fontSizesComboBox = new JComboBox(fontSizes);            Dimension spinnerDimension = new Dimension(45, 25);            fontSizesComboBox.putClientProperty("is3DEnabled", Boolean.TRUE);            fontSizesComboBox.setMinimumSize(spinnerDimension);            fontSizesComboBox.setPreferredSize(spinnerDimension);            fontSizesComboBox.setMaximumSize(spinnerDimension);            fontSizesComboBox.addItemListener(new ItemListener() {                public void itemStateChanged(ItemEvent evt) {                    if (evt.getStateChange() == ItemEvent.SELECTED) {                        setFontSize((String) evt.getItem());                    }                }            });            // weconsultants@users 20050215 - Commented out for Compatbilty fix for  JDK 1.3            //            Dimension spinnerDimension = new Dimension(50, 25);            //            spinnerFontSizes = new JSpinner();            //            spinnerFontSizes.putClientProperty("is3DEnabled", Boolean.TRUE);            //            spinnerFontSizes.setMinimumSize(spinnerDimension);            //            spinnerFontSizes.setPreferredSize(spinnerDimension);            //            spinnerFontSizes.setMaximumSize(spinnerDimension);            //            spinnerModelSizes = new SpinnerNumberModel(12, 8, 72, 1);            //            spinnerFontSizes.setModel(spinnerModelSizes);            //            spinnerFontSizes.addChangeListener(new ChangeListener() {            //                public void stateChanged(ChangeEvent e) {            //                    setFontSize();            //                }            //            });            Container contentPane = frame.getContentPane();            contentPane.setLayout(new FlowLayout());            contentPane.add(fontsComboBox);            // weconsultants@users 20050215 - Commented out for Compatbilty fix for 1.3            // contentPane.add(spinnerFontSizes);            // weconsultants@users 20050215 - Added for Compatbilty fix for 1.3            contentPane.add(fontSizesComboBox);            contentPane.add(ckbbold);            contentPane.add(ckbitalic);            contentPane.add(fgColorButton);            contentPane.add(bgColorButton);            contentPane.add(closeButton);            frame.pack();            frame.setVisible(false);        }    }    public static void setFont() {        Font txtResultFont = fOwner.txtResult.getFont();        fOwner.txtResult.setFont(            new Font(                fontsComboBox.getSelectedItem().toString(),                txtResultFont.getStyle(), txtResultFont.getSize()));        Font txtCommandFont = fOwner.txtResult.getFont();        fOwner.txtCommand.setFont(            new Font(                fontsComboBox.getSelectedItem().toString(),                txtCommandFont.getStyle(), txtCommandFont.getSize()));        Font txtTreeFont = fOwner.txtResult.getFont();        fOwner.tTree.setFont(            new Font(                fontsComboBox.getSelectedItem().toString(),                txtTreeFont.getStyle(), txtTreeFont.getSize()));    }    /**     * Displays a color chooser and Sets the selected color.     */    public static void setFontSize(String inFontSize) {        // weconsultants@users 20050215 - Changed for Compatbilty fix for JDK 1.3        // Convert Strng to float for deriveFont() call        Float stageFloat = new Float(inFontSize);        float fontSize   = stageFloat.floatValue();        Font  fonttTree  = fOwner.tTree.getFont().deriveFont(fontSize);        fOwner.tTree.setFont(fonttTree);        Font fontTxtCommand =            fOwner.txtCommand.getFont().deriveFont(fontSize);        fOwner.txtCommand.setFont(fontTxtCommand);        Font fontTxtResult = fOwner.txtResult.getFont().deriveFont(fontSize);        fOwner.txtResult.setFont(fontTxtResult);    }    /**     * Changes the style (Bold, Italic ) of the selected text by checking the     * style buttons     */    public static void setStyle() {        int style = Font.PLAIN;        if (ckbbold.isSelected()) {            style |= Font.BOLD;        }        if (ckbitalic.isSelected()) {            style |= Font.ITALIC;        }        fOwner.tTree.setFont(fOwner.txtCommand.getFont().deriveFont(style));        fOwner.txtCommand.setFont(            fOwner.txtCommand.getFont().deriveFont(style));        fOwner.txtResult.setFont(            fOwner.txtResult.getFont().deriveFont(style));    }    public static void setColor(String inTarget) {        if (inTarget.equals(BACKGROUND)) {            Color backgroundColor = JColorChooser.showDialog(null,                "DataBaseManagerSwing Choose Background Color",                fOwner.txtResult.getBackground());            if (backgroundColor != null) {                bgColorButton.setBackground(backgroundColor);                fOwner.txtCommand.setBackground(backgroundColor);                fOwner.txtResult.setBackground(backgroundColor);            }        } else {            Color foregroundColor = JColorChooser.showDialog(null,                "DataBaseManagerSwing Choose Foreground Color",                fOwner.txtResult.getForeground());            if (foregroundColor != null) {                fgColorButton.setBackground(foregroundColor);                fOwner.txtCommand.setForeground(foregroundColor);                fOwner.txtResult.setForeground(foregroundColor);            }        }    }}

⌨️ 快捷键说明

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