黑马程序员-GUI编程

来源:互联网 发布:淘宝宝贝上架时间 编辑:程序博客网 时间:2024/05/17 06:13

GUI图形用户界面 (图形用户接口)

图形化界面编程

 

CLI ( 命令行用户接口)

 

Java为GUI提供的对象都在java.awt(抽象窗口工具包)—需要调用本地系统方法 和javax.Swing两个包中(完全由java实现)

 

 

布局管理器   容器中的组件的排放方式,就是布局。

FlowLayout(流式布局管理器) 从左到右  Panel默认的

BorderLayout(边界布局管理器) 东西南北中 Frame默认的布局管理器

GridLayout(网格布局管理器)  规则的矩形

GridBagLayout(网络包布局管理器) 非规则的矩形

 

制作简单的窗体

import java.awt.Button;

import java.awt.FlowLayout;

 

import java.awt.Frame;

import java.awt.LayoutManager;

 

 

public class AwtTitle {

 

    /**

     * @param args

     */

    public static void main(String[] args) {

       // TODO Auto-generatedmethod stub

       Frame f = new Frame("我的电脑");//窗口标题

       f.setSize(500, 400);//设置窗体大小

       f.setLocation(300, 300);//设置组件在屏幕中的位置

 

       f.setLayout(new FlowLayout());//设置组件的布局方式

        Button b = new Button("按钮A");//添加按钮组件

        Button b1 = new Button("按钮B");

        f.add(b);//组件添加到窗体中

        f.add(b1);

       f.setVisible(true);//窗体可见

    }

 

}

 

事件监听机制

 

 

事件监听,关闭窗口

       Frame f = new Frame();

      

       f.addWindowListener(new WindowAdapter(){

           public void   windowClosing(WindowEvente) {

              System.exit(0);

           }

 

       });

 

 

 

 

 

 

Button事件

public class ButtonEvent {

    private Framef;

    private Buttonb;

 

 

    public static void main(String[] args) {

       // TODO Auto-generatedmethod stub

       new ButtonEvent();

      

    }

    //函数一建立就建立窗体

    ButtonEvent(){

       button();

    }

   

    //创建窗体

    public void button(){

       f = new Frame("标题");

       f.setSize(400,300);

       f.setLayout(new FlowLayout());

       b = new Button("ABC");

       f.add(b);

       event();

       f.setVisible(true);

    }

    //创建事件

    private void event(){

       f.addWindowListener(new WindowAdapter(){

           public void   windowClosing(WindowEvente) {

              System.exit(0);

           }

       });

      

       b.addActionListener(new ActionListener(){

            public voidactionPerformed(ActionEvent e){

               System.exit(0);

            }

       });

      

    }

共性事件---鼠标和键盘

鼠标事件

       b.addMouseListener(new MouseAdapter(){

 

           public void mouseClicked (MouseEvent e) {

            System.out.println("jinru");

            }    

       });

 

键盘事件

       b.addKeyListener(new KeyAdapter(){

 

           public void keyPressed(KeyEvent e) {

            System.out.println("jinru");

            }    

       });

 

Consume()不按照默认的方法执行

 

显示地址里的内容

       b.addActionListener(new  ActionListener(){

            public voidactionPerformed(ActionEvent e){

               String text = tf.getText();//获取TextField内容

               File dir = new File(text);//将获取文本封装成文件

               if(dir.exists()&& dir.isDirectory()){

                   ta.setText(null);

                   String[]names = dir.list();

                   for(Stringname:names){

                   ta.append(name+"\r\n");//将给定文本追加到文本区的当前文本

                   }

               }    

               tf.setText(null);//TextField内容输出后清空

            }

            

       });

创建菜单

        //创建窗口

       f = new Frame("标题");

       f.setSize(400,300);

       f.setLayout(new FlowLayout());

       //创建菜单栏

       mb = new MenuBar();

       //创建菜单

       m = new Menu("文件");

       m1 = new Menu("子菜单");

       //创建菜单项

       mi = new MenuItem("退出");

       mi1 = new MenuItem("子条目");

       //将子菜单添加到菜单中

       m.add(m1);

       //将菜单项添加到菜单中

       m1.add(mi1);

       m.add(mi);

       //将菜单添加到菜单栏中

       mb.add(m);

       //将菜单栏添加到窗体中

       f.setMenuBar(mb);


 

原创粉丝点击