Swing初学

本文深入探讨了Java Swing组件的基本使用方法,包括如何在窗体中添加组件、JDialog对话框与JFrame的区别、单选按钮和复选框的特性、文本区域的属性设置、菜单与文件选择器的实现,以及常用组件对应的事件处理机制。同时介绍了Java中事件监听器接口的作用和使用方法,为开发者提供了全面的指导。
Java Swing(图形用户界面)
1、创建Swing窗体后,不能把组件直接添加到创建的窗体中,Swing组件窗体含有一个称为内容面板的容器,组件只能添加Swing窗体对应的内容面板中,创建Swing窗体对应的内容面板,可以使用Container类中的getContentPane()方法获得内容面板对象.如:
Container content= getContentPane();
JDialog是Dialog类的子类,它可以向用户返回信息,接收用户输入,实现与用户的交互.但JDialog与JFrame窗口的区别在于:JDialog对象需要依赖其它窗口(如JFrame)而存在,它所依赖的窗口最大化,最小化时,该对话框也随之最大化,最小化;当窗口还原时,对话框也随之还原.对话框分为2种模式:响应模式,只让程序响应对话框的内部事件,而对于对话框以外的事件则不予响应;非响应模式,可以让程序响应对话框以外的事件. 单选按钮JRadioButton,存在选中与未被选中两种状态,一般情况下,单选按钮会成组出现,每组中有多个单选按钮,只能选择其中一个.复选框JCheckBox同样存在选中与未被选中两种状态,复选框是带有标签或不带有标签的框,被选中时,框中将有一个复选标志,否则为空.
textArea.setTabsize(10); 设置[TAB]键的跳离距离textArea.setLineWrap(true); 自动换行功能
textArea.setWrapStyleWord(true); 断行不段字功能
菜单JMenu:在窗口中创建菜单的,有以下4个步骤(1)声明并创建相应的JMenuBar,JMenu和JMenuItem之间的对象;(2) 获得窗口的内容面板,并向面板中添加JMenuBar组件对象;(3)向加入到面板中的JMenuB组件对象中,添加JMenu组件对象;(4)向JMenu组件对象中,添加JMenuItem组件对象.
JFileChooser用于打开或保存文件的文件选择器组件,它可以显示文件和目录,并可以让用户打开或保存文件.它的showOpenDialog()显示一个文件对话框,用于打开一个文件,showSaveDialog()显示一个文件对话框,用于保存一个文件.
JColorChooser可用于颜色调整的颜色选择器,使用JColorChooser类中的静态方法showDialog()方法,实现颜色选择对话框. JTabbedPane(选项卡面板),可以将多个组件放在不同的布局中,但任意时刻,只能有一个布局面板可见.用户可以通过窗口中的选项卡标签,在不同布局面板之间切换.
2、常用组件对应的事件处理机制:
组件 接口中处理事件的方法 时间源获得监视器的方法
JButton actionPerformed(ActionEvent e) addActionListener()
JTextField actionPerformed(ActionEvent e) addActionListener()
JPasswordField actionPerformed(ActionEvent e) addActionListener()
JTextArea textValueChanged(TextListener e) addTextListener()
JRadioButton itemStateChanged(ItemEvent e) addItemListener()
JCheckBox itemStateChanged(ItemEvent e) addItemListener()
JComboBox itemStateChanged(ItemEvent e) addItemListener()
JSlider stateChanged(ChangeEvent event) addChangeListener()
JProgressBar stateChanged(ChangeEvent event) addChangeListener()
Java中提供了一组事件监听器接口,用于处理各类事件的方法.在java.awt.event.*包中,主要包含以下类:
ActionListener接口类用于处理行为事件,也就是用户对组件的事件,例如用户单击按钮事件;
FocusListener接口类用于处理事件焦点事件,如将当前事件的焦点转移到某个窗口时使用;
ItemListener接口类用于处理选项事件,如用户单击复选框或单选框;
KeyListener接口类用于处理键盘事件,当需要接收用户键盘信息时使用,处理用户触击键盘的事件;(在键盘事件出发时会产生一个KeyEvent事件对象,同时该事件对象中的getKeyCode()方法,用来判断按下的是键盘上的那一个键)
MouseListener接口类用于处理鼠标事件,包括鼠标的左右键单击,双击及鼠标进入或移出组件范围事件;
MouseMotionListener接口用于处理鼠标移动事件,包括鼠标在指定范围内移动的事件处理;
AdjustListener接口类处理调整事件,如用户拖动滑块等组件时所触发的事件的处理;
WindowListener接口类用于处理窗口事件,如点击窗口上的最大化,最小化及关闭;
【事件触发一致性】研究多智能体网络如何通过分布式事件驱动控制实现有限时间内的共识(Matlab代码实现)内容概要:本文围绕多智能体网络中的事件触发一致性问题,研究如何通过分布式事件驱动控制实现有限时间内的共识,并提供了相应的Matlab代码实现方案。文中探讨了事件触发机制在降低通信负担、提升系统效率方面的优势,重点分析了多智能体系统在有限时间收敛的一致性控制策略,涉及系统模型构建、触发条件设计、稳定性与收敛性分析等核心技术环节。此外,文档还展示了该技术在航空航天、电力系统、机器人协同、无人机编队等多个前沿领域的潜在应用,体现了其跨学科的研究价值和工程实用性。; 适合人群:具备一定控制理论基础和Matlab编程能力的研究生、科研人员及从事自动化、智能系统、多智能体协同控制等相关领域的工程技术人员。; 使用场景及目标:①用于理解和实现多智能体系统在有限时间内达成一致的分布式控制方法;②为事件触发控制、分布式优化、协同控制等课题提供算法设计与仿真验证的技术参考;③支撑科研项目开发、学术论文复现及工程原型系统搭建; 阅读建议:建议结合文中提供的Matlab代码进行实践操作,重点关注事件触发条件的设计逻辑与系统收敛性证明之间的关系,同时可延伸至其他应用场景进行二次开发与性能优化。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值