您的位置:首页 > 产品设计 > UI/UE

Java学习-GUI

2016-11-10 23:34 155 查看
GUI
Jframe
不管是设置大小还是位置,都是先设置水平(x),在设置垂直(y)
设置位置:setLocation( );
设置大小:setSize( );
设置标题:setTitle( );
设置图标:

先要得到工具类Tookkit tk = Toolkit.getDefaultToolkit( );

然后设置图标setIconImage(tk.createImage("**/**.gif"));
设置窗体关闭及程序结束:setDefaultCloseOperation(this.EXIT_ON_CLOSE);

设置窗体可见:setVisible(true): //写在程序的最后

public MyFrame(){
Toolkit tk = Toolkit.getDefaultToolkit();//得到工具类
this.setSize(500, 400);//设置大小
this.setLocation((int)(tk.getScreenSize().getWidth()-500)/2,

(int)(tk.getScreenSize().getHeight()-400)/2);//设置位置
this.setTitle("我的第一个窗体");//设置标题
this.setIconImage(tk.createImage("img/wtp_icon_x16.gif"));//设置图标文件
this.setResizable(false);//窗体大小不可变
this.setDefaultCloseOperation(this.EXIT_ON_CLOSE);//设置窗体关闭即程序结束

this.addContent();

this.setVisible(true);//设置窗体可见---写在最后
}

通用方法步骤:先new,在设置颜色,大小,位置,最后将它装到标签中
容器





标签
命名规则:匈牙利命名法
步骤:1、得到内容面板 2、设置内容面板颜色 3、设置内容面板的布局管理器为空,这样我们给组件的位置,大小才会生效

组件的使用:步骤 1、产生组件对象 2、设置标签文本 3、设置文本字体 4、设置文本颜色
调试便签的时候,显示边框:setBorder(BorderFactory.createLineBorder(coler.BLACK));

按钮
setBounds() //前两个int是位置,后边两个是大小

下拉框
setEditable(true) //设置为可编辑
想要第一个显示不选中,可以添加一二空的串

单选框
互斥:

文本域
默认情况下没有外边框

中间容器:中间面板

事件处理



委托时间处理,java中是存在监听者,由监听者负责事件处理
特例:(1)一个监听者可以监听多个事件流;
(2)一个事件流可以绑定多个监听器(每个监听器监听不同的事件)
(3)处理事件之前,监听器必须与事件流绑定

默认弹框
第一个是位置,第二个是内容
1、消息框JOptionPane.showMessageDialog(nuii,"hello")
2、输入框消息框
String inputStr = JOptionPane.showInputDialog(nuii,"请输入金额")
注意
如果没有输入点击确定按钮,返回的是空串
点击取消返回的都是null
3、确定框
注意:“是”返回0,“否”返回1,“取消”返回2
int choice = JOptionPane.showConfirmDialog(nuii,"你确定你是男的?")

布局管理器
边界BorderLayout——窗体内容面板自带
特点1、把整个容器划分为5个部分(东南西北中,南北要贯通,中间最大)
特点2、中间最大不仅仅指位置最大,而且权利也最大(周边不存在,中间可以占领周边,反之不可以)
特点3、把一个大的界面划分成多个晓得界面,主要是放容器的

FlowFrame——JPanel默认的布局管理器
1、根据从上往下,从左往右,从中间开始,依次放入组件
2、组件的的位置会根据容器的大小改变而改变,因此不适用于大面积容器,自豪是单行容器
3、组件的大小是根据组件的内容决定的
setColumns()
GridFrame网格
1、将容器按照行列,划分为等大的几个部分
2、当放入的组件或子容器的个数与设置的个数不匹配时,有限满足行,烈士可以变化的
3、主要用于等分一个大容器为多个等大的小容器
CardLayout卡片(代码)
最先添加的,在最上边
添加的时候不能重复
空布局
null
不适用任何现成的布局管理器,所有的组件/子容器的位置大小,全部由程序set
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: