java记事本小程序

/* 下面这两个类实现了java开份小记事本程序,里面有打开,保存,关闭,新建,右键中的全选,复制,粘贴裁剪等功能*/

package notebook;

import java.awt.Color;
import java.awt.Dimension;
import java.awt.FileDialog;
import java.awt.Font;
import java.awt.Toolkit;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
import java.awt.event.MouseMotionListener;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.io.InputStreamReader;

import javax.swing.JColorChooser;
import javax.swing.JFileChooser;
import javax.swing.border.TitledBorder;
import javax.swing.filechooser.FileNameExtensionFilter;

/**
 *
 * @author  __USER__
 */
public class netbookmain extends javax.swing.JFrame {

 FileDialog fd = null;//声明一个文件对话框
 //创建SWING组件的文件选择对话框
 JFileChooser fileDialog = new JFileChooser();
 File file = null;

 /** Creates new form netbookmain */
 /**
  *
  */
 public netbookmain() {
  Dimension size = Toolkit.getDefaultToolkit().getScreenSize();
  this.setBounds((size.width - 700) / 2, (size.height - 600) / 2, 500,
    600);
  initComponents();

  //txt1.setBorder(new TitledBorder("文本内容"));//在面板里加上边线
  openFile.addActionListener(new MyActionListener());
  saveFile.addActionListener(new MyActionListener());
  newFile.addActionListener(new MyActionListener());
  exit.addActionListener(new ActionListener() {
   public void actionPerformed(ActionEvent e) {
    System.exit(0);//关闭程序
   }
  });
  colorFile.addActionListener(new MyActionListener());
  fontFile.addActionListener(new MyActionListener());
  bankcolor.addActionListener(new MyActionListener());
  txt1.addMouseListener(new MouseAdapter() {

   public void mousePressed(MouseEvent e) {
    // TODO Auto-generated method stub
    if (e.getButton() == 3) {
     jPopupMenu1.show(txt1, e.getX(), e.getY());//右键菜单显示

    }
   }
  });
  //右键菜单中的监听
  //全选文本区域里面的内容
  SelectAll.addActionListener(new ActionListener() {

   @Override
   public void actionPerformed(ActionEvent e) {
    // TODO Auto-generated method stub
    txt1.selectAll();
   }
  });
  copy.addActionListener(new ActionListener() {
   
   @Override
   public void actionPerformed(ActionEvent e) {
    // TODO Auto-generated method stub
    txt1.copy();
   }
  });
  cut.addActionListener(new ActionListener() {
   
   @Override
   public void actionPerformed(ActionEvent e) {
    // TODO Auto-generated method stub
    txt1.cut();
   }
  });
  pater.addActionListener(new ActionListener() {
   
   @Override
   public void actionPerformed(ActionEvent e) {
    // TODO Auto-generated method stub
    txt1.paste();
   }
  });

  openFile.setActionCommand("open");
  saveFile.setActionCommand("save");
  newFile.setActionCommand("newF");
  colorFile.setActionCommand("color");
  fontFile.setActionCommand("font");
  bankcolor.setActionCommand("bankc");

 }

 private void MyPopupMenuListener() {

 }

 /**
  * @author Administrator
  *菜单事件
  */
 private class MyActionListener implements ActionListener {

  @Override
  public void actionPerformed(ActionEvent e) {
   // TODO Auto-generated method stub
   String comm = e.getActionCommand();
   if (comm.equals("open")) {
    open();
   } else if (comm.equals("save")) {
    save();
   } else if (comm.equals("newF")) {
    txt1.setText("");
    file = null;
   } else if (comm.equals("font")) {
    setfont();
   } else if (comm.equals("color")) {
    setcolor();
   } else if (comm.equals("bankc")) {
    setbancolor();
   }
  }
 }

 /**
  * 设置字体
  */
 private void setfont() {
  Font font = FontChooserDialog.showDialog(this, true);
  txt1.setFont(font);
 }

 /**
  * 设置字体颜色
  */
 private void setcolor() {
  Color color = JColorChooser.showDialog(this, "设置字体颜色", txt1
    .getForeground());
  txt1.setForeground(color);//设置字体颜色
 }

 /**
  * 设置背景颜色
  */
 private void setbancolor() {

  Color color = JColorChooser.showDialog(this, "设置背景颜色", txt1
    .getBackground());
  txt1.setBackground(color);//设置背景颜色
 }

 /**
  * 保存文件方法
  */
 private void save() {

  BufferedWriter bw = null;
  if (file == null) {
   //   fd = new FileDialog(this, "我的保存", FileDialog.SAVE);
   //   fd.setVisible(true);
   //创建txt文件的过滤器
   FileNameExtensionFilter ext = new FileNameExtensionFilter("文本文件",
     ".txt");
   //将过滤器添加到文件选择对话框
   fileDialog.addChoosableFileFilter(ext);
   int resu = fileDialog.showSaveDialog(this);
   if (resu == JFileChooser.CANCEL_OPTION)
    return;
   file = fileDialog.getSelectedFile();//得到选泽的文件
   System.out.println(file.getName());
   //   String path = fd.getDirectory();
   //   String fileName = fd.getFile();
   //   file = new File(path, fileName);
  }
  try {
   bw = new BufferedWriter(new FileWriter(file));
   String txt = txt1.getText();
   bw.write(txt.replaceAll("([^\r])\n", "$1\r\n"));
   bw.flush();
  } catch (Exception e) {
   e.printStackTrace();
  } finally {
   try {
    if (bw != null)
     bw.close();
   } catch (IOException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
   }
  }
 }

 /**
  * 打开文件方法
  */
 private void open() {
  //  fd = new FileDialog(this, "打开文件", FileDialog.LOAD);//打开模式
  //  fd.setVisible(true);//将文件对话框设置为可见
  //  String path = fd.getDirectory();
  //  String fileName = fd.getFile();
  BufferedReader br = null;
  //  if(path==null||fileName==null)return;
  //  file = new File(path, fileName);

  //创建txt文件的过滤器
  FileNameExtensionFilter ext = new FileNameExtensionFilter("文本文件",
    ".txt");
  //将过滤器添加到文件选择对话框
  fileDialog.addChoosableFileFilter(ext);
  int resu = fileDialog.showSaveDialog(this);
  if (resu == JFileChooser.CANCEL_OPTION)
   return;
  file = fileDialog.getSelectedFile();
  //System.out.println(path + ":" + fileName);
  try {
   br = new BufferedReader(new FileReader(file));
   String line = null;
   txt1.setText("");
   while ((line = br.readLine()) != null) {
    txt1.append(line + "\r\n");
   }
  } catch (Exception e) {
   // TODO Auto-generated catch block
   e.printStackTrace();
  }
  try {
   if (br != null)
    br.close();
  } catch (IOException e) {
   // TODO Auto-generated catch block
   e.printStackTrace();
  }
 }

 /** This method is called from within the constructor to
  * initialize the form.
  * WARNING: Do NOT modify this code. The content of this method is
  * always regenerated by the Form Editor.
  */
 //GEN-BEGIN:initComponents
 // <editor-fold defaultstate="collapsed" desc="Generated Code">
 private void initComponents() {

  bankcolor = new javax.swing.JMenuItem();
  jPopupMenu1 = new javax.swing.JPopupMenu();
  SelectAll = new javax.swing.JMenuItem();
  copy = new javax.swing.JMenuItem();
  cut = new javax.swing.JMenuItem();
  jSeparator3 = new javax.swing.JSeparator();
  pater = new javax.swing.JMenuItem();
  jScrollPane1 = new javax.swing.JScrollPane();
  txt1 = new javax.swing.JTextArea();
  jMenuBar1 = new javax.swing.JMenuBar();
  newFile = new javax.swing.JMenu();
  jMenuItem1 = new javax.swing.JMenuItem();
  jSeparator2 = new javax.swing.JSeparator();
  openFile = new javax.swing.JMenuItem();
  saveFile = new javax.swing.JMenuItem();
  jSeparator1 = new javax.swing.JSeparator();
  exit = new javax.swing.JMenuItem();
  jMenu2 = new javax.swing.JMenu();
  fontFile = new javax.swing.JMenuItem();
  colorFile = new javax.swing.JMenuItem();
  bankcolor = new javax.swing.JMenuItem();
  jMenuBar1 = new javax.swing.JMenuBar();
  newFile = new javax.swing.JMenu();
  jMenuItem1 = new javax.swing.JMenuItem();
  jSeparator2 = new javax.swing.JSeparator();
  openFile = new javax.swing.JMenuItem();
  saveFile = new javax.swing.JMenuItem();
  jSeparator1 = new javax.swing.JSeparator();
  exit = new javax.swing.JMenuItem();
  jMenu2 = new javax.swing.JMenu();
  fontFile = new javax.swing.JMenuItem();
  colorFile = new javax.swing.JMenuItem();
  bankcolor = new javax.swing.JMenuItem();

  bankcolor.setText("\u80cc\u666f\u989c\u8272");
  jMenu2.add(bankcolor);

  SelectAll.setText("\u5168\u9009");
  jPopupMenu1.add(SelectAll);

  copy.setText("\u590d\u5236");
  jPopupMenu1.add(copy);

  cut.setText("\u88c1\u526a");
  jPopupMenu1.add(cut);
  jPopupMenu1.add(jSeparator3);

  pater.setText("\u7c98\u8d34");
  jPopupMenu1.add(pater);

  setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
  getContentPane().setLayout(new java.awt.CardLayout());

  txt1.setColumns(50);
  txt1.setRows(30);
  txt1.setBorder(javax.swing.BorderFactory
    .createTitledBorder("\u6211\u7684\u6587\u6863"));
  jScrollPane1.setViewportView(txt1);

  getContentPane().add(jScrollPane1, "card2");

  newFile.setText("\u6587\u4ef6");

  jMenuItem1.setText("\u65b0\u5efa");
  newFile.add(jMenuItem1);
  newFile.add(jSeparator2);

  openFile.setText("\u6253\u5f00");
  newFile.add(openFile);

  saveFile.setText("\u4fdd\u5b58");
  newFile.add(saveFile);
  newFile.add(jSeparator1);

  exit.setText("\u9000\u51fa");
  newFile.add(exit);

  jMenuBar1.add(newFile);

  jMenu2.setLabel("\u683c\u5f0f");

  fontFile.setText("\u5b57\u4f53");
  jMenu2.add(fontFile);

  colorFile.setText("\u5b57\u4f53\u989c\u8272");
  colorFile.setActionCommand("\u80cc\u666f\u989c\u8272");
  jMenu2.add(colorFile);

  bankcolor.setText("\u80cc\u666f\u989c\u8272");
  jMenu2.add(bankcolor);

  jMenuBar1.add(jMenu2);

  setJMenuBar(jMenuBar1);

  newFile.setText("\u6587\u4ef6");

  jMenuItem1.setText("\u65b0\u5efa");
  newFile.add(jMenuItem1);
  newFile.add(jSeparator2);

  openFile.setText("\u6253\u5f00");
  newFile.add(openFile);

  saveFile.setText("\u4fdd\u5b58");
  newFile.add(saveFile);
  newFile.add(jSeparator1);

  exit.setText("\u9000\u51fa");
  newFile.add(exit);

  jMenuBar1.add(newFile);

  jMenu2.setLabel("\u683c\u5f0f");

  fontFile.setText("\u5b57\u4f53");
  jMenu2.add(fontFile);

  colorFile.setText("\u5b57\u4f53\u989c\u8272");
  colorFile.setActionCommand("\u80cc\u666f\u989c\u8272");
  jMenu2.add(colorFile);

  bankcolor.setText("\u80cc\u666f\u989c\u8272");
  jMenu2.add(bankcolor);

  jMenuBar1.add(jMenu2);

  setJMenuBar(jMenuBar1);

  pack();
 }// </editor-fold>
 //GEN-END:initComponents

 /**
  * @param args the command line arguments
  */
 public static void main(String args[]) {
  java.awt.EventQueue.invokeLater(new Runnable() {
   public void run() {
    new netbookmain().setVisible(true);
   }
  });
 }

 //GEN-BEGIN:variables
 // Variables declaration - do not modify
 private javax.swing.JMenuItem SelectAll;
 private javax.swing.JMenuItem bankcolor;
 private javax.swing.JMenuItem colorFile;
 private javax.swing.JMenuItem copy;
 private javax.swing.JMenuItem cut;
 private javax.swing.JMenuItem exit;
 private javax.swing.JMenuItem fontFile;
 private javax.swing.JMenu jMenu2;
 private javax.swing.JMenuBar jMenuBar1;
 private javax.swing.JMenuItem jMenuItem1;
 private javax.swing.JPopupMenu jPopupMenu1;
 private javax.swing.JScrollPane jScrollPane1;
 private javax.swing.JSeparator jSeparator1;
 private javax.swing.JSeparator jSeparator2;
 private javax.swing.JSeparator jSeparator3;
 private javax.swing.JMenu newFile;
 private javax.swing.JMenuItem openFile;
 private javax.swing.JMenuItem pater;
 private javax.swing.JMenuItem saveFile;
 private javax.swing.JTextArea txt1;
 // End of variables declaration//GEN-END:variables

}

 

 

 

package notebook;
import java.awt.GraphicsEnvironment;

import javax.swing.JDialog;
import javax.swing.JFrame;
import javax.swing.ListModel;

import java.awt.Font;
import javax.swing.JPanel;
import java.awt.Rectangle;
import javax.swing.JScrollPane;
import javax.swing.BorderFactory;
import javax.swing.border.TitledBorder;
import java.awt.Color;
import javax.swing.JList;
import javax.swing.JLabel;

import java.awt.event.KeyAdapter;
import java.awt.event.KeyEvent;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;

import javax.swing.JTextField;
import javax.swing.border.BevelBorder;
import javax.swing.border.SoftBevelBorder;
import javax.swing.JButton;
import javax.swing.SwingConstants;

public class FontChooserDialog extends JDialog {

 /**
  *
  */
 private static final long serialVersionUID = 1L;
 /**
  * 界面设计需要
  * */
 private JPanel jPanel = null;
 private JScrollPane jScrollPane = null;
 private JPanel jPanel1 = null;
 private JLabel jLabel = null;
 private JLabel jLabel1 = null;
 private JLabel jLabel2 = null;
 private JTextField fontNameText = null;
 private JTextField fontItalicText = null;
 private JTextField fontSizeText = null;
 private JList fontNameList = null;
 private JList fontItalicList = null;
 private JList fontSizeList = null;
 private JPanel jPanel2 = null;
 private JButton okButton = null;
 private JButton regitButton = null;
 private JButton cancleButton = null;
 private JScrollPane jScrollPane1 = null;
 private JScrollPane jScrollPane2 = null;
 private JScrollPane jScrollPane3 = null;
 private static JLabel fontStyle = null;
 /**
  * 字体默认变量
  * */
 private Font defaultFont = new Font("\u5b8b\u4f53", Font.PLAIN, 12);
 /**
  * 返回字体变量
  * */
 private static Font returnFont = null;
 /**
  * Boolean 变量,判断是否正常返回,是否用户选择了字体
  * */
 private static boolean judge = false;
 /**
  * 以防止事件重复调用或不必要的更改,定义两个boolean变量分别
  * 为:fontNameList和fontSizeList判断
  * 等于true则循环调用,false则不
  * */
 private boolean nameJuge = true;
 private boolean sizeJuge = true;
 
 
 public FontChooserDialog(){
  this(null);
 }
 public FontChooserDialog(JFrame jframe){
  this(jframe,true);
 }
 public FontChooserDialog(JFrame jframe,boolean boo){
  this(jframe,boo,null);
 }
 public FontChooserDialog(JFrame jframe,boolean boo,Font font){
  super(jframe,boo);
  initialize();
  initializeFont(font);
  this.setLocationRelativeTo(jframe);
 }
 
 /**
  * This method initializes this
  *
  */
 private void initialize() {
        this.setContentPane(getJPanel());
        this.setFont(new Font("\u5b8b\u4f53", Font.PLAIN, 12));
        this.setBounds(new Rectangle(0, 0, 430, 335));
        this.setTitle("字体选择对话框");
        this.addWindowListener(new WindowAdapter(){
         public void windowClosing(WindowEvent e) {
          judge = false;
          closeWindow();
         }
        });
   
 }
 public static Font showDialog(JFrame jframe,boolean boo){
  return showDialog(jframe,boo,null);
 }
 public static Font showDialog(JFrame jframe,boolean boo,Font font){
  JDialog jd = new FontChooserDialog(jframe,boo,font);
  jd.setVisible(true);
  if(judge){returnFont = fontStyle.getFont();}
  jd.dispose();
  return returnFont;
 }
 /**
  * This method initializes jPanel 
  *  
  * @return javax.swing.JPanel 
  */
 private JPanel getJPanel() {
  if (jPanel == null) {
   jPanel = new JPanel();
   jPanel.setLayout(null);
   jPanel.setFont(new Font("Dialog", Font.PLAIN, 12));
   jPanel.add(getJPanel1(), null);
   jPanel.add(getJPanel2(), null);
   jPanel.add(getOkButton(), null);
   jPanel.add(getRegitButton(), null);
   jPanel.add(getCancleButton(), null);
  }
  return jPanel;
 }
 /**
  * This method initializes jScrollPane 
  *  
  * @return javax.swing.JScrollPane 
  */
 private JScrollPane getJScrollPane() {
  if (jScrollPane == null) {
   fontStyle = new JLabel();
   fontStyle.setText("你好!天生我才必有用!Hello World!");
   fontStyle.setFont(new Font("\u5b8b\u4f53", Font.PLAIN, 12));
   fontStyle.setHorizontalAlignment(SwingConstants.CENTER);
   fontStyle.setHorizontalTextPosition(SwingConstants.CENTER);
   jScrollPane = new JScrollPane();
   jScrollPane.setBorder(BorderFactory.createBevelBorder(BevelBorder.LOWERED));
   jScrollPane.setViewportView(fontStyle);
   jScrollPane.setBounds(new Rectangle(5, 20, 400, 60));
  }
  return jScrollPane;
 }
 /**
  * This method initializes jPanel1 
  *  
  * @return javax.swing.JPanel 
  */
 private JPanel getJPanel1() {
  if (jPanel1 == null) {
   jLabel2 = new JLabel();
   jLabel2.setBounds(new Rectangle(285, 5, 120, 15));
   jLabel2.setFont(new Font("\u5b8b\u4f53", Font.PLAIN, 12));
   jLabel2.setText("大小:");
   jLabel1 = new JLabel();
   jLabel1.setBounds(new Rectangle(160, 5, 120, 15));
   jLabel1.setFont(new Font("\u5b8b\u4f53", Font.PLAIN, 12));
   jLabel1.setText("字型:");
   jLabel = new JLabel();
   jLabel.setBounds(new Rectangle(5, 5, 150, 15));
   jLabel.setDisplayedMnemonic(KeyEvent.VK_UNDEFINED);
   jLabel.setFont(new Font("\u5b8b\u4f53", Font.PLAIN, 12));
   jLabel.setText("字体:");
   jPanel1 = new JPanel();
   jPanel1.setLayout(null);
   jPanel1.setBounds(new Rectangle(5, 5, 410, 175));
   jPanel1.setBorder(new SoftBevelBorder(SoftBevelBorder.LOWERED));
   jPanel1.add(jLabel, null);
   jPanel1.add(jLabel1, null);
   jPanel1.add(jLabel2, null);
   jPanel1.add(getFontNameText(), null);
   jPanel1.add(getFontItalicText(), null);
   jPanel1.add(getFontSizeText(), null);
   jPanel1.add(getJScrollPane1(), null);
   jPanel1.add(getJScrollPane2(), null);
   jPanel1.add(getJScrollPane3(), null);
  }
  return jPanel1;
 }
 /**
  * This method initializes fontNameText 
  *  
  * @return javax.swing.JTextField 
  */
 private JTextField getFontNameText() {
  if (fontNameText == null) {
   fontNameText = new JTextField();
   fontNameText.setBounds(new Rectangle(5, 25, 150, 20));
   fontNameText.setFont(new Font("\u5b8b\u4f53", Font.PLAIN, 12));
   fontNameText.addKeyListener(new KeyAdapter(){
    public void keyTyped(KeyEvent e) {
     String oldText = fontNameText.getText();
     String newText = "";
     if("".equals(fontNameText.getSelectedText()) && null == fontNameText.getSelectedText()){
      newText = fontNameText.getText()+e.getKeyChar();
     }else{
      newText = oldText.substring(0,fontNameText.getSelectionStart())+e.getKeyChar()+oldText.substring(fontNameText.getSelectionEnd());
     }
     System.out.println("fontName:"+newText);
     nameJuge = false;
     fontNameList.setSelectedValue(getLateIndex(fontNameList,newText),true);
     nameJuge = true;
    }
   });
  }
  return fontNameText;
 }
 /**
  * This method initializes fontItalicText 
  *  
  * @return javax.swing.JTextField 
  */
 private JTextField getFontItalicText() {
  if (fontItalicText == null) {
   fontItalicText = new JTextField();
   fontItalicText.setBounds(new Rectangle(160, 25, 120, 20));
   fontItalicText.setFont(new Font("\u5b8b\u4f53", Font.PLAIN, 12));
   fontItalicText.setEnabled(false);
  }
  return fontItalicText;
 }
 /**
  * This method initializes fontSizeText 
  *  
  * @return javax.swing.JTextField 
  */
 private JTextField getFontSizeText() {
  if (fontSizeText == null) {
   fontSizeText = new JTextField();
   fontSizeText.setBounds(new Rectangle(285, 25, 120, 20));
   fontSizeText.setFont(new Font("\u5b8b\u4f53", Font.PLAIN, 12));
   fontSizeText.setColumns(4);
   fontSizeText.addKeyListener(new KeyAdapter(){
    public void keyTyped(KeyEvent e) {
     //System.out.println("Key Code:"+(Character.getNumericValue(e.getKeyChar())==-1));
     String oldText = fontSizeText.getText();
     String newText = "";
     if("".equals(fontSizeText.getSelectedText()) && null == fontSizeText.getSelectedText()){
      newText = fontSizeText.getText()+e.getKeyChar();
     }else{
      newText = oldText.substring(0,fontSizeText.getSelectionStart())+e.getKeyChar()+oldText.substring(fontSizeText.getSelectionEnd());
     }
     //System.out.println("fontSize:"+newText);
     sizeJuge = false;
     fontSizeList.setSelectedValue(getLateIndex(fontSizeList,newText),true);
     if(newText.matches("(\\d)+")){
      fontStyle.setFont(new Font(fontStyle.getFont().getFontName(),fontStyle.getFont().getStyle(),Integer.parseInt(newText)));
     }
     sizeJuge = true;
    }
   });
   
  }
  return fontSizeText;
 }
 /**
  * This method initializes fontNameList 
  *  
  * @return javax.swing.JList 
  */
 private JList getFontNameList() {
  if (fontNameList == null) {
   fontNameList = new JList(GraphicsEnvironment.getLocalGraphicsEnvironment()
     .getAvailableFontFamilyNames());
   fontNameList.setFont(new Font("\u5b8b\u4f53", Font.PLAIN, 12));
   fontNameList
     .addListSelectionListener(new javax.swing.event.ListSelectionListener() {
      public void valueChanged(javax.swing.event.ListSelectionEvent e) {
       if(nameJuge){fontNameText.setText(fontNameList.getSelectedValue().toString());}
       fontStyle.setFont(new Font(fontNameList.getSelectedValue().toString(),fontStyle.getFont().getStyle(),fontStyle.getFont().getSize()));
      }
     });
  }
  return fontNameList;
 }
 /**
  * This method initializes fontItalicList 
  *  
  * @return javax.swing.JList 
  */
 private JList getFontItalicList() {
  if (fontItalicList == null) {
   fontItalicList = new JList(new String[]{"Plain", "Bold", "Italic","Bold Italic"});
   fontItalicList.setFont(new Font("\u5b8b\u4f53", Font.PLAIN, 12));
   fontItalicList
     .addListSelectionListener(new javax.swing.event.ListSelectionListener() {
      public void valueChanged(javax.swing.event.ListSelectionEvent e) {
       fontItalicText.setText(fontItalicList.getSelectedValue().toString());
       fontStyle.setFont(new Font(fontStyle.getFont().getFontName(),fontItalicList.getSelectedIndex(),fontStyle.getFont().getSize()));
      }
     });
  }
  return fontItalicList;
 }
 /**
  * This method initializes fontSizeList 
  *  
  * @return javax.swing.JList 
  */
 private JList getFontSizeList() {
  if (fontSizeList == null) {
   fontSizeList = new JList(new String[]{"3", "4", "5", "6", "7", "8", "9", "10",
     "11", "12", "13", "14", "15", "16", "17", "18", "19", "20", "22",
     "24", "27", "30", "34", "39", "45", "51", "60"});
   fontSizeList.setFont(new Font("\u5b8b\u4f53", Font.PLAIN, 12));
   fontSizeList
     .addListSelectionListener(new javax.swing.event.ListSelectionListener() {
      public void valueChanged(javax.swing.event.ListSelectionEvent e) {
       if(sizeJuge){fontSizeText.setText(fontSizeList.getSelectedValue().toString());}
       fontStyle.setFont(new Font(fontStyle.getFont().getFontName(),fontStyle.getFont().getStyle(),Integer.parseInt(fontSizeList.getSelectedValue().toString())));
      }
     });
  }
  return fontSizeList;
 }
 /**
  * This method initializes jPanel2 
  *  
  * @return javax.swing.JPanel 
  */
 private JPanel getJPanel2() {
  if (jPanel2 == null) {
   jPanel2 = new JPanel();
   jPanel2.setLayout(null);
   jPanel2.setBounds(new Rectangle(3, 180, 414, 90));
   jPanel2.setBorder(BorderFactory.createTitledBorder(null, "\u6548\u679c\u9884\u89c8", TitledBorder.DEFAULT_JUSTIFICATION, TitledBorder.DEFAULT_POSITION, new Font("\u5b8b\u4f53", Font.PLAIN, 12), new Color(51, 51, 51)));
   jPanel2.add(getJScrollPane(), null);
  }
  return jPanel2;
 }
 /**
  * This method initializes okButton 
  *  
  * @return javax.swing.JButton 
  */
 private JButton getOkButton() {
  if (okButton == null) {
   okButton = new JButton();
   okButton.setBounds(new Rectangle(215, 275, 60, 20));
   okButton.setFont(new Font("\u5b8b\u4f53", Font.PLAIN, 12));
   okButton.setText("确定");
   okButton.addActionListener(new java.awt.event.ActionListener() {
    public void actionPerformed(java.awt.event.ActionEvent e) {
     judge = true;
     closeWindow();
    }
   });
  }
  return okButton;
 }
 /**
  * This method initializes regitButton 
  *  
  * @return javax.swing.JButton 
  */
 private JButton getRegitButton() {
  if (regitButton == null) {
   regitButton = new JButton();
   regitButton.setBounds(new Rectangle(285, 275, 60, 20));
   regitButton.setFont(new Font("\u5b8b\u4f53", Font.PLAIN, 12));
   regitButton.setText("重置");
   regitButton.addActionListener(new java.awt.event.ActionListener() {
    public void actionPerformed(java.awt.event.ActionEvent e) {
     initializeFont(null);
    }
   });
  }
  return regitButton;
 }
 /**
  * This method initializes cancleButton 
  *  
  * @return javax.swing.JButton 
  */
 private JButton getCancleButton() {
  if (cancleButton == null) {
   cancleButton = new JButton();
   cancleButton.setBounds(new Rectangle(355, 275, 60, 20));
   cancleButton.setFont(new Font("\u5b8b\u4f53", Font.PLAIN, 12));
   cancleButton.setText("取消");
   cancleButton.addActionListener(new java.awt.event.ActionListener() {
    public void actionPerformed(java.awt.event.ActionEvent e) {
     judge = false;
     closeWindow();
    }
   });
  }
  return cancleButton;
 }
 /**
  * This method initializes jScrollPane1 
  *  
  * @return javax.swing.JScrollPane 
  */
 private JScrollPane getJScrollPane1() {
  if (jScrollPane1 == null) {
   jScrollPane1 = new JScrollPane();
   jScrollPane1.setBounds(new Rectangle(5, 50, 150, 120));
   jScrollPane1.setViewportView(getFontNameList());
  }
  return jScrollPane1;
 }
 /**
  * This method initializes jScrollPane2 
  *  
  * @return javax.swing.JScrollPane 
  */
 private JScrollPane getJScrollPane2() {
  if (jScrollPane2 == null) {
   jScrollPane2 = new JScrollPane();
   jScrollPane2.setBounds(new Rectangle(160, 50, 120, 120));
   jScrollPane2.setViewportView(getFontItalicList());
  }
  return jScrollPane2;
 }
 /**
  * This method initializes jScrollPane3 
  *  
  * @return javax.swing.JScrollPane 
  */
 private JScrollPane getJScrollPane3() {
  if (jScrollPane3 == null) {
   jScrollPane3 = new JScrollPane();
   jScrollPane3.setBounds(new Rectangle(285, 50, 120, 120));
   jScrollPane3.setViewportView(getFontSizeList());
  }
  return jScrollPane3;
 }
 
 /**
  * 默认的字体初始化方法
  * */
 private void initializeFont(Font font){
  if(font!=null){
   defaultFont = font;
   fontStyle.setFont(defaultFont);
  }
  fontStyle.setFont(defaultFont);
  fontNameList.setSelectedValue(defaultFont.getFontName(), true);
  fontSizeList.setSelectedValue(new Integer(defaultFont.getSize()).toString(), true);
  fontItalicList.setSelectedIndex(defaultFont.getStyle());
 }
 /**
  * 判断里给定的值最近的索引
  * */
 private Object getLateIndex(JList jlist,String str){
  ListModel list = jlist.getModel();
  if(str.matches("(\\d)+")){
   for(int i = list.getSize()-1;i>=0;i--){
    if(Integer.parseInt(list.getElementAt(i).toString())<=Integer.parseInt(str)){
     return list.getElementAt(i);
    }
   }
  }else {
   for(int i = list.getSize()-2;i>=0;i--){
    if(str.compareToIgnoreCase(list.getElementAt(i).toString())==0){
     return list.getElementAt(i);
    }else if(str.compareToIgnoreCase(list.getElementAt(i).toString())>0){
     return list.getElementAt(i+1);
    }
   }
  }
  return list.getElementAt(0);
 }
 /**
  * 窗体关闭方法!
  * */
 private void closeWindow(){
  this.setVisible(false);
 }
}  //  @jve:decl-index=0:visual-constraint="91,34"


 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值