GUI简单学习

GUI简单学习总结

GUI方法演示

public class MenuDemo {
    protected static final String LINE_SEPARATOR = System.getProperty("line.separator");
    private JFrame f;
    private MenuBar mb;//菜单栏
    private Menu m1,m2,m3;//菜单夹
    private MenuItem mi1,mi2,mi3,mi4;//菜单项
    private TextArea ta;
    private Dialog d;
    private FileDialog fd;
    private File file;
    private BufferedReader bufr;
    private BufferedWriter bufw;

    public MenuDemo(){
        super();
        init();
    }

    private void init() {
        f = new JFrame("菜单练习");
        f.setBounds(500, 400, 500, 400);
        f.setLayout(new FlowLayout());//流式布局

        //菜单设置
        m1 = new Menu("文件");
        m2 = new Menu("退出");
        m3 = new Menu("帮助");
        mb = new MenuBar();
        mb.add(m1);
        mb.add(m2);
        mb.add(m3);
        mi1 = new MenuItem("打开");
        mi2 = new MenuItem("保存");
        mi3 = new MenuItem("退出");
        mi4 = new MenuItem("帮助");
        m1.add(mi1);
        m1.add(mi2);
        m2.add(mi3);
        m3.add(mi4);
        f.setMenuBar(mb);
        ta = new TextArea();
        f.add(ta);
        f.setVisible(true);
        event();
    }

    private void event() {

        f.addWindowListener(new WindowAdapter() {
            public void windowClosing(WindowEvent e) {
                System.exit(0);
            }
        });
        //绑定在菜单夹的监听器对该菜单夹中的全体菜单项生效,若无菜单夹,则不生效
        m2.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent e) {
                System.exit(0);
            }
        });

        mi4.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent e) {
                d = new Dialog(f);
                TextArea ta = new TextArea("菜单练习\nhello world\n");
                d.setBounds(600, 400, 300, 200);
                Label l = new Label("你好");
                d.add(l);
                d.setVisible(true);
            }
        });
        //打开
        mi1.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent e) {
                fd = new FileDialog(f,"打开文件",FileDialog.LOAD);
                fd.setVisible(true);
                String line;
                if(fd.getFile()!=null){
                    file = new File(fd.getDirectory(),fd.getFile());
                    if(file.getName()!=null){
                        ta.setText("");
                        System.out.println(file.getName());
                        try {
                            bufr = new BufferedReader(new FileReader(file));
                            while((line = bufr.readLine())!=null){
                                ta.append(line+LINE_SEPARATOR);
                            }
                        } catch (FileNotFoundException e1) {
                            e1.printStackTrace();
                        } catch (IOException e2){
                            e2.printStackTrace();
                        }finally{
                            try {
                                bufr.close();
                            } catch (IOException e1) {
                                e1.printStackTrace();
                            }
                        }
                    }

                }
            }   
        });

    }

}

事件监听机制

时间监听机制的组成

1.事件源
2.事件
3.监听器
4.处理方式
这里写图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值