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

📄 fontdialog.java

📁 的说法科斯洛伐路上看到伐楼上的开发1科林麦克;
💻 JAVA
字号:
package org.loon.framework.ide.test.dialog;

/**
 * <p>Title: LoonFramework</p>
 * <p>Description:</p>
 * <p>Copyright: Copyright (c) 2007</p>
 * <p>Company: LoonFramework</p>
 * @author chenpeng  
 * @email:ceponline@yahoo.com.cn 
 * @version 0.1
 */
import java.awt.BorderLayout;
import java.awt.Container;
import java.awt.Font;
import java.awt.Frame;
import java.awt.GraphicsEnvironment;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;

import javax.swing.JButton;
import javax.swing.JDialog;
import javax.swing.JLabel;
import javax.swing.JList;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTextField;
import javax.swing.event.ListSelectionEvent;
import javax.swing.event.ListSelectionListener;

import org.loon.framework.ide.test.LookAndFeel;

public class FontDialog extends JDialog
    implements ActionListener, ListSelectionListener
{
    /**
	 * 
	 */
	private static final long serialVersionUID = 1L;
	JTextField txtFont;
    JList lstFont;
    JLabel lblFont;
    JPanel pnlFont;
    JPanel pnlFontNorth;
    JTextField txtStyle;
    JList lstStyle;
    JLabel lblStyle;
    JPanel pnlStyle;
    JPanel pnlStyleNorth;
    JTextField txtSize;
    JList lstSize;
    JLabel lblSize;
    JPanel pnlSize;
    JPanel pnlSizeNorth;
    JPanel pnlCenter;
    JButton btnOk;
    JButton btnCancel;
    JPanel pnlSouth;
    JPanel pnlSouthEast;
    Container contentPane;
    String strFont[];
    String strStyle[] = {
        "普通", "粗体", "斜体", "粗体/斜体"
    };
    int intStyle[] = {
        0, 1, 2, 3
    };
    String strSize[] = {
        "8", "9", "10", "11", "12", "14", "16", "18", "20"
    };
    String strPri[] = {
        "宋体", "Serif", "System"
    };
    Font font;
    public FontDialog(Frame frame, Font font1)
    {
        super(frame, "JavaIDE : 字体设定", true);
        txtFont = new JTextField();
        lblFont = new JLabel("字体");
        pnlFont = new JPanel();
        pnlFontNorth = new JPanel();
        txtStyle = new JTextField();
        lblStyle = new JLabel("样式");
        pnlStyle = new JPanel();
        pnlStyleNorth = new JPanel();
        txtSize = new JTextField();
        lblSize = new JLabel("大小");
        pnlSize = new JPanel();
        pnlSizeNorth = new JPanel();
        pnlCenter = new JPanel();
        btnOk = new JButton("确定");
        btnCancel = new JButton("取消");
        pnlSouth = new JPanel();
        pnlSouthEast = new JPanel();
        addWindowListener(new WindowAdapter() {

            public void windowClosing(WindowEvent windowevent)
            {
                setVisible(false);
            }

        });
        contentPane = getContentPane();
        if(font == null)
            font = font1;
        setSize(400, 200);
        setResizable(false);
        setLocationRelativeTo(frame);
        contentPane.setLayout(new BorderLayout(5, 5));
        strFont = GraphicsEnvironment.getLocalGraphicsEnvironment().getAvailableFontFamilyNames();
        lstFont = new JList(strFont);
        lstFont.setSelectedValue(font.getFontName(), true);
        txtFont.setText(strFont[lstFont.getSelectedIndex()]);
        lstStyle = new JList(strStyle);
        int i = font.getStyle();
        int j;
        for(j = 0; j < intStyle.length && intStyle[j] != i; j++);
        lstStyle.setSelectedValue(strStyle[j], true);
        txtStyle.setText(strStyle[lstStyle.getSelectedIndex()]);
        try
        {
            lstSize = new JList(strSize);
            lstSize.setSelectedValue(Integer.toString(font.getSize()), true);
            txtSize.setText(strSize[lstSize.getSelectedIndex()]);
        }
        catch(Exception exception) { }
        lstFont.addListSelectionListener(this);
        lstStyle.addListSelectionListener(this);
        lstSize.addListSelectionListener(this);
        pnlCenter.setLayout(new GridLayout(1, 3, 10, 5));
        pnlFont.setLayout(new BorderLayout());
        pnlFontNorth.setLayout(new GridLayout(2, 1));
        pnlFontNorth.add(lblFont);
        pnlFontNorth.add(txtFont);
        pnlFont.add("North", pnlFontNorth);
        pnlFont.add("Center", new JScrollPane(lstFont));
        pnlCenter.add(pnlFont);
        pnlStyle.setLayout(new BorderLayout());
        pnlStyleNorth.setLayout(new GridLayout(2, 1));
        pnlStyleNorth.add(lblStyle);
        pnlStyleNorth.add(txtStyle);
        pnlStyle.add("North", pnlStyleNorth);
        pnlStyle.add("Center", new JScrollPane(lstStyle));
        pnlCenter.add(pnlStyle);
        pnlSize.setLayout(new BorderLayout());
        pnlSizeNorth.setLayout(new GridLayout(2, 1));
        pnlSizeNorth.add(lblSize);
        pnlSizeNorth.add(txtSize);
        pnlSize.add("North", pnlSizeNorth);
        pnlSize.add("Center", new JScrollPane(lstSize));
        pnlCenter.add(pnlSize);
        contentPane.add("Center", pnlCenter);
        pnlSouth.setLayout(new BorderLayout());
        pnlSouthEast.setLayout(new GridLayout(1, 2));
        pnlSouthEast.add(btnOk);
        pnlSouthEast.add(btnCancel);
        pnlSouth.add("East", pnlSouthEast);
        contentPane.add("South", pnlSouth);
        btnOk.addActionListener(this);
        btnCancel.addActionListener(this);
        txtFont.setEditable(false);
        txtStyle.setEditable(false);
    }

    public void setLookAndFeel()
    {
        LookAndFeel.setLookAndFeel(contentPane);
    }

    public void valueChanged(ListSelectionEvent listselectionevent)
    {
        Object obj = listselectionevent.getSource();
        if(obj == lstFont)
            txtFont.setText((String)lstFont.getSelectedValue());
        if(obj == lstStyle)
            txtStyle.setText((String)lstStyle.getSelectedValue());
        if(obj == lstSize)
            txtSize.setText((String)lstSize.getSelectedValue());
    }

    public void actionPerformed(ActionEvent actionevent)
    {
        Object obj = actionevent.getSource();
        if(obj == btnOk)
            setFontInfo();
        if(obj == btnCancel)
            setFontClear();
        setVisible(false);
    }

    public void setFontInfo()
    {
        try
        {
            font = new Font(txtFont.getText(), intStyle[lstStyle.getSelectedIndex()], Integer.parseInt(txtSize.getText()));
        }
        catch(Exception exception)
        {
            font = null;
        }
    }

    public void setFontClear()
    {
        font = null;
    }

    public Font getFontInfo()
    {
        return font;
    }


}

⌨️ 快捷键说明

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