位置: IT常识 - 正文
推荐整理分享浅谈-java GUI-基础理论(java中的gui是什么),希望有所帮助,仅作参考,欢迎阅读内容。
文章相关热门搜索词:guid java,java gui编程,guid java,guid java,java gui入门,java.基础,java gui编程,java gui编程,内容如对您有帮助,希望把文章链接给更多的朋友!
GUI:Graphical User Interface(图形用户接口) 用图形的方式,用来显示计算机操作的界面
Java为GUI提供的API都存在java.awt和javax.Swing两个包中
java.awt 包:
awt是这三个单词首字母的缩写,翻译过来是抽象窗口工具包,只不过这个包的API,需要调用本地系 统方法实现功能,和本地系统有关联,不利于代码移植,属重量级控件
javax.swing 包:
它是在awt的基础上,建立的一套图形界面系统,提供了更多的组件,而且完全由Java实现。增强了移 植性,属轻量级控件 所以,我们做图形界面开发使用的是swing包下的类。
这里出现了一个名词:组件。
组件是具有图形表示的对象,该图形表示可以显示在屏幕上并且可以与用户交互 比如说,在用户登录中,文本框和按钮等,都是能够表示图形的对象,所以它们都称为组件。 最后,我们来说一下,我们会用到的常用组件
组件:
基本组件:具有图形表示的对象
容器组件:是可以添加组件的组件。也就是在容器中可以通过add方法添加组件,既可以添加基本组件,也可 以添加容器组件。
JButton,这是按钮
JLabel,这是用来显示文本内容的,或者展示图片使用
JTextFile,这是文本框,用来输入内容的
JTextArea,这是文本域,用来输入多行多列的数据的
接着,我们再来看容器组件:
面板也是一个容器,我们常用JPanel,后面用到在具体讲解 窗体,下面是Frame,这是awt包下,而我们使用的是JFrame,这是swing包下。 好了,GUI相关的基础知识我们就先讲到这里
初识窗体JFrame:窗体(顶层窗体)
JFrame(); ---> 构造一个不可见的窗体
JFrame类的构造方法构造方法功能说明public JFrame()创建一个没有窗口标题的窗口框架public JFrame(String title)创建一个窗口标题为title的窗口框架JFrame成员方法方法功能说明public void setTitle(String title)设置或修改框架的标题public String getTitle()返回框架的标题public void setBackground(Color c)设置框架的背景颜色public MenuBar getMenuBar()返回窗口中的菜单对象public void setMenuBar(MenuBar mb)设置窗口的菜单条public void remove(MenuComponent mc)从窗口删除给定的菜单项public boolean isResizable()判断窗口是否可以调节大小public void setVisible(boolean b)显示或隐藏窗体(取决于b的值-true为显示,-false为隐藏)public void setLocationRelativeTo(component c)设置窗体位置,null为屏幕中央public void setAlawysOnTop(boolean c)设置此窗口是否终究位于其他窗口之上public void setDefaultCloseoperation(int operation)设置窗体关闭时默认操作,3--为关闭时退出程序窗体添加按钮JButton(); 构造方法JButton(String text);创建一个带文本的按钮JButton() 成员方法void setSize(int w, int h);设置按钮的宽高大小void setLocation(int x, int y);设置按钮的坐标void setBounds(int x, int y, int w, int h);上面两个方法的结合和窗体相关操作窗体对象.setLayout(null);------------> 取消窗体默认布局
****
窗体对象.add(按钮对象名) ------------------>把按钮加入窗体中
JLabel();显示文本或图像类构造方法:JLabel(String text);创建指定的文本添加图片时,不能直接加路径,直接使用字符串路径会识别成text文本
需要使用-----ImageIcon(String filename); 的构造方法
例子:
ImageIcon img = new ImageIcon("D\\img\\demo.png"); // 使用转义符\定义完整路径JLabel jl = new JLabel(img); // 将图片加入成员方法:与其按钮的成员方法
void setBounds(int x, int y, int width, int height):设置位置和大小
JTextField(); 文本输入框构造方法JTextField(String text);文本输入框,有文本默认在输入框里显示JPassowrdFIeld();密码输入框构造方法:JPassowrdFIeld(String text);密码输入框,有文本默认在输入框里显示成员方法void getText();获取输入框文本内容监听事件AcationEvent();事件源:事件发生的地方。可以是按钮,窗体,图片等
事件:发生了什么事情。例如:鼠标点击事件,键盘按下事件等 事件绑定:把事件绑定到事件源上,当发生了某个事件,则触发对应的处理逻辑 事件源对象. addXXXListener(事件);
ActionEvent();构造方法----用于传递事件,为组件使用的addActionListener();方法接受此类事件的addActionListener()对象
要添加事件的对象名.addActionListener(new ActionListener() { // 这里使用的为匿名类写法 @override public void cationPerformed(ActionEvent e){ // 重写该方法, 事件触发代码 }});低级事件低级事件是指基于组件和容器的事件,当一个组件上发生特定动作,则触发了低级(组件)事件。
(1)ComponentEvent组件事件:组件尺寸变化、移动。
(2)ContainerEvent容器事件: 组件增加、移动。
(3)WindowEvent窗口事件: 包括用户点击了关闭按钮,窗口得到与失去焦点,窗口最小化等。
(4)FocusEvent焦点事件: 焦点的获得和丢失。
(5)KeyEvent键盘事件: 键按下、释放。
(6)MouseEvent鼠标事件: 包括鼠标按下,鼠标释放,鼠标点击等。
这里不一一列举了
高级事件(语义事件)高级事件可以不和特定的动作相关联,该类事件具有一般性,取决于触发此事件的含义。
(1)ActionEvent动作事件:对应一个动作事件,它不代表一个特定的动作,而是一种一般性动作(语义)。如按钮按下、JTextField中按Enter键。
(2)AdjustmentEvent调节事件:在滚动条上移动滑块以调节数值。
(3)ItemEvent项目事件:选择项目,不选择“项目改变”。
(4)TextEvent文本事件:文本对象改变。
常用事件处理类常用组件事件类主要包括:
操作事件类ActionEvent
选项事件类ItemEvent
文本事件类TextEvent
窗口事件类WindowEvent
鼠标事件类MouseEvent
按键事件类KeyEvent
事件处理类
事件源产生事件的类类型ButtonActionEventCheckboxActionEvent、ItemEventComponentComponentEvent、FocusEvent、KeyEvent、MouseEventMenuItemActionEventScrollbarAdjustmentEventTextFieldActionEventTextAreaActionEventWindowWindowEvent更多的部分可以参考java手册
上一篇:python基本颜色代码(python颜色代码有哪些)
下一篇:Mybatis-Plus使用@TableField实现自动填充日期(mybatis plus 用法)
友情链接: 武汉网站建设