📄 fontchoose.java
字号:
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import javax.swing.event.*;
public class fontChoose extends JDialog implements ActionListener,ListSelectionListener{
JTextField jtfName,jtfStyle,jtfSize;
JList listName,listStyle,listSize;
JButton bOk,bCancel;
Font f;
myText mfm;
public fontChoose(myText frame){
setTitle("字体");
this.mfm=frame;
this.setBounds(300, 200,500,400);
this.setResizable(false);
setVisible(true);
setDefaultCloseOperation(JDialog.DISPOSE_ON_CLOSE);
createW();
this.validate();
}
private void createW(){
GraphicsEnvironment ge=GraphicsEnvironment.getLocalGraphicsEnvironment();
String fontNames[]=ge.getAvailableFontFamilyNames();
String fontSizes[]={"8", "10", "12", "14", "16",
"18", "20", "24", "30", "36", "40",
"48", "60", "72"};
String fontStyles[]={"常规","粗体","斜体","粗斜体"};
jtfStyle=new JTextField(8);
jtfSize=new JTextField(8);
jtfName=new JTextField();
listName=new JList(fontNames);
listSize=new JList(fontSizes);
listStyle=new JList(fontStyles);
bOk=new JButton("确定");
bCancel=new JButton("取消");
setBuju();
this.validate();
addEvent();
listName.setSelectedIndex(157);
listStyle.setSelectedIndex(0);
listSize.setSelectedIndex(2);
}
private void addEvent() {
listName.addListSelectionListener(this);
listStyle.addListSelectionListener(this);
listSize.addListSelectionListener(this);
bOk.addActionListener(this);
bCancel.addActionListener(this);
}
public void actionPerformed(ActionEvent e) {
if(e.getSource()==bOk){
int fontStyle=0;
if (jtfStyle.getText().equals("常规")){
fontStyle=Font.PLAIN;
}else if(jtfStyle.getText().equals("粗体")){
fontStyle=Font.BOLD;
}else if(jtfStyle.getText().equals("斜体")){
fontStyle=Font.ITALIC;
}else if(jtfStyle.getText().equals("粗斜体")){
fontStyle=Font.BOLD +Font.ITALIC;
}
f=new Font(jtfName.getText(),fontStyle,Integer.parseInt(jtfSize.getText()));
System.out.println(jtfName.getText()+","+fontStyle+","+Integer.parseInt(jtfSize.getText()));
setF(f);
mfm.setfont1();
}
}
public void setF(Font f) {
this.f=f;
}
public Font getF(){
return f;
}
public void valueChanged(ListSelectionEvent e) {
if(e.getSource()==listName){
jtfName.setText(listName.getSelectedValue().toString());
}else if (e.getSource()==listStyle){
jtfStyle.setText(listStyle.getSelectedValue().toString());
}else if (e.getSource()==listSize){
jtfSize.setText(listSize.getSelectedValue().toString());
}
}
private void setBuju() {
JScrollPane jsp1,jsp2,jsp3;
jsp1=new JScrollPane(listName);
jsp2=new JScrollPane(listStyle);
jsp3=new JScrollPane(listSize);
JPanel p1=new JPanel();
Box baseBox,box1,box2,box3,box4;
baseBox=Box.createHorizontalBox();
box1=Box.createVerticalBox();
box2=Box.createVerticalBox();
box3=Box.createVerticalBox();
box4=Box.createVerticalBox();
box1.add(jtfName);
box1.add(Box.createVerticalStrut(4));
box1.add(jsp1);
box2.add(jtfStyle);
box2.add(Box.createVerticalStrut(4));
box2.add(jsp2);
box3.add(jtfSize);
box3.add(Box.createVerticalStrut(4));
box3.add(jsp3);
box4.add(bOk);
box4.add(Box.createVerticalStrut(4));
box4.add(bCancel);
p1.add(box4);
baseBox.add(box1);
baseBox.add(Box.createHorizontalStrut(12));
baseBox.add(box2);
baseBox.add(Box.createHorizontalStrut(12));
baseBox.add(box3);
baseBox.add(Box.createHorizontalStrut(12));
baseBox.add(p1);
setLayout(new FlowLayout());
add(baseBox);
}
public static void main(String[] args) {
//new JFontChooser();
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -