这段java代码为什么要这样才能运行
PHPz
PHPz 2017-04-18 09:14:57
0
2
467
    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

学习是最好的投资!

모든 응답(2)
黄舟

swing의 코드와 비슷해 보이지만 게시한 코드가 정말 불완전해서 어떤 것이 필요한지 모르겠습니다. 어떤 부분이 실행되지 않았나요?

阿神

익명 내부 클래스를 사용하여 모니터링해 봅니다.

최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!