⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 fontdialog.java

📁 用java编写的记事本的程序代码 很不错的呦
💻 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 + -