亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? fontchooser.java

?? 更方便的SWING
?? JAVA
字號:
package com.pallas.swing.font;

/**
 * @author rob
 *
 * To change this generated comment edit the template variable "typecomment":
 * Window>Preferences>Java>Templates.
 * To enable and disable the creation of type comments go to
 * Window>Preferences>Java>Code Generation.
 */
import javax.swing.*;
import javax.swing.event.*;
import javax.swing.colorchooser.*;
import javax.swing.text.*;

import com.pallas.swing.pcombobox.PComboBox;

import java.awt.*;
import java.awt.event.*;
import java.util.ArrayList;
import java.util.Vector;

public class FontChooser extends JDialog implements ActionListener {

  JColorChooser colorChooser;
  JComboBox fontName;
  JCheckBox fontBold, fontItalic;
  JTextField fontSize;
  JLabel previewLabel;
  SimpleAttributeSet attributes;
  Font newFont;
  Color newColor;

  public FontChooser(Frame parent) {
    super(parent, "Font Chooser", true);
    initializeDialog();
  }
  
  public FontChooser(Dialog parent) {
    super(parent, "Font Chooser", true);
    initializeDialog();
  }

  private void initializeDialog(){
    setSize(450, 450);
    attributes = new SimpleAttributeSet();

    // Make sure that any way the user cancels the window does the right thing
    addWindowListener(new WindowAdapter() {
      public void windowClosing(WindowEvent e) {
        closeAndCancel();
      }
    });

    // Start the long process of setting up our interface
    Container c = getContentPane();
    
    JPanel fontPanel = new JPanel();
    fontName = buildFontListing();
    fontName.setSelectedIndex(1);
    fontName.addActionListener(this);
    fontSize = new JTextField("12", 4);
    fontSize.setHorizontalAlignment(SwingConstants.RIGHT);
    fontSize.addActionListener(this);
    fontBold = new JCheckBox("Bold");
    fontBold.setSelected(true);
    fontBold.addActionListener(this);
    fontItalic = new JCheckBox("Italic");
    fontItalic.addActionListener(this);

    fontPanel.add(fontName);
    fontPanel.add(new JLabel(" Size: "));
    fontPanel.add(fontSize);
    fontPanel.add(fontBold);
    fontPanel.add(fontItalic);

    c.add(fontPanel, BorderLayout.NORTH);
    
    // Set up the color chooser panel and attach a change listener so that color
    // updates get reflected in our preview label.
    colorChooser = new JColorChooser(Color.black);
    colorChooser.getSelectionModel()
                .addChangeListener(new ChangeListener() {
      public void stateChanged(ChangeEvent e) {
        updatePreviewColor();
      }
    });
    c.add(colorChooser, BorderLayout.CENTER);

    JPanel previewPanel = new JPanel(new BorderLayout());
    previewLabel = new JLabel("Here's a sample of this font.");
    previewLabel.setForeground(colorChooser.getColor());
    previewPanel.add(previewLabel, BorderLayout.CENTER);

    // Add in the Ok and Cancel buttons for our dialog box
    JButton okButton = new JButton("Ok");
    okButton.addActionListener(new ActionListener() {
      public void actionPerformed(ActionEvent ae) {
        closeAndSave();
      }
    });
    JButton cancelButton = new JButton("Cancel");
    cancelButton.addActionListener(new ActionListener() {
      public void actionPerformed(ActionEvent ae) {
        closeAndCancel();
      }
    });

    JPanel controlPanel = new JPanel();
    controlPanel.add(okButton);
    controlPanel.add(cancelButton);
    previewPanel.add(controlPanel, BorderLayout.SOUTH);

    // Give the preview label room to grow.
    previewPanel.setMinimumSize(new Dimension(100, 100));
    previewPanel.setPreferredSize(new Dimension(100, 100));

    c.add(previewPanel, BorderLayout.SOUTH);
  }

  private PComboBox buildFontListing(){
    Font[] allFonts = GraphicsEnvironment.getLocalGraphicsEnvironment().getAllFonts();
    Vector allFontNames = new Vector();
    for(int i = 0; i < allFonts.length; i++){
      allFontNames.add(allFonts[i].getName());
    }
    PComboBox fontCombo = new PComboBox(allFontNames);
    fontCombo.buildIndex();
    return fontCombo;
  }

  // Ok, something in the font changed, so figure that out and make a
  // new font for the preview label
  public void actionPerformed(ActionEvent ae) {
    // Check the name of the font
    if (!StyleConstants.getFontFamily(attributes)
                       .equals(fontName.getSelectedItem())) {
      StyleConstants.setFontFamily(attributes, 
                                   (String)fontName.getSelectedItem());
    }
    // Check the font size (no error checking yet)
    if (StyleConstants.getFontSize(attributes) != 
                                   Integer.parseInt(fontSize.getText())) {
      StyleConstants.setFontSize(attributes, 
                                 Integer.parseInt(fontSize.getText()));
    }
    // Check to see if the font should be bold
    if (StyleConstants.isBold(attributes) != fontBold.isSelected()) {
      StyleConstants.setBold(attributes, fontBold.isSelected());
    }
    // Check to see if the font should be italic
    if (StyleConstants.isItalic(attributes) != fontItalic.isSelected()) {
      StyleConstants.setItalic(attributes, fontItalic.isSelected());
    }
    // and update our preview label
    updatePreviewFont();
  }

  // Get the appropriate font from our attributes object and update
  // the preview label
  protected void updatePreviewFont() {
    String name = StyleConstants.getFontFamily(attributes);
    boolean bold = StyleConstants.isBold(attributes);
    boolean ital = StyleConstants.isItalic(attributes);
    int size = StyleConstants.getFontSize(attributes);

    //Bold and italic don’t work properly in beta 4.
    Font f = new Font(name, (bold ? Font.BOLD : 0) +
                            (ital ? Font.ITALIC : 0), size);
    previewLabel.setFont(f);
  }

  // Get the appropriate color from our chooser and update previewLabel
  protected void updatePreviewColor() {
    previewLabel.setForeground(colorChooser.getColor());
    // Manually force the label to repaint
    previewLabel.repaint();
  }
  public Font getNewFont() { return newFont; }
  public Color getNewColor() { return newColor; }
  public AttributeSet getAttributes() { return attributes; }

  public void closeAndSave() {
    // Save font & color information
    newFont = previewLabel.getFont();
    newColor = previewLabel.getForeground();

    // Close the window
    setVisible(false);
  }

  public void closeAndCancel() {
    // Erase any font information and then close the window
    newFont = null;
    newColor = null;
    setVisible(false);
  }
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日韩不卡一区二区| 国产日产精品一区| 91香蕉视频在线| 久久精品国产**网站演员| 亚洲网友自拍偷拍| 亚洲天堂av老司机| 国产亚洲成aⅴ人片在线观看| 欧美日韩国产在线播放网站| 国产精品18久久久久久久网站| 日韩av电影天堂| 婷婷开心久久网| 午夜一区二区三区在线观看| 亚洲黄色在线视频| 日韩毛片在线免费观看| 亚洲视频在线一区观看| 久久免费看少妇高潮| 精品国产乱码久久久久久蜜臀| 91精品国产综合久久精品| 欧美日韩中文字幕一区| 欧美色国产精品| 欧美日韩国产免费| 欧美日韩一区久久| 欧美一区二区视频在线观看2020| 欧美三级日韩三级| 欧美日韩国产片| 欧美大黄免费观看| www国产精品av| 欧美激情中文不卡| 亚洲激情欧美激情| 青椒成人免费视频| 久久66热re国产| 国产精品99久| 欧美在线观看一二区| 91在线视频网址| 欧美日韩国产a| 精品久久国产老人久久综合| 久久免费看少妇高潮| 国产精品午夜春色av| 一区二区三区在线观看网站| 亚洲不卡av一区二区三区| 偷窥国产亚洲免费视频| 国产福利一区在线观看| 色综合久久久久网| 91精品国产欧美一区二区成人| 久久免费看少妇高潮| 精品国产一区a| 亚洲伦理在线精品| 精品一区二区三区在线观看| 成人精品小蝌蚪| 欧美精品一级二级| 久久综合久久鬼色中文字| 亚洲人成在线观看一区二区| 视频一区二区中文字幕| 粉嫩一区二区三区性色av| 色美美综合视频| 欧美三级中文字| 欧美国产丝袜视频| 日韩极品在线观看| 国产成人免费视| 51午夜精品国产| 国产精品萝li| 久久精品国产成人一区二区三区| 99久久国产综合精品女不卡| 欧美一区二区观看视频| 亚洲欧美日韩小说| 国产在线观看免费一区| 欧美欧美欧美欧美首页| 精品国产百合女同互慰| 一区二区激情视频| 成人动漫在线一区| 精品入口麻豆88视频| 亚洲国产人成综合网站| 久久国产福利国产秒拍| 不卡一区二区在线| 日韩欧美激情一区| 亚洲成av人片在线观看无码| 色综合色综合色综合色综合色综合 | 欧美日韩精品免费| 国产精品久久久久久久浪潮网站| 国内精品伊人久久久久av影院| 91精品国产入口在线| 亚洲综合免费观看高清在线观看| 成熟亚洲日本毛茸茸凸凹| 久久亚洲影视婷婷| 久久国产精品露脸对白| 日韩欧美亚洲国产精品字幕久久久| 亚洲午夜免费视频| 欧美性感一区二区三区| 亚洲精品国久久99热| 一本到一区二区三区| 亚洲啪啪综合av一区二区三区| 国产成人精品一区二区三区四区| 久久亚洲春色中文字幕久久久| 精品一区二区三区在线播放| 精品久久久久久久久久久久久久久| 亚洲蜜臀av乱码久久精品 | 亚洲一二三专区| 欧美视频一区二区| 亚洲激情在线激情| 欧美日韩在线免费视频| 一级日本不卡的影视| 91久久精品日日躁夜夜躁欧美| 一区二区免费在线播放| 欧美日韩国产美| 麻豆视频一区二区| 欧美一区二区三区四区久久| 国产一区亚洲一区| 亚洲视频一区在线| 欧美三级一区二区| 精品系列免费在线观看| 亚洲国产经典视频| 色婷婷av一区二区| 玖玖九九国产精品| 一区二区三区四区不卡视频| 欧美精品一区二区三区四区| 在线日韩一区二区| 国产成人一级电影| 日日摸夜夜添夜夜添亚洲女人| 国产精品妹子av| 精品久久久久久久久久久久包黑料| 色综合天天综合网天天看片| 国产一区在线观看麻豆| 午夜私人影院久久久久| 国产精品久99| 欧美精品一区二区在线观看| 欧美久久久一区| 色婷婷综合激情| av中文字幕不卡| 国产乱妇无码大片在线观看| 日本va欧美va精品发布| 一区二区三区精品在线| 国产精品二三区| 久久伊人中文字幕| 91麻豆精品91久久久久同性| 91国偷自产一区二区开放时间 | 色偷偷88欧美精品久久久| 高清shemale亚洲人妖| 免费成人你懂的| 日韩福利电影在线| 亚洲精品免费视频| 亚洲精品一卡二卡| 国产精品家庭影院| 欧美激情一区二区三区| 欧美激情在线一区二区三区| 国产日韩欧美不卡| 久久久激情视频| 国产欧美日韩精品一区| 精品国产乱码久久久久久久久 | 黑人巨大精品欧美黑白配亚洲| 日韩激情一二三区| 午夜私人影院久久久久| 亚洲18色成人| 亚洲18色成人| 青青草97国产精品免费观看无弹窗版| 亚洲电影第三页| 五月婷婷激情综合网| 天天色图综合网| 精品一区二区三区在线观看国产 | 欧美日韩精品一区二区| 欧美日韩黄色一区二区| 91精品婷婷国产综合久久| 日韩一区二区精品| 久久婷婷国产综合精品青草| 亚洲欧洲一区二区三区| 国产精品欧美一区二区三区| 亚洲欧美日韩综合aⅴ视频| 夜夜嗨av一区二区三区中文字幕| 亚洲伦理在线精品| 亚洲一二三四在线观看| 日本午夜精品视频在线观看 | 亚洲综合久久av| 日韩综合在线视频| 国产精品综合网| 色系网站成人免费| 91精品国产欧美日韩| 久久精品亚洲精品国产欧美kt∨ | 精品国产一区二区国模嫣然| 国产偷国产偷精品高清尤物| 亚洲同性gay激情无套| 亚洲成人av电影在线| 狠狠色丁香婷婷综合| 成人国产精品免费网站| 欧美日韩久久久一区| 久久久久久一级片| 亚洲视频每日更新| 轻轻草成人在线| 99久久99久久精品免费观看| 欧美美女黄视频| 国产精品丝袜黑色高跟| 夜夜夜精品看看| 激情综合五月婷婷| 99vv1com这只有精品| 日韩一区二区麻豆国产| 国产精品久久久久一区| 人人狠狠综合久久亚洲| 91视视频在线观看入口直接观看www | 亚洲成人动漫av| 国产精品一区二区黑丝| 欧美一区二区三区成人| 国产精品久久久久久久久快鸭 |