黑马程序员---GUI【java】

------- android培训java培训、期待与您交流! ----------

GUI图形用户接口

Java为GUI提供的对象都存在Awt和Swing包中

Awt:调用本地系统方法实现功能,属于重量级控件

Swing:在Awt的基础上,建立的一套图形界面系统,其中提供了更多的组件,而且完全由JAVA实现,增强了移植性,属于轻量级控件。

图形用户界面组件的基本体系

Component

    |--Button

    |--Lable

    |--Checkbox

    |--TextComponent

        |--TextArea

        |--TextField

        |--Container 

        |--Window

            |--Frame

            |--Dialog

            |--FileDialog

        |--Panel

布局管理器

流式布局管理器、边界布局管理器、网格布局管理器、网格包布局管理器、卡片布局管理器。

Container常用子类:Window、Panel(面板不能单独存在)

Window常用子类:Frame、Dialog

Frame f = new Frame(“my window”)

f.setLayout(new FlowLayout())

f.setSize(500,400):设置窗体的大小

f.setLocation(300,200):设置窗体出现在屏幕的位置。

f.setVisible(true)

事件监听机制组成:

事件源(组件)

事件(Event)

监听器(Listener)

事件处理(引发事件后处理方式)

示例

class  AwtDemo
{
 public static void main(String[] args)
 {
  Frame f = new Frame("my awt");
  f.setSize(500,400);
  f.setLocation(300,200);
  f.setLayout(new FlowLayout());


  Button b = new Button("我是一个按钮");
  
  f.add(b);


  f.addWindowListener(new WindowAdapter()
  {
   public void windowClosing(WindowEvent e)
   {
    System.out.println("我关");
    System.exit(0);
   }
   public void windowActivated(WindowEvent e)
   {
    System.out.println("我活了。");

   }
   
   public void windowOpened(WindowEvent e)
   {
    System.out.println("我被打开了,hahahhahah");
   }

  });
  

 

  f.setVisible(true);

}
}

因为WindowListener的子类WindowAdapter已经实现了WindowListener接口。
并覆盖了其中的所有方法。那么我只要继承自Windowadapter覆盖我需要的方法即可。

菜单:

MenuBar Menu MenuItem

为了将该菜单栏与 Frame 对象关联,可以调用Frame 对象的 setMenuBar 方法。

FileDialog

FileDialog(Dialog parent, String title, int mode)

创建一个具有指定标题的文件对话框窗口,用于加载或保存文件。

其中的mode- 对话框的模式,可以是 FileDialog.LOAD FileDialog.SAVE。

Jar包双击执行
1,将多个类封装到了一个包(package)中。
2,定义一个jar包的配置信息。
 定义一个文件a.txt 。文件内容为:
 Main-Class:(空格)包名.类名(回车)
3,打jar包。
 jar -cvfm my.jar a.txt 包名
4,通过winrar程序进行验证,查看该jar的配置文件中是否有自定义的配置信息。

5,通过工具--文件夹选项--文件类型--jar类型文件,通过高级,定义该jar类型文件的打开动作的关联程序。
 jdk\bin\javaw.exe -jar

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值