java(6)--GUI学习

GUI图形用户接口,相当于c#中的winform。以前一直用winform做,感觉特简单,控件拖进去,点点点就行了,写一些事件就能完成大多数事件。似乎学习c#都是从winform开始,感觉好简单的说,好了废话不多说。
Java为GUI提供的对象都存在java.Awt和javax.Swing两个包中。
先说一下Awt和Swing的区别:
Awt与 Swing
java.Awt:Abstract Window ToolKit (抽象窗口工具包),需要调用本地系统方法实现功能。属重量级控件。(重量级控件就是和系统结合比较紧密的控件,受限于操作系统,不易于移植。)
javax.Swing:在AWT的基础上,建立的一套图形界面系统,其中提供了更多的组件,而且完全由Java实现。增强了移植性,属轻量级控件。(移植性很好)
接下来说说AWT的继承体系
体系图
我们可以通过add方法将控件(window、frame、dialog和panel增加进去)

记得第一次玩布局的时候是做Android的一个小应用,有一些布局是必须知道的,当时就是因为不懂布局,所以界面做的很差劲。常见的布局管理器:
FlowLayout(流式布局管理器)

  • 从左到右的顺序排列。
  • Panel默认的布局管理器。

BorderLayout(边界布局管理器)

  • 东,南,西,北,中
  • Frame默认的布局管理器。

GridLayout(网格布局管理器)

  • 规则的矩阵

CardLayout(卡片布局管理器)

  • 选项卡

GridBagLayout(网格包布局管理器)

  • 非规则的矩阵

有了控件就必须写方法,在控件上写入方法

事件监听机制

除了activeListener事件,其余事件都可以用WindowAdapter适配器来完成,省去了全部复写方法的麻烦。
例子:

Frame frame=new Frame("zgq");
        //frame.setSize(500,400);
        //frame.setLocation(300,200);
        frame.setBounds(500, 400, 300, 200);
        frame.setLayout(new FlowLayout());
        Button but=new Button("button");
        frame.add(but);
        //为button写点击事件
        but.addActionListener(new ActionListener() {

            @Override
            public void actionPerformed(ActionEvent arg0) {
                // TODO 自动生成的方法存根
                System.out.println("点击button");
            }
        });
        //为frame写事件
        frame.addWindowListener(new WindowAdapter() {
            public void windowClosing(WindowEvent arg0){
                System.exit(0);
            }
        });

        //如果不用windowAdapter适配器,需要复写这么多事件  故使用适配器更为方便
//      frame.addWindowListener(new WindowListener() {
//          
//          @Override
//          public void windowOpened(WindowEvent arg0) {
//              // TODO 自动生成的方法存根
//              
//          }
//          
//          @Override
//          public void windowIconified(WindowEvent arg0) {
//              // TODO 自动生成的方法存根
//              
//          }
//          
//          @Override
//          public void windowDeiconified(WindowEvent arg0) {
//              // TODO 自动生成的方法存根
//              
//          }
//          
//          @Override
//          public void windowDeactivated(WindowEvent arg0) {
//              // TODO 自动生成的方法存根
//              
//          }
//          
//          @Override
//          public void windowClosing(WindowEvent arg0) {
//              // TODO 自动生成的方法存根
//              
//          }
//          
//          @Override
//          public void windowClosed(WindowEvent arg0) {
//              // TODO 自动生成的方法存根
//              
//          }
//          
//          @Override
//          public void windowActivated(WindowEvent arg0) {
//              // TODO 自动生成的方法存根
//              
//          }
//      });
        frame.setVisible(true);
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
图书资料管理信息系统,带源代码、数据库sql文件、课设报告,具备如下基本功能: 1、 系统管理功能有:角色管理、用户管理、修改密码。主要实现系统的安全管理,不同的操作者有不同的权限,可以执行不同的操作。普通读者的权限只能是查询图书及自己的借阅情况;而图书馆管理员可以对图书信息进行管理,如对新书入库,也可以管理用户,如添加新用户和删除不用的账号等。 2、 进书管理功能有:登记基本的图书信息。这部分的功能用于登记新书的书名、作者、出版社、价格、进书的册数、进书日期、ISBN等。 3、 图书入库管理功能有:对新书分类编目,及时更新图书库中的图书信息。这部分的功能用于对所购进的新书,按其种类学科进行编目,给与唯一的书号;及时更新书库中的图书信息,包括书名、书号、作者、出版社、价格、库存位置和库存册数这些信息,方便读者查询借阅。 4、 查询功能功能有:查询图书的信息,查询读者的借阅情况。这部分的功能主要提供多种方式的查询服务。读者可以根据书名、作者或关键字模糊查询图书信息;读者也可以根据自己的借书证号查询自己的借阅情况,如已借了几本书,借书日期,还书日期,有没有续借等。 5、 借书/还书管理功能有:借书管理、还书管理。这部分的功能是当读者借书时,系统根据借书证号识别读者身份,核对读者的借书信息,做出判断如可不可以借、还可借几本,成功借阅后记录在借书信息并修改书库图书信息。当读者还书时,系统根据借书证号识别读者身份,核对读者的借书信息,做出判断如有没有超期,要不要罚款,需要罚多少等,最后还书成功,修改书库图书信息。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值