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传入数据进数组