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

📄 fontdialog.java

📁 Memoranda( 从前以jNotes2而闻名) 是一个日志管理和个人项目管理工具
💻 JAVA
字号:
package net.sf.memoranda.ui.htmleditor;import java.awt.BorderLayout;import java.awt.Color;import java.awt.Dimension;import java.awt.FlowLayout;import java.awt.Font;import java.awt.Frame;import java.awt.GraphicsEnvironment;import java.awt.GridBagConstraints;import java.awt.GridBagLayout;import java.awt.Insets;import java.awt.event.ActionEvent;import java.util.Vector;import javax.swing.BorderFactory;import javax.swing.ImageIcon;import javax.swing.JButton;import javax.swing.JColorChooser;import javax.swing.JComboBox;import javax.swing.JDialog;import javax.swing.JLabel;import javax.swing.JPanel;import javax.swing.JTextField;import javax.swing.SwingConstants;import javax.swing.UIManager;import javax.swing.border.TitledBorder;import net.sf.memoranda.ui.htmleditor.util.Local;/** * <p>Title: </p> * <p>Description: </p> * <p>Copyright: Copyright (c) 2002</p> * <p>Company: </p> * @author unascribed * @version 1.0 */public class FontDialog extends JDialog {    JPanel areaPanel = new JPanel(new GridBagLayout());    GridBagConstraints gbc;    JPanel buttonsPanel = new JPanel(new FlowLayout(FlowLayout.RIGHT, 10, 10));    JButton cancelB = new JButton();    JButton okB = new JButton();    JPanel headerPanel = new JPanel(new FlowLayout(FlowLayout.LEFT));    public JLabel header = new JLabel();    public boolean CANCELLED = false;    public JComboBox fontSizeCB = new JComboBox(new Object[]     	{"", "1","2","3","4","5","6","7"});    public JComboBox fontFamilyCB;    public JLabel sample = new JLabel();    JPanel samplePanel = new JPanel(new FlowLayout(FlowLayout.CENTER));    public JTextField colorField = new JTextField();    JLabel lblTextColor = new JLabel();    JButton colorB = new JButton();    public FontDialog(Frame frame) {        super(frame, Local.getString("Text properties"), true);        try {            jbInit();            pack();        }        catch (Exception ex) {            ex.printStackTrace();        }    }    public FontDialog() {        this(null);    }    void jbInit() throws Exception {	this.setResizable(false);        GraphicsEnvironment gEnv =         	GraphicsEnvironment.getLocalGraphicsEnvironment();        String envfonts[] = gEnv.getAvailableFontFamilyNames();        Vector fonts = new Vector();        fonts.add("");        fonts.add("serif");        fonts.add("sans-serif");        fonts.add("monospaced");        for (int i = 0; i < envfonts.length; i++)            fonts.add(envfonts[i]);        fontFamilyCB = new JComboBox(fonts);        		headerPanel.setBackground(Color.WHITE);		header.setFont(new java.awt.Font("Dialog", 0, 20));		header.setForeground(new Color(0, 0, 124));		header.setText(Local.getString("Text properties"));		header.setIcon(new ImageIcon(			net.sf.memoranda.ui.htmleditor.ImageDialog.class.getResource(			"resources/icons/fontbig.png")));		headerPanel.add(header);		this.getContentPane().add(headerPanel, BorderLayout.NORTH);		                areaPanel.setBorder(BorderFactory.createEtchedBorder(        	Color.white, new Color(142, 142, 142)));		fontFamilyCB.setMaximumRowCount(9);		fontFamilyCB.setBorder(new TitledBorder(			BorderFactory.createEmptyBorder(), 			Local.getString("Font family")));		fontFamilyCB.setPreferredSize(new Dimension(200, 50));		fontFamilyCB.addActionListener(new java.awt.event.ActionListener() {			public void actionPerformed(ActionEvent e) {				fontChanged(e);			}		});        gbc = new GridBagConstraints();        gbc.gridx = 0; gbc.gridy = 0;        gbc.gridwidth = 2;        gbc.anchor = GridBagConstraints.WEST;        gbc.insets = new Insets(10, 10, 5, 5);        areaPanel.add(fontFamilyCB, gbc);		fontSizeCB.setEditable(true);		fontSizeCB.addActionListener(new java.awt.event.ActionListener() {			public void actionPerformed(ActionEvent e) {				fontChanged(e);			}		});		fontSizeCB.setBorder(new TitledBorder(			BorderFactory.createEmptyBorder(), Local.getString("Font size")));		fontSizeCB.setPreferredSize(new Dimension(60, 50));		gbc = new GridBagConstraints();		gbc.gridx = 2; gbc.gridy = 0;		gbc.anchor = GridBagConstraints.WEST;		gbc.insets = new Insets(10, 5, 5, 10);		areaPanel.add(fontSizeCB, gbc);		lblTextColor.setText(Local.getString("Font color"));				gbc = new GridBagConstraints();		gbc.gridx = 0; gbc.gridy = 1;		gbc.anchor = GridBagConstraints.CENTER;		gbc.insets = new Insets(5, 20, 5, 5);		areaPanel.add(lblTextColor, gbc);		colorField.setPreferredSize(new Dimension(60, 25));		gbc = new GridBagConstraints();		gbc.gridx = 1; gbc.gridy = 1;		gbc.anchor = GridBagConstraints.EAST;		gbc.insets = new Insets(5, 5, 5, 5);		areaPanel.add(colorField, gbc);		colorB.addActionListener(new java.awt.event.ActionListener() {			public void actionPerformed(ActionEvent e) {				colorB_actionPerformed(e);			}		});		colorB.setIcon(new ImageIcon(			net.sf.memoranda.ui.htmleditor.FontDialog.class.getResource(			"resources/icons/color.png")));		colorB.setPreferredSize(new Dimension(25, 25));		gbc = new GridBagConstraints();		gbc.gridx = 2; gbc.gridy = 1;		gbc.anchor = GridBagConstraints.CENTER;		gbc.insets = new Insets(5, 5, 5, 5);		areaPanel.add(colorB, gbc);		samplePanel.setBackground(Color.white);		samplePanel.setBorder(BorderFactory.createTitledBorder(			Local.getString("Sample")));		sample.setText(Local.getString("AaBbCcDd"));		sample.setHorizontalAlignment(SwingConstants.CENTER);		sample.setVerticalAlignment(SwingConstants.CENTER);		sample.setPreferredSize(new Dimension(250, 50));		samplePanel.add(sample);				gbc = new GridBagConstraints();		gbc.gridx = 0; gbc.gridy = 2;		gbc.gridwidth = 3;		gbc.gridheight = 2;		gbc.fill = GridBagConstraints.BOTH;		gbc.insets = new Insets(5, 10, 10, 10);		areaPanel.add(samplePanel, gbc);		this.getContentPane().add(areaPanel, BorderLayout.CENTER);								        cancelB.setMaximumSize(new Dimension(100, 26));        cancelB.setMinimumSize(new Dimension(100, 26));        cancelB.setPreferredSize(new Dimension(100, 26));        cancelB.setText(Local.getString("Cancel"));        cancelB.addActionListener(new java.awt.event.ActionListener() {            public void actionPerformed(ActionEvent e) {                cancelB_actionPerformed(e);            }        });        okB.setMaximumSize(new Dimension(100, 26));        okB.setMinimumSize(new Dimension(100, 26));        okB.setPreferredSize(new Dimension(100, 26));        okB.setText(Local.getString("Ok"));        okB.addActionListener(new java.awt.event.ActionListener() {            public void actionPerformed(ActionEvent e) {                okB_actionPerformed(e);            }        });        this.getRootPane().setDefaultButton(okB);        buttonsPanel.add(okB, null);        buttonsPanel.add(cancelB, null);        this.getContentPane().add(buttonsPanel, BorderLayout.SOUTH);    }    void okB_actionPerformed(ActionEvent e) {        this.dispose();    }    void cancelB_actionPerformed(ActionEvent e) {        CANCELLED = true;        this.dispose();    }    void fontChanged(ActionEvent e) {        int[] sizes = {8,10,13,16,18,24,32};        int size = 16;        String face;        Font font = sample.getFont();        if (fontSizeCB.getSelectedIndex() > 0)            size = sizes[fontSizeCB.getSelectedIndex()-1];        if (fontFamilyCB.getSelectedIndex() >0)             face = (String)fontFamilyCB.getSelectedItem();        else face = font.getName();                sample.setFont(new Font(face,Font.PLAIN, size));    }       void colorB_actionPerformed(ActionEvent e) {		// Fix until Sun's JVM supports more locales...		UIManager.put(			"ColorChooser.swatchesNameText",			Local.getString("Swatches"));		UIManager.put("ColorChooser.hsbNameText", Local.getString("HSB"));		UIManager.put("ColorChooser.rgbNameText", Local.getString("RGB"));		UIManager.put(			"ColorChooser.swatchesRecentText",			Local.getString("Recent:"));		UIManager.put("ColorChooser.previewText", Local.getString("Preview"));		UIManager.put(			"ColorChooser.sampleText",			Local.getString("Sample Text")				+ " "				+ Local.getString("Sample Text"));		UIManager.put("ColorChooser.okText", Local.getString("OK"));		UIManager.put("ColorChooser.cancelText", Local.getString("Cancel"));		UIManager.put("ColorChooser.resetText", Local.getString("Reset"));		UIManager.put("ColorChooser.hsbHueText", Local.getString("H"));		UIManager.put("ColorChooser.hsbSaturationText", Local.getString("S"));		UIManager.put("ColorChooser.hsbBrightnessText", Local.getString("B"));		UIManager.put("ColorChooser.hsbRedText", Local.getString("R"));		UIManager.put("ColorChooser.hsbGreenText", Local.getString("G"));		UIManager.put("ColorChooser.hsbBlueText", Local.getString("B2"));		UIManager.put("ColorChooser.rgbRedText", Local.getString("Red"));		UIManager.put("ColorChooser.rgbGreenText", Local.getString("Green"));		UIManager.put("ColorChooser.rgbBlueText", Local.getString("Blue"));                Color c = JColorChooser.showDialog(this, Local.getString("Font color"),         	Util.decodeColor(colorField.getText()));        if (c == null) return;        colorField.setText(Util.encodeColor(c));        Util.setColorField(colorField);        sample.setForeground(c);    }}

⌨️ 快捷键说明

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