GUI编程

以frame框架为基础,后续有更新为JFrame

设置frame可见性(才能从内存中显示到屏幕上)

监听事件

添加关闭方法(继承监听方法,用window的System.exit(0)退出)

button按钮需要监听方法才能实现功能,两个button按钮可以共用一个监听方法

TextField控件,需要监听函数接收输入的文本。可用(TextField)e.getSource()获得强制转换后的文本框。

操作:监听事件构造时引入自己所定义的myFrame对象=NULL。button监听时用this传入指针,就可以做到操作整个myFrame对象

神操作:内部类,将监听事件写在自己定义的myFrame对象里,就可以做到直接调用整个框架而不需要传递任何参数

适配器

自己写的监听器继承XXXAdapter,不需要重写全部的方法,用哪个写哪个。

下列自己看源码

鼠标监听器

MouseListener

窗口监听

WindowListener

windowActivated函数激活窗口(就是点击窗口)

键盘监听

KeyListener

布局方式

有流式布局setLayout(new FlowLayout(默认居中,可以靠左靠右)),东西南北中布局add(添加的东西XXX,BorderLayout.EAST[WEST,SOUTH,NORTH,CENTER]),表格布局setLayout(new GridLayout(行:x,列:y,还有间距可不写))。

有种绝对定位setLayout(x,y)横纵坐标。

pack()方法适应大小。

文本

文本框

文本框JTextField

密码框JPasswordField,用SetEchoChar方法修改

文本域JTextArea

有TextField.setEchoChar()方法把文本框内数据替换成某个字符,但输入进程序的数据仍然为原始数据。

有getText()获取文本数据

有setText()将数据输出到文本框

文本标签

Label,标签

JLabel,在JFrame里使用

画笔

paint画笔工具,在frame类里。

用完记得还原(颜色等)

需要自己重写才能用

监听事件需要用repaint重画才能看见(否则只会画第一次)

容器

有方法用Panel面板(不能单独使用,需要用add方法添加进frame框架)放置控件,设计布局

有JScrollPane面板,跟Panel很像,当超出框架时会出现滚动条。

Container容器,跟Panel很像。

弹窗

JDialog对象,弹窗不需要自己写关闭按钮事件。

按键

基本元素button

单选框JRadioButton由于单选框只能选一个,所以需要分组,用ButtonGroup把JRadioButton添加为一个组,在添加进容器container里。

多选框JCheckBox,直接添加进container里

下拉框

JComboBox

有addItem(“”)方法添加元素

用监听方法获得返回值

列表框

先生成一个数组作为列表内容String[]

JList

把数组在创建JList作为参数传入,可以再add传入数据进数组