📄 fontchooser.java~155~
字号:
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 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;
JLabel jLabel1 = new JLabel();
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(null);
jLabel2.setText("Font Name"); jLabel2.setBounds(new Rectangle(3, 1, 54, 25));
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.setBounds(new Rectangle(2, 25, 180, 25));
jComboBoxFontName.addItemListener(new
FontChooser_jComboBoxFontName_itemAdapter(this));
jComboBoxFontSize.addItemListener(new
FontChooser_jComboBoxFontSize_itemAdapter(this));
jComboBoxFontSize.setBorder(BorderFactory.createLoweredBevelBorder());
jComboBoxFontSize.setOpaque(false); jComboBoxFontSize.setBounds(new Rectangle(204, 25, 78, 25));
jLabel1.setText("Font Size"); jLabel1.setBounds(new Rectangle(204, 1, 48, 25));
this.getContentPane().add(jPanel1, BorderLayout.CENTER);
jPanel1.add(jPanel4, BorderLayout.NORTH);
jPanel4.add(jComboBoxFontName, null); jPanel4.add(jLabel2, null); jPanel4.add(jComboBoxFontSize, null); jPanel4.add(jLabel1, null);
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 + -