这段java代码为什么要这样才能运行
PHPz
PHPz 2017-04-18 09:14:57
0
2
582
    import javax.swing.*;
    import java.awt.*;
    import java.io.*;
    import java.awt.event.*;
    
    public class Editor extends JFrame implements ActionListener {
    
        JPanel Panel = new JPanel();
        JTextArea editor = new JTextArea(30, 60);
    
        JMenuItem kaiti = new JMenuItem("楷体");
        JMenuItem lishu = new JMenuItem("隶书");
        JMenuItem yahei = new JMenuItem("微软雅黑");
        Editor() {
            super("文本编辑器   ");
            setBounds(250, 100, 700, 450);
            setDefaultCloseOperation(DO_NOTHING_ON_CLOSE);
            addWindowListener(new WindowAdapter() {
                public void windowClosing(WindowEvent e) {
                    int option = JOptionPane.showConfirmDialog(Editor.this, "确定要退出吗? ", "Warning ",
                            JOptionPane.YES_NO_OPTION);
    
                    if (option == JOptionPane.YES_OPTION)
                        if (e.getWindow() == Editor.this) {
                            System.exit(0);
                        } else {
                            return;
                        }
                }
            });
            add(new JScrollPane(editor));// );
            editor.setFont(new Font("宋体", Font.PLAIN, 20));
    
    
            JMenuBar wenben = new JMenuBar();
    
            this.setJMenuBar(wenben);
            wenben.setOpaque(true);
            
            JMenu custom = new JMenu("自定义");
            JMenu OptionM = new JMenu("字体");
            custom.add(OptionM);
            OptionM.add(kaiti);
            OptionM.add(lishu);
            OptionM.add(yahei);
            wenben.add(custom);
     
            kaiti.addActionListener(this);
            lishu.addActionListener(this);
            yahei.addActionListener(this);
    
        }
        public void actionPerformed(ActionEvent e) {
            // TODO Auto-generated method stub
            String actionCommand = e.getActionCommand();
            if (e.getSource() instanceof JMenu) {
              if  (e.getSource() == kaiti) {
                    editor.setFont(new Font("楷体", Font.PLAIN, editor.getFont().getSize()));
                } else if (e.getSource() == lishu) {
                    editor.setFont(new Font("隶书", Font.PLAIN, editor.getFont().getSize()));
                } else if (e.getSource() == yahei) {
                    editor.setFont(new Font("微软雅黑", Font.PLAIN, editor.getFont().getSize()));
                }
            }
        }
 }

还是说这写不行。求指教,就是actionPerformed不执行。
//我发现在if (e.getSource() instanceof JMenu)的后面加上分号就可以运行了,这是什么原因呢

PHPz
PHPz

学习是最好的投资!

membalas semua(2)
黄舟

kelihatan seperti kod swing, tetapi kod yang anda siarkan benar-benar tidak lengkap dan saya tidak tahu apa keperluan anda? Bahagian manakah yang tidak dilaksanakan?

阿神

Anda cuba menggunakan kelas dalaman tanpa nama untuk memantau:

Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!