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

📄 fontsetting.java~53~

📁 我自己用java写的记事本
💻 JAVA~53~
📖 第 1 页 / 共 2 页
字号:
package texteditor;

/**
 * <p>Title: 文本编辑器</p>
 * <p>Description: 本软件为面向对象程序设计期末作业,不得擅自修改</p>
 * <p>Copyright: Copyright (c) 2004</p>
 * <p>Company: 边缘开发室</p>
 * @author 第一组 ,组长:谭正辉
 * @version 1.0
 */
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.border.*;
import javax.swing.event.*;

public class FontSetting
    extends JFrame
{
  JPanel jPanel1 = new JPanel();
  Border border1 = BorderFactory.createEtchedBorder(Color.white,
      new Color(148, 145, 140));
  Border border2 = new TitledBorder(border1, "选择字体");
  BorderLayout borderLayout1 = new BorderLayout();
  JList fontTypeList = new JList();
  JPanel jPanel2 = new JPanel();
  JPanel jPanel3 = new JPanel();
  JButton jButton1 = new JButton();
  JButton jButton2 = new JButton();
  JButton jButton3 = new JButton();
  JLabel jLabel1 = new JLabel();
  JTextField sizeValueText = new JTextField();
  JSlider sizeValue = new JSlider();
  JSlider rValue = new JSlider();
  JSlider gValue = new JSlider();
  JSlider bValue = new JSlider();
  Border border3;
  TitledBorder titledBorder1;
  JLabel jLabel2 = new JLabel();
  JLabel jLabel3 = new JLabel();
  JLabel jLabel4 = new JLabel();
  JButton jButton4 = new JButton();
  JTextField rValueText = new JTextField();
  JTextField gValueText = new JTextField();
  JTextField bValueText = new JTextField();
  JScrollPane jScrollPane1 = new JScrollPane();
  JPanel jPanel4 = new JPanel();
  BorderLayout borderLayout2 = new BorderLayout();
  JTextArea sampleFont = new JTextArea();
  JCheckBox jCheckBox1 = new JCheckBox();
  JCheckBox jCheckBox2 = new JCheckBox();
  JCheckBox backgroundSetSign = new JCheckBox();
  JCheckBox foregroundSetSign = new JCheckBox();
  ButtonGroup buttonGroup1 = new ButtonGroup();
  //f为字体的风格,0为粗体,1为斜体,2为两者
  int f;

  public FontSetting()
  {
    try
    {
      //调用初始化方法
      jbInit();
    }
    catch (Exception exception)
    {
      exception.printStackTrace();
    }
  }

  private void jbInit() throws Exception
  {
    border3 = BorderFactory.createEtchedBorder(Color.white,
                                               new Color(148, 145, 140));
    titledBorder1 = new TitledBorder(border3, "颜色设置");
    this.setResizable(false);
    this.setSize(new Dimension(517, 402));
    this.setTitle("设置字体");
    //居中显示窗口
    centerDialog();
    getContentPane().setLayout(null);
    jPanel1.setBorder(border2);
    jPanel1.setBounds(new Rectangle(12, 17, 129, 237));
    jPanel1.setLayout(borderLayout1);
    jPanel2.setBounds(new Rectangle(12, 295, 466, 44));
    jPanel2.setLayout(null);
    jButton1.setBounds(new Rectangle(195, 6, 98, 33));
    jButton1.setText("取 消");
    jButton1.addActionListener(new ActionListener()
    {
      public void actionPerformed(ActionEvent e)
      {
        dispose();
      }
    });
    jButton2.setBounds(new Rectangle(353, 6, 98, 33));
    jButton2.setText("应 用");
    jButton2.addActionListener(new ActionListener()
    {
      public void actionPerformed(ActionEvent e)
      {
        setContentFont();
      }
    });
    jButton3.setBounds(new Rectangle(23, 6, 98, 33));
    jButton3.setText("确 定");
    jButton3.addActionListener(new ActionListener()
    {
      public void actionPerformed(ActionEvent e)
      {
        setContentFont();
        dispose();
      }
    });
    jLabel1.setText("大小");
    jLabel1.setBounds(new Rectangle(151, 22, 39, 29));
    sizeValueText.setText("14");
    sizeValueText.setBounds(new Rectangle(193, 25, 49, 23));
    sizeValueText.addKeyListener(new KeyAdapter()
    {
      public void keyReleased(KeyEvent e)
      {
        //如果没有输入,则设置为0
        try
        {
          //取得输入的值
          int size = Integer.parseInt(sizeValueText.getText().trim());
          //如果设置大于255,则将其设置为255
          if (size > 200)
          {
            sizeValue.setValue(200);
          }
          //如果没有输入任何数或是小于0的数,则设置为0
          else if (size <= 0)
          {
            sizeValue.setValue(0);
          }
          else
          {
            sizeValue.setValue(Integer.parseInt(sizeValueText.getText()));
          }
        }
        catch (Exception ev)
        {
          //如果输入的数格式不对,则做任何处理
        }
      }
    });
    sizeValue.setMaximum(200);
    sizeValue.setMinimum(1);
    sizeValue.setToolTipText("");
    sizeValue.setBounds(new Rectangle(253, 23, 224, 26));
    sizeValue.setValue(12);
    sizeValue.addChangeListener(new ChangeListener()
    {
      public void stateChanged(ChangeEvent e)
      {
        sizeValueText.setText(sizeValue.getValue() + "");
        //根据当前的改变处理所有待设置字体
        setSampleFont();
      }
    });
    jPanel3.setBorder(titledBorder1);
    jPanel3.setBounds(new Rectangle(153, 59, 325, 230));
    jPanel3.setLayout(null);
    rValue.setMaximum(255);
    rValue.setPaintLabels(true);
    rValue.setPaintTicks(true);
    rValue.setValue(0);
    rValue.setBounds(new Rectangle(57, 25, 200, 30));
    rValue.addChangeListener(new ChangeListener()
    {
      public void stateChanged(ChangeEvent e)
      {
        rValueText.setText(rValue.getValue() + "");
        //根据当前的改变处理所有待设置字体
        setSampleFont();
      }
    });
    gValue.setMaximum(255);
    gValue.setPaintLabels(true);
    gValue.setPaintTicks(true);
    gValue.setPaintTrack(true);
    gValue.setValue(0);
    gValue.setBounds(new Rectangle(57, 60, 200, 28));
    gValue.addChangeListener(new ChangeListener()
    {
      public void stateChanged(ChangeEvent e)
      {
        gValueText.setText(gValue.getValue() + "");
        //根据当前的改变处理所有待设置字体
        setSampleFont();
      }
    });

    bValue.setMajorTickSpacing(51);
    bValue.setMaximum(255);
    bValue.setPaintTicks(false);
    bValue.setPaintTrack(true);
    bValue.setValue(93);
    bValue.setBounds(new Rectangle(57, 94, 200, 34));
    bValue.addChangeListener(new ChangeListener()
    {
      public void stateChanged(ChangeEvent e)
      {
        bValueText.setText(bValue.getValue() + "");
        //根据当前的改变处理所有待设置字体
        setSampleFont();
      }
    });

    jLabel2.setFont(new java.awt.Font("Dialog", 1, 18));
    jLabel2.setForeground(Color.red);
    jLabel2.setRequestFocusEnabled(true);
    jLabel2.setText("R");
    jLabel2.setBounds(new Rectangle(10, 24, 31, 25));
    jLabel3.setBounds(new Rectangle(10, 59, 31, 25));
    jLabel3.setText("G");
    jLabel3.setRequestFocusEnabled(true);
    jLabel3.setForeground(Color.green);
    jLabel3.setFont(new java.awt.Font("Dialog", 1, 18));
    jLabel4.setBounds(new Rectangle(10, 93, 31, 25));
    jLabel4.setText("B");
    jLabel4.setRequestFocusEnabled(true);
    jLabel4.setForeground(Color.blue);
    jLabel4.setFont(new java.awt.Font("Dialog", 1, 18));
    jButton4.setBounds(new Rectangle(239, 163, 73, 32));
    jButton4.setText("选择…");
    //选择按钮打开颜色对话框
    jButton4.addActionListener(new ActionListener()
    {
      public void actionPerformed(ActionEvent e)
      {
        //点击选择按钮打开颜色选择对话框,并返回选择的颜色,初始为当前颜色
        JColorChooser jCC = new JColorChooser();
        Color c = jCC.showDialog(null, "请选择要设置的颜色",
                                 new Color(rValue.getValue(), gValue.getValue(),
                                           bValue.getValue()));
        //根据返回的颜色设置R,G,B滚动条,从而触发滚动条的stateChange事件(从而设置相应的字体)
        if (c != null)
        {
          rValue.setValue(c.getRed());
          gValue.setValue(c.getGreen());
          bValue.setValue(c.getBlue());
        }
      }
    });
    rValueText.setBounds(new Rectangle(264, 25, 49, 23));
    rValueText.addKeyListener(new KeyAdapter()
    {
      public void keyReleased(KeyEvent e)
      {
        setScrollValueBaseRedText();
      }

      private void setScrollValueBaseRedText() throws NumberFormatException
      {
        //如果没有输入,则设置为0
        try
        {
          //取得输入的值
          int r = Integer.parseInt(rValueText.getText().trim());
          //如果设置大于255,则将其设置为255
          if (r > 255)
          {
            rValue.setValue(255);
          }
          //如果没有输入任何数或是小于0的数,则设置为0
          else if (r <= 0)
          {
            rValue.setValue(0);
          }
          else
          {
            rValue.setValue(Integer.parseInt(rValueText.getText()));
          }
        }
        catch (Exception ev)
        {
          //如果输入的数格式不对,则做任何处理
        }
      }
    });

    rValueText.setText("0");
    gValueText.setBounds(new Rectangle(264, 60, 49, 23));
    gValueText.addKeyListener(new KeyAdapter()
    {
      public void keyReleased(KeyEvent e)

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -