📄 fontdialog.java
字号:
import java.awt.*;
import java.awt.event.*;
public class FontDialog extends Dialog implements ItemListener,ActionListener
{
Panel pnl;
Label labSty,labShape,labSize,labColor;
List listSty,listShape,listSize;
Choice choColor;
TextField teffort;
Button butOk,butCancel;
Font font;
Color c;
int sty,shape,size,color; //记录以下数组的下标值
/*列表框和选择框中的项并非字体设置所需参数,以下数组记录字体设置参数信息*/
String[] fontSty={"TimeRoman","Helvetica","Courier","宋体","隶书","楷体","华文彩云"};
int[] fontShape={Font.PLAIN,Font.BOLD,Font.ITALIC,Font.BOLD+Font.ITALIC};
int[] fontSize={8,10,12,14,16,24,30,36,40,48,56,72};
Color[] fontColor= {Color.red,Color.yellow,Color.green,Color.blue,Color.orange,Color.cyan,Color.pink,Color.gray,Color.black};
FontDialog(Frame f)
{
super(f);
setTitle("字体设置");
setSize(400,300);
setLocation(300,300);
addWindowListener(new WindowAdapter(){
public void windowClosing(WindowEvent e)
{ setVisible(false); }
});
pnl=new Panel();
pnl.setLayout(null);
/*字体风格的设置*/
labSty=new Label("字体风格");
listSty=new List(7);
for(int i=0;i<fontSty.length;i++)
listSty.add(fontSty[i]);
labSty.setBounds(30,10,50,20);
listSty.setBounds(20,30,110,100);
listSty.addItemListener(this);
pnl.add(labSty);
pnl.add(listSty);
/*字形的设置*/
labShape=new Label("字形");
listShape=new List();
listShape.add("常规");
listShape.add("粗体");
listShape.add("斜体");
listShape.add("粗斜体");
listShape.addItemListener(this);
labShape.setBounds(185,10,30,20);
listShape.setBounds(150,30,100,100);
pnl.add(labShape);
pnl.add(listShape);
/*字号的设置*/
String[] strSize={"8","10","12","14","16","24","30","36","40","48","56", "72"};
labSize=new Label("字体大小");
listSize=new List();
for(int i=0;i<strSize.length;i++)
listSize.add(strSize[i]);
labSize.setBounds(290,10,50,20);
listSize.setBounds(270,30,100,100);
listSize.addItemListener(this);
pnl.add(labSize);
pnl.add(listSize);
/*字体颜色的设置*/
labColor=new Label("字体颜色");
choColor=new Choice();
String[] colorName={"红色","黄色","绿色","蓝色","橙色","青色","粉色","灰色","黑色"};
for(int i=0;i<colorName.length;i++)
choColor.add(colorName[i]);
labColor.setBounds(30,145,50,20);
choColor.setBounds(20,170,110,30);
choColor.addItemListener(this);
pnl.add(labColor);
pnl.add(choColor);
/*效果预览的设置*/
teffort=new TextField("效果预览");
teffort.setBounds(150,165,120,50);
pnl.add(teffort);
/*按钮的设置*/
butOk=new Button("确定");
butCancel=new Button("取消");
butOk.setBounds(310,160,50,20);
butCancel.setBounds(310,190,50,20);
butOk.addActionListener(this);
butCancel.addActionListener(this);
pnl.add(butOk);
pnl.add(butCancel);
add("Center",pnl);
setVisible(false);
}
public void itemStateChanged(ItemEvent e)
{
if(e.getSource()==listSty)
{
sty=listSty.getSelectedIndex();
font=new Font(fontSty[sty],fontShape[shape],fontSize[size]);
}
if(e.getSource()==listShape)
{
shape=listShape.getSelectedIndex();
font=new Font(fontSty[sty],fontShape[shape],fontSize[size]);
}
if(e.getSource()==listSize)
{
size=listSize.getSelectedIndex();
font=new Font(fontSty[sty],fontShape[shape],fontSize[size]);
}
teffort.setFont(font);
if(e.getSource()==choColor)
{
color=choColor.getSelectedIndex();
c=fontColor[color];
teffort.setForeground(c);
}
}
public void actionPerformed(ActionEvent e)
{
if(e.getActionCommand()=="确定")
{
setVisible(false);
}
else if(e.getActionCommand()=="取消")
{
font=new Font("宋体",Font.PLAIN,12);
setVisible(false);
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -