📄 fontchooser.java~150~
字号:
import javax.swing.*;
import java.awt.*;
import javax.swing.border.*;
import java.awt.event.*;
import com.borland.jbcl.layout.*;
import java.util.Vector;
public class FontChooser
extends JDialog
implements ActionListener {
JPanel jPanel1 = new JPanel();
BorderLayout borderLayout1 = new BorderLayout();
JPanel jPanel3 = new JPanel();
JPanel jPanel4 = new JPanel();
BorderLayout borderLayout2 = new BorderLayout();
JLabel jLabel1 = new JLabel();
JLabel jLabel2 = new JLabel();
Font font = null;
String selectFont;
boolean select = false;
int selectFontSize = 8;
String[] fontSize = {
"8", "9", "10", "11", "12", "14", "16", "17", "18", "20", "22", "24",
"26", "28", "36", "48", "72", "100", "120", "二号", "三号", "四号", "五号"};
JComboBox jComboBoxFontSize = new JComboBox(fontSize);
GraphicsEnvironment env = GraphicsEnvironment.getLocalGraphicsEnvironment();
String[] allFonts = env.getAvailableFontFamilyNames();
JComboBox jComboBoxFontName = new JComboBox(allFonts);
TitledBorder titledBorder1;
Border border1;
TitledBorder titledBorder2;
TitledBorder titledBorder3;
JButton jButtonOK = new JButton();
JButton jButtonCancel = new JButton();
Border border2;
TitledBorder titledBorder4;
Border border3;
JPanel jPanel2 = new JPanel();
JTextArea jTextArea1 = new JTextArea();
CardLayout cardLayout1 = new CardLayout();
TitledBorder titledBorder5;
Border border4; GridBagLayout gridBagLayout1 = new GridBagLayout();
public FontChooser(Frame _frame, String _title, boolean _model) throws
HeadlessException {
super(_frame, _title, _model);
try {
jbInit();
showDialag(_frame);
}
catch (Exception e) {
e.printStackTrace();
}
}
public static FontChooser showFontChooser(Frame frame, String title,
boolean modal) {
FontChooser fontChooser = new FontChooser(frame, title, modal);
return fontChooser;
}
public boolean isSelectFont() {
return select;
}
public static void main(String[] args) throws HeadlessException {
// FontChooser fontChooser1 = new FontChooser(frame,true);
}
private void jbInit() throws Exception {
titledBorder1 = new TitledBorder("");
border1 = new TitledBorder(BorderFactory.createEtchedBorder(Color.white,
new Color(148, 145, 140)), "Sample");
titledBorder2 = new TitledBorder(BorderFactory.createBevelBorder(
BevelBorder.LOWERED, Color.white, Color.white, new Color(103, 101, 98),
new Color(148, 145, 140)), "Sample");
titledBorder3 = new TitledBorder("");
border2 = BorderFactory.createBevelBorder(BevelBorder.LOWERED, Color.white,
Color.white,
new Color(103, 101, 98),
new Color(148, 145, 140));
titledBorder4 = new TitledBorder(BorderFactory.createEtchedBorder(Color.
white, new Color(148, 145, 140)), "Sample");
border3 = BorderFactory.createCompoundBorder(new TitledBorder(BorderFactory.
createEtchedBorder(Color.white, new Color(148, 145, 140)), "Sample"),
BorderFactory.
createEmptyBorder(6, 6, 6, 6));
titledBorder5 = new TitledBorder("");
border4 = BorderFactory.createEmptyBorder();
this.setModal(true);
this.setResizable(true);
this.setTitle("Select Font");
this.getContentPane().setLayout(borderLayout1);
jPanel1.setBackground(Color.pink);
jPanel1.setMaximumSize(new Dimension(300, 180));
jPanel1.setMinimumSize(new Dimension(300, 180));
jPanel1.setOpaque(false);
jPanel1.setPreferredSize(new Dimension(300, 180));
jPanel1.setRequestFocusEnabled(true);
jPanel1.setLayout(borderLayout2);
jPanel3.setBackground(Color.green);
jPanel3.setMaximumSize(new Dimension(300, 40));
jPanel3.setMinimumSize(new Dimension(300, 40));
jPanel3.setOpaque(false);
jPanel3.setPreferredSize(new Dimension(300, 40));
jPanel4.setBackground(Color.red);
jPanel4.setFont(new java.awt.Font("Dialog", 0, 11));
jPanel4.setMaximumSize(new Dimension(300, 50));
jPanel4.setMinimumSize(new Dimension(300, 50));
jPanel4.setOpaque(false);
jPanel4.setPreferredSize(new Dimension(300, 50));
jPanel4.setLayout(gridBagLayout1);
jLabel1.setDebugGraphicsOptions(0);
jLabel1.setText("Font Size");
jLabel2.setText("Font Name");
jButtonOK.setMaximumSize(new Dimension(80, 25));
jButtonOK.setMinimumSize(new Dimension(80, 25));
jButtonOK.setPreferredSize(new Dimension(80, 25)); jButtonOK.setHorizontalAlignment(SwingConstants.CENTER);
jButtonOK.setText("OK");
jButtonOK.addActionListener(new FontChooser_jButtonOK_actionAdapter(this));
jButtonCancel.setMaximumSize(new Dimension(80, 25));
jButtonCancel.setMinimumSize(new Dimension(80, 25));
jButtonCancel.setPreferredSize(new Dimension(80, 25));
jButtonCancel.setText("Cancel");
jButtonCancel.addActionListener(new FontChooser_jButtonCancel_actionAdapter(this));
jPanel2.setBorder(border3);
jPanel2.setLayout(cardLayout1);
jTextArea1.setBorder(BorderFactory.createLoweredBevelBorder());
jTextArea1.setEditable(false);
jTextArea1.setText("jTextArea1");
jComboBoxFontName.addActionListener(new
FontChooser_jComboBoxFontName_actionAdapter(this));
jComboBoxFontName.setBackground(Color.white);
jComboBoxFontName.setBorder(BorderFactory.createLoweredBevelBorder());
jComboBoxFontName.setOpaque(false);
jComboBoxFontName.addItemListener(new
FontChooser_jComboBoxFontName_itemAdapter(this));
jComboBoxFontSize.addItemListener(new
FontChooser_jComboBoxFontSize_itemAdapter(this));
jComboBoxFontSize.setBorder(BorderFactory.createLoweredBevelBorder());
jComboBoxFontSize.setOpaque(false);
this.getContentPane().add(jPanel1, BorderLayout.CENTER);
jPanel1.add(jPanel4, BorderLayout.NORTH); jPanel4.add(jComboBoxFontName, new GridBagConstraints(0, 1, 1, 1, 1.0, 0.0 ,GridBagConstraints.WEST, GridBagConstraints.HORIZONTAL, new Insets(0, 2, 0, 7), 39, 3)); jPanel4.add(jComboBoxFontSize, new GridBagConstraints(1, 1, 1, 1, 1.0, 0.0 ,GridBagConstraints.WEST, GridBagConstraints.HORIZONTAL, new Insets(0, 0, 0, 110), 14, 3)); jPanel4.add(jLabel1, new GridBagConstraints(1, 0, 1, 1, 0.0, 0.0 ,GridBagConstraints.WEST, GridBagConstraints.NONE, new Insets(0, 1, 0, 55), 69, 9)); jPanel4.add(jLabel2, new GridBagConstraints(0, 0, 1, 1, 0.0, 0.0 ,GridBagConstraints.WEST, GridBagConstraints.NONE, new Insets(0, 2, 0, 7), 128, 9));
jPanel1.add(jPanel3, BorderLayout.SOUTH);
jPanel3.add(jButtonOK, null);
jPanel3.add(jButtonCancel, null);
jPanel1.add(jPanel2, BorderLayout.CENTER);
jPanel2.add(jTextArea1, "jTextArea1");
}
public void actionPerformed(ActionEvent e) {
/**@todo Implement this java.awt.event.ActionListener method*/
throw new java.lang.UnsupportedOperationException(
"Method actionPerformed() not yet implemented.");
}
void jButtonCancel_actionPerformed(ActionEvent e) {
if (e.getSource() == jButtonCancel) {
cancel();
}
}
void cancel() {
select = false;
dispose();
}
void ok() {
select = true;
dispose();
}
void showDialag(Frame frame) {
Dimension size = this.getPreferredSize();
Dimension frmSize = frame.getSize();
Point loc = frame.getLocation();
setLocation( (frmSize.width - size.width) / 2 + loc.x,
(frmSize.height - size.height) / 2 + loc.y);
pack();
show();
}
void jComboBoxFontName_actionPerformed(ActionEvent e) {
}
void jComboBoxFontName_itemStateChanged(ItemEvent e) {
selectFont = jComboBoxFontName.getSelectedItem().toString();
font = new Font(selectFont, Font.BOLD, selectFontSize);
jTextArea1.setFont(font);
}
void jComboBoxFontSize_itemStateChanged(ItemEvent e) {
String fontSize;
fontSize = (String) jComboBoxFontSize.getSelectedItem();
selectFontSize = Integer.parseInt(fontSize);
font = new Font(selectFont, Font.BOLD, selectFontSize);
jTextArea1.setFont(font);
}
void jButtonOK_actionPerformed(ActionEvent e) {
ok();
}
public Font getSelectFont() {
return font;
}
}
class FontChooser_jComboBoxFontName_actionAdapter
implements java.awt.event.ActionListener {
FontChooser adaptee;
FontChooser_jComboBoxFontName_actionAdapter(FontChooser adaptee) {
this.adaptee = adaptee;
}
public void actionPerformed(ActionEvent e) {
adaptee.jComboBoxFontName_actionPerformed(e);
}
}
class FontChooser_jButtonCancel_actionAdapter
implements java.awt.event.ActionListener {
FontChooser adaptee;
FontChooser_jButtonCancel_actionAdapter(FontChooser adaptee) {
this.adaptee = adaptee;
}
public void actionPerformed(ActionEvent e) {
adaptee.jButtonCancel_actionPerformed(e);
}
}
class FontChooser_jComboBoxFontName_itemAdapter
implements java.awt.event.ItemListener {
FontChooser adaptee;
FontChooser_jComboBoxFontName_itemAdapter(FontChooser adaptee) {
this.adaptee = adaptee;
}
public void itemStateChanged(ItemEvent e) {
adaptee.jComboBoxFontName_itemStateChanged(e);
}
}
class FontChooser_jComboBoxFontSize_itemAdapter
implements java.awt.event.ItemListener {
FontChooser adaptee;
FontChooser_jComboBoxFontSize_itemAdapter(FontChooser adaptee) {
this.adaptee = adaptee;
}
public void itemStateChanged(ItemEvent e) {
adaptee.jComboBoxFontSize_itemStateChanged(e);
}
}
class FontChooser_jButtonOK_actionAdapter
implements java.awt.event.ActionListener {
FontChooser adaptee;
FontChooser_jButtonOK_actionAdapter(FontChooser adaptee) {
this.adaptee = adaptee;
}
public void actionPerformed(ActionEvent e) {
adaptee.jButtonOK_actionPerformed(e);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -