public void actionPerformed(ActionEvent e) {
        if (e.getSource() == display) {
        } else if (e.getSource() == ok) {
            this.setVisible(false);
            this.dispose();
        } else if (e.getSource() == resize) {
            gridPanel.initFonts();
            chineseExample.setFont(gridPanel.getChineseFont());
            pinyinExample.setFont(gridPanel.getPinyinFont());
            otherExample.setFont(gridPanel.getOtherFont());
            gridPanel.repaint();
        } else if (e.getSource() == chinese) {
            Font nf = JFontChooser.showDialog(this, "Choose Chinese Font", chText, gridPanel.getChineseFont());
            if (nf == null) {
                return;
            }
            chineseExample.setFont(nf);
            CharProps.getProperties().setProperty("font.ch.face", nf.getFontName());
            CharProps.getProperties().setProperty("font.ch.size", nf.getSize() + "");
            CharProps.getProperties().setProperty("font.ch.style", nf.getStyle() + "");
            gridPanel.setChineseFont(nf);
        } else if (e.getSource() == pinyin) {
            Font nf = JFontChooser.showDialog(this, "Choose Pinyin Font", pinText, gridPanel.getPinyinFont());
            if (nf == null) {
                return;
            }
            gridPanel.setPinyinFont(nf);
            CharProps.getProperties().setProperty("font.pinyin.face", nf.getFontName());
            CharProps.getProperties().setProperty("font.pinyin.size", nf.getSize() + "");
            CharProps.getProperties().setProperty("font.pinyin.style", nf.getStyle() + "");
            pinyinExample.setFont(nf);
        } else if (e.getSource() == other) {
            Font nf = JFontChooser.showDialog(this, "Choose other font", enText, gridPanel.getOtherFont());
            if (nf == null) {
                return;
            }
            CharProps.getProperties().setProperty("font.other.face", nf.getFontName());
            CharProps.getProperties().setProperty("font.other.size", nf.getSize() + "");
            CharProps.getProperties().setProperty("font.other.style", nf.getStyle() + "");
            gridPanel.setOtherFont(nf);
            otherExample.setFont(nf);
        }
        ListPanel.refreshFonts();
        CharApp.getInstance().getListPanel().repaint();
    }