------- android培训、java培训、期待与您交流! ----------
常见的组件和菜单(jmenubar)
package cn.itcast.a_gui; import java.awt.BorderLayout; import javax.swing.ButtonGroup; import javax.swing.JButton; import javax.swing.JCheckBox; import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JList; import javax.swing.JMenu; import javax.swing.JMenuBar; import javax.swing.JMenuItem; import javax.swing.JPanel; import javax.swing.JPasswordField; import javax.swing.JRadioButton; import javax.swing.JTextArea; import javax.swing.JTextField; import cn.itcast.a_util.FrameUtil; public class Demo6 { /** * @param args */ public static void main(String[] args) { JFrame frame = new JFrame(); //面板 JPanel panel = new JPanel(); // panel.setBackground(Color.red); frame.add(panel); //标签 JLabel label = new JLabel("用户名:"); panel.add(label); //文本域 JTextField textField = new JTextField(12); panel.add(textField); //标签 JLabel label2 = new JLabel("密码:"); panel.add(label2); //密码域 JPasswordField passwordField = new JPasswordField(8); panel.add(passwordField); //单选按钮 JLabel label3 = new JLabel("性别:"); panel.add(label3); JRadioButton man = new JRadioButton("男"); JRadioButton woman = new JRadioButton("女"); //单选按钮-互斥(多选一) ButtonGroup buttonGroup = new ButtonGroup(); buttonGroup.add(man); buttonGroup.add(woman); //单选按钮不能添加进容器 panel.add(man); panel.add(woman); //复选框 JLabel label4 = new JLabel("爱好:"); panel.add(label4); JCheckBox play = new JCheckBox("运动"); JCheckBox sleep = new JCheckBox("睡觉"); JCheckBox movie = new JCheckBox("看电影"); panel.add(play); panel.add(sleep); panel.add(movie); //文本域 JLabel label5 = new JLabel("个人简历"); panel.add(label5); JTextArea textArea = new JTextArea(10,10); panel.add(textArea); //列表 String[] data = {"one","two","three"}; JList list = new JList(data); panel.add(list); //按钮-注册 JButton button = new JButton("注册"); panel.add(button); //菜单条 JMenuBar menuBar = new JMenuBar(); //菜单 JMenu menu1 = new JMenu("文件"); JMenu menu2= new JMenu("格式"); JMenu menu3 = new JMenu("帮助"); JMenu menu4 = new JMenu("页面设置"); //菜单项 JMenuItem item1 = new JMenuItem("新建"); JMenuItem item2 = new JMenuItem("保存"); JMenuItem item3 = new JMenuItem("另存为"); JMenuItem item4 = new JMenuItem("段落设置"); JMenuItem item5 = new JMenuItem("文字设置"); JMenuItem item6 = new JMenuItem("颜色设置"); menuBar.add(menu1); menuBar.add(menu2); menuBar.add(menu3); menu1.add(item1); menu1.add(item2); menu1.add(item3); menu1.add(menu4); menu4.add(item4); menu4.add(item5); menu4.add(item6); //选项里面有多个选项 frame.add(menuBar,BorderLayout.NORTH); FrameUtil.initFrame(frame, 300, 320); } }
FlowLayout流式布局
在JPanel中默认是流式布局:
public class ShowFlowLayout extends JFrame { public ShowFlowLayout() { super.setLayout(new FlowLayout(FlowLayout.LEFT, 10, 20)); add(new JLabel("姓名:")); add(new JTextField(8)); add(new JLabel("邮箱:")); add(new JTextField(8)); add(new JLabel("电话:")); add(new JTextField(8)); } public static void main(String[] args) { ShowFlowLayout frame = new ShowFlowLayout(); frame.setTitle("FlowLayout"); frame.setSize(500, 200); frame.setLocationRelativeTo(null); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.setVisible(true); } }
GridLayout网格布局
public class ShowGridLayout extends JFrame { public ShowGridLayout() { setLayout(new GridLayout(3, 2, 5, 5)); add(new JLabel("姓名:")); add(new JTextField(8)); add(new JLabel("邮箱:")); add(new JTextField(8)); add(new JLabel("电话:")); add(new JTextField(8)); } public static void main(String[] args) { ShowGridLayout frame = new ShowGridLayout(); frame.setTitle("GridLayout"); frame.setSize(200, 125); frame.setLocationRelativeTo(null); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.setVisible(true); } }
BorderLayout边框布局
public class ShowBorderLayout extends JFrame { public ShowBorderLayout() { setLayout(new BorderLayout(5, 10)); add(new JButton("东"), BorderLayout.WEST); add(new JButton("西"), BorderLayout.EAST); add(new JButton("南"), BorderLayout.SOUTH); add(new JButton("北"), BorderLayout.NORTH); add(new JButton("中"), BorderLayout.CENTER); } public static void main(String[] args) { ShowBorderLayout frame = new ShowBorderLayout(); frame.setTitle("BorderLayout"); frame.setSize(300, 200); frame.setLocationRelativeTo(null); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.setVisible(true); } }
事件
import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.JButton; import javax.swing.JFrame; public class ShowButton extends JFrame { public ShowButton() { JButton button = new JButton("点我"); add(button); // 添加鼠标监听事件 button.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { System.out.println("按钮被点击"); Object source = e.getSource(); JButton button = (JButton) source; String text = button.getText(); if ("按钮被点击".equals(text)) { button.setText("点我"); } else { button.setText("按钮被点击"); } } }); } public static void main(String[] args) { ShowButton frame = new ShowButton(); frame.setTitle("我的框架"); frame.setSize(400, 200); frame.setLocationRelativeTo(null); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.setVisible(true); } }
适配器
import java.awt.event.WindowAdapter; import java.awt.event.WindowEvent; import javax.swing.JFrame; public class AdapterDemo extends JFrame { AdapterDemo() { addWindowListener(new MyAdapter()); } public static void main(String[] args) { AdapterDemo frame = new AdapterDemo(); frame.setTitle("我的框架"); frame.setSize(400, 200); frame.setLocationRelativeTo(null); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.setVisible(true); } class MyAdapter extends WindowAdapter { public void windowActivated(WindowEvent e) { System.out.println("windowActivated...."); } } }
相关推荐
在本视频教程“黑马程序员_毕向东_Java基础视频教程第22天-06-GUI(Action事件)”中,讲师毕向东深入讲解了Java GUI中的Action事件处理机制,这是构建用户友好界面的关键部分。 首先,我们要理解什么是GUI。GUI,...
uc_GUI 是一个专门为嵌入式系统设计的图形用户界面库,它的源代码和源码说明文件对于开发者来说是深入了解和定制GUI功能的关键资源。uc_GUI的源码提供了完整的图形绘制和交互逻辑,使得开发者能够在资源有限的嵌入式...
4. **代码优化**:针对51单片机的性能特点,可能需要对ZLG_GUI的部分算法进行优化,例如简化绘图操作,减少计算量。 5. **事件处理**:实现ZLG_GUI的事件处理机制,使用户可以通过按键或其他输入设备与GUI进行交互...
SimpleBGC_GUI_2_2b2中文版是一款专为云台调试设计的软件,它提供了用户友好的界面和强大的功能,使得云台的设置和调整变得更加简单易行。这款软件是针对SimpleBGC控制器的,这是一个广泛应用于无人机、摄影设备和...
描述中的“SeggerEval_WIN32_MSVC_MinGW_GUI_V550原版的代码”意味着这包含了Segger GUI库的原始代码,适用于Microsoft Visual C++(MSVC)编译器以及MinGW(Minimalist GNU for Windows)环境。MinGW是一个开源项目...
MATLAB GUI设计学习(源代码),包含了大量matlab gui学习设计的源代码,可供参考
"GUI_handles.zip"是一个包含MATLAB GUI源代码的压缩包,特别针对"handles"这一主题,旨在帮助用户深入理解并熟练掌握MATLAB GUI的编写。 在MATLAB GUI中,"handles"是一个关键概念,它是一种数据结构,存储了GUI...
这些代码实例有助于开发者理解和学习GUI编程的最佳实践,同时也提供了可以直接用于项目中的代码片段,大大缩短了开发周期。 此外,ZLG_GUI可能还包括一些高级特性,如多线程支持、图形渲染优化、动画效果以及触摸...
K210烧录软件kflash_gui
但总体而言,jd_gui作为一个直观且易于使用的工具,对于开发人员来说是一个宝贵的资源,特别是在处理没有源代码的第三方库或者进行代码逆向工程时。 此外,使用jd_gui需要注意版权和许可问题,因为反编译可能涉及到...
【GUI.rar_ZLG-gui_zlg_zlg gui_zlg/gui_周立功】是一个与周立功相关的GUI(图形用户界面)开发资源包,适用于SmartARM开发板。这个压缩包包含了一个名为GUI_IcoMenu的文件,可能是一个图标菜单的实现,以及一个...
在这个压缩包中,"dm01_tpinter.py"可能就是一个基于Tkinter库的GUI示例代码。 Tkinter是Python的内置GUI库,无需额外安装即可使用,是初学者学习GUI编程的首选。它提供了一系列的组件,如按钮、文本框、标签、框架...
标题中的"gui.zip_GUI_GUI图像处理_图像处理_图像处理_GUI_图像处理GUI"表明这是一个关于图像处理的MATLAB GUI程序的压缩包。这个程序可能包含了用于显示、操作和分析图像的各种功能。 描述中提到"基于matlab的简单...
基于这些信息,我们可以推测zlg_gui_t6963是一个为AVR微控制器设计的GUI库,可能包含了驱动程序、API函数和示例代码,以便开发者能在T6963控制器上构建图形界面。开发者可能需要使用IAR IDE来编译和调试代码,而...
在IT行业中,GUI(图形用户界面)是软件开发中的一个重要组成部分,它使用户能够通过图形化的方式与应用程序交互。周立功,作为一个知名的IT专家,可能在这个领域有深入的研究和贡献,尤其是他的“ZLG GUI”项目。这...
标题中的"image_processing.rar"指的是一个使用MATLAB进行图像处理的项目,而"GUI image_IMAGE_MATLAB_GUI_image gui_image"这部分描述可能意味着该压缩包包含了用于图像处理的图形用户界面(GUI)代码和示例图像。...
《MATLAB GUI图像处理:构建高效用户...这个资源“45398646matlabgui_GUI_GUI图像处理_GUI图像处理_MATALBGUI_图像处理GUI”可能包含了实际的GUI设计示例和代码,对于学习和实践MATLAB GUI图像处理具有很高的参考价值。
uc_gui源代码是基于C语言实现的一个图形用户界面库,主要设计用于嵌入式系统。这个库对于有C语言基础的人来说,是一个极好的学习资源,能够深入理解GUI(图形用户界面)的设计原理和编程技巧。ucGUI库不仅包含了丰富...
在MATLAB环境中,GUI(图形用户界面)是一种交互式编程方式,它允许用户通过图形化控件与程序进行交互,而无需深入理解底层代码的细节。"mainboard.rar"这个压缩包显然包含了关于MATLAB GUI设计的相关资源,特别是...
此外,这个文件夹可能还包含了示例程序、库文件、编译脚本和文档,这些都是学习和使用ZLG_GUI的关键部分。 在学习ZLG_GUI时,以下几个核心知识点是不可忽视的: 1. **图形界面设计**:ZLG_GUI提供了多种控件,如...