6月27日总结(图形开发界面)
这节课主要讲了图形开发界面。通过这节课我掌握了java提供的组件和布局API类,同时我学会了如何查询API文档。
首先,java里面有两大图形界面类:1、awt 2、swing;他俩最大区别是swing可以跨平台,提供了很大的方便。
javax.swing里面常用的容器组件有两种JFrame(窗体容器)和JPanel(面板容器)。其中,窗体是最基础的,所有的元素组件必须放在窗体上才能显示出来。常用的元素组建有JLabel、JTextField、JPasswordField、JComboBox、JCheckBox、JButton等等。其中要注意的是如果要用这些窗体或者组件要首先实例化才能使用,而且必须将窗体设置为可见,否则不能看见。
java.awt里面常用的布局类型有3种:BorderLayout、FlowLayout和GridLayout。和组件类相似,用布局类型的时候必须要先实例化才能使用。其中JFrame默认的布局类型是BorderLayout(边框布局),而JPanel的默认类型则为FlowLayout(流式布局)。
在今天的登陆界面的练习中,我遇到了几个问题,首先是页面的布局,总是调不成我想要的布局。然后我通过JPanel在边框布局的JFrame上的应用解决了这个问题,但是还是无法调整东边和西边的大小。
这节课主要讲了图形开发界面。通过这节课我掌握了java提供的组件和布局API类,同时我学会了如何查询API文档。
首先,java里面有两大图形界面类:1、awt 2、swing;他俩最大区别是swing可以跨平台,提供了很大的方便。
javax.swing里面常用的容器组件有两种JFrame(窗体容器)和JPanel(面板容器)。其中,窗体是最基础的,所有的元素组件必须放在窗体上才能显示出来。常用的元素组建有JLabel、JTextField、JPasswordField、JComboBox、JCheckBox、JButton等等。其中要注意的是如果要用这些窗体或者组件要首先实例化才能使用,而且必须将窗体设置为可见,否则不能看见。
java.awt里面常用的布局类型有3种:BorderLayout、FlowLayout和GridLayout。和组件类相似,用布局类型的时候必须要先实例化才能使用。其中JFrame默认的布局类型是BorderLayout(边框布局),而JPanel的默认类型则为FlowLayout(流式布局)。
在今天的登陆界面的练习中,我遇到了几个问题,首先是页面的布局,总是调不成我想要的布局。然后我通过JPanel在边框布局的JFrame上的应用解决了这个问题,但是还是无法调整东边和西边的大小。
package Login;import java.awt.BorderLayout; import java.awt.Dimension; import java.awt.FlowLayout; import java.awt.Font; import java.awt.GridLayout; import javax.swing.ImageIcon; import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JPanel; import javax.swing.JSeparator; //定义一个Login类 public class Login { //定义函数的入口 public static void main(String[] args) { //实例化一个Login类 Login lo = new Login(); //调用初始化函数 lo.unitGUI(); } //定义一个unitGUI初始化函数 public void unitGUI(){ //实例化一个窗体类型 JFrame jf = new JFrame(); //点击窗体关闭的时候退出程序 jf.setDefaultCloseOperation(3); //设置窗体大小 jf.setSize(400, 300); //设置窗体位置 jf.setLocation(470, 250); //设置窗体标题 jf.setTitle("QQ登录界面"); // 设置窗口显示在屏幕的中央 jf.setLocationRelativeTo(null); // 设置禁止调整窗体的大小 jf.setResizable(false); //jf.setUndecorated(true); //设置布局 BorderLayout bor = new BorderLayout(); jf.setLayout(bor); //把jpanel类添加到jframe上 JPanel west = West(); jf.add(west,BorderLayout.WEST); //添加JPanel到JFrame上 JPanel east = East(); jf.add(east,BorderLayout.EAST); //将JPanel添加到JFrame上 JPanel center = Center(); jf.add(center,BorderLayout.CENTER); JPanel south = South(); jf.add(south,BorderLayout.SOUTH); //添加一个文本框在上部 JPanel north = North(); jf.add(north,BorderLayout.NORTH); //设置背景图片 ImageIcon bjImage = new ImageIcon("Login/beijing.jpg"); JLabel beijing = new JLabel(bjImage); //设置便签的大小 beijing.setBounds(0, 0,bjImage.getIconWidth(),bjImage.getIconHeight()); //将便签添加到LayeredPane的最底层 jf.getLayeredPane().add(beijing,new Integer(Integer.MIN_VALUE)); //将LayeredPane上一层面板设置为透明 JPanel contentPanel = (JPanel)jf.getContentPane(); //设置面板为透明 contentPanel.setOpaque(false); north.setOpaque(false); center.setOpaque(false); east.setOpaque(false); west.setOpaque(false); south.setOpaque(false); //设置窗体为可见 jf.setVisible(true); } public JPanel West(){ //实例化一个JPanel类 JPanel jp = new JPanel(); //设置布局 jp.setLayout(new FlowLayout(FlowLayout.LEFT,0,50)); //设置大小 jp.setPreferredSize(new Dimension(110,0)); //添加一个按钮在西边 jp.add(new JLabel(" ")); JButton jbu = new JButton(new ImageIcon("Login/touxiang.jpg")); jbu.setPreferredSize(new Dimension(80,80)); jp.add(jbu); return jp; } public JPanel East(){ //实例化一个JPanel类 JPanel jp = new JPanel(); //GridLayout gri1 = new GridLayout(7,1); //jp.setLayout(gri1); //设置布局 jp.setLayout(new FlowLayout(FlowLayout.CENTER,0,19)); //设置大小 jp.setPreferredSize(new Dimension(110,0)); //添加两个按钮在东边 jp.add(new JLabel(" ")); JButton jbu1 = new JButton("注册帐号"); jp.add(jbu1); JButton jbu2 = new JButton("找回密码"); jp.add(jbu2); return jp; } public JPanel Center(){ //实例化一个JPanel类的对象 JPanel jp2 = new JPanel(); jp2.setLayout(new GridLayout(6,1)); javax.swing.JLabel jl5 = new javax.swing.JLabel(); jp2.add(jl5); javax.swing.JLabel jl6 = new javax.swing.JLabel(); jp2.add(jl6); //添加一个下拉框在中部 javax.swing.JComboBox jco = new javax.swing.JComboBox(); //为下拉框添加项目 jco.addItem("121727544"); jco.addItem("334715693"); jco.addItem("296299367"); jp2.add(jco); javax.swing.JLabel jl7 = new javax.swing.JLabel(); jp2.add(jl7); //添加一个密码框在中部 javax.swing.JPasswordField jpa = new javax.swing.JPasswordField(10); jp2.add(jpa); //添加两个复选框 javax.swing.JPanel jp4 = new javax.swing.JPanel(); jp4.setLayout(new GridLayout(1,2)); javax.swing.JCheckBox jch1 = new javax.swing.JCheckBox("记住密码"); jch1.setOpaque(false); jp4.add(jch1); javax.swing.JCheckBox jch2 = new javax.swing.JCheckBox("自动登录"); jch2.setOpaque(false); jp4.add(jch2); jp4.setOpaque(false); jp2.add(jp4); return jp2; } public JPanel South(){ //实例化一个Jpanel JPanel jp3 = new JPanel(); //添加一个按钮在南部 JButton jbu3 = new JButton("登录"); jp3.add(jbu3); return jp3; } public JPanel North(){ javax.swing.JPanel jp5 = new javax.swing.JPanel(); java.awt.GridLayout gri3 = new java.awt.GridLayout(3,1); jp5.setLayout(gri3); jp5.setPreferredSize(new Dimension(0,70)); jp5.add(new JLabel(" ")); javax.swing.JLabel jl1 = new javax.swing.JLabel("追梦.设计 "); jl1.setFont(new Font("华文行楷",Font.BOLD,30)); jp5.add(jl1); javax.swing.JLabel jl10 = new javax.swing.JLabel(" ——幸福因为有你在"); jl10.setFont(new Font("华文行楷",Font.BOLD,23)); jp5.add(jl10); return jp5; } }
发表评论
-
一只鱼的海底历险身亡记
2014-04-27 19:04 504好久不写博客。。登录 ... -
初学安卓____
2014-01-16 02:16 506大半夜了才开始写博客。。其实主要是因为刚刚在奋力的写实验报告 ... -
HashMap源码解读
2013-10-29 21:23 785Hash结构,简单的说,就是一个数组+链表,数组里面存了一 ... -
哈夫曼树
2013-10-07 17:26 723国庆七天过去了。。哈 ... -
文件应用——简单文件搜索器
2013-09-15 11:28 463自从暑假回家后,就没敲过代码、、我内心 ... -
有关通信___
2013-07-31 15:18 591通信学了好多天了,也烦躁了好多天了。看 ... -
非常简单的画板
2013-07-26 00:15 696好久以前就让做个画板了,一直没好 ... -
I O
2013-07-22 23:38 615我觉得在电脑中,文件是一个很重 ... -
关于线程
2013-07-22 23:15 756线程,学了挺久 ... -
队列总结
2013-07-17 12:10 1038现在,胡哥在上面滔滔不绝的讲着,他说没有东 ... -
关于科赫曲线
2013-07-17 00:44 1199学了 ... -
数组和队列总结
2013-07-14 09:53 11667月9日10日 总结(数组和队列) 这几天讲了数组和队列 ... -
分型与迭代(谢尔宾斯基三角形)总结
2013-07-07 14:50 37937月6日 分型与迭代总结(谢尔宾斯基三角形) ... -
事件机制总结
2013-07-05 23:16 8516月30日(事件机制)总结: 1、接口的定义 1.1定义接口 ... -
类的继承总结
2013-07-05 22:44 7476月29日 类的继承总结: 1、继承的格式: 1.1 ... -
类和对象总结
2013-06-27 22:41 6796月25日26日总结(类和对 ... -
Java数据类型分析总结
2013-06-27 22:40 7456月24日总结(Java数据类型分析): 这节课讲了Jav ...
相关推荐
实习过程中,学生不仅加深了对Java图形用户界面开发的理解,还意识到了自身在学习方法上的不足。通过实际操作,掌握了从理论到实践的关键技能,包括组件的灵活运用、布局的合理规划以及事件处理的机制。同时,也认识...
总结,Zookeeper客户端图形化界面为Zookeeper的管理和维护提供了便利,通过直观的图形展示和便捷的操作,使得Zookeeper的管理变得更加高效和人性化。无论是开发人员还是运维人员,都能从中受益,提升工作效率。在...
然而,随着嵌入式设备功能的增强和应用的复杂化,市场对图形用户界面的需求增长,促使开发者开发出高级GUI工具包,使嵌入式Linux下的图形开发成为可能。目前,市场上常用的几种嵌入式GUI工具包包括紧缩的X Window...
总结来说,SQLite图形操作界面为用户提供了易用且功能丰富的环境,让SQLite数据库的管理和开发工作变得更加直观和高效。无论是在个人项目还是团队协作中,使用这样的工具都能显著提升数据库管理的体验。而`...
本文将详细探讨一款基于C++开发的内部排序图形化界面,该界面采用Microsoft Foundation Classes (MFC)库构建,实现了包括冒泡法、快速排序在内的六种常见排序算法,并提供了实时查看排序过程的功能,为学习和理解...
**功能界面图形开发工具** 在IT行业中,设计和开发用户界面是至关重要的步骤,而工具的选择则直接影响到设计效率和最终产品的质量。Axure RP 7.0 是一款备受推崇的功能界面图形开发工具,它专为产品经理、交互设计...
### VxWorks图形界面开发知识点解析 #### 一、引言 随着信息技术的快速发展,特别是多媒体信息技术、互联网以及消费类电子产品的不断进步,嵌入式操作系统因其占用内存小、可裁剪性强、稳定性高等特点,在各个领域...
### C++、C#、Java、Python 实现简单图形用户界面(GUI)的区别与方法 #### C++ 在C++中创建图形用户界面(GUI),主要依赖于Microsoft Foundation Classes(MFC)。MFC作为一套用于Windows应用程序开发的类库,...
总结起来,“Qt图形化界面”涉及到的知识点包括:Qt库的安装与配置、Qt Creator的使用、`QWidget`和`QMainWindow`的继承与应用、`QPainter`和图形绘制、信号与槽机制、布局管理、控件的使用、动画框架以及测试方法。...
1. 游戏开发:Java图形界面迷宫问题可以用于开发迷宫游戏,例如寻找隐藏的宝石或逃离迷宫。 2. 机器人导航:Java图形界面迷宫问题可以用于机器人导航,例如机器人如何避免障碍物并找到目标位置。 3. 智能家居:Java...
总结来说,Java的图形用户界面通过Applet和Swing库提供了强大的工具,使开发者能够创建功能丰富的桌面和Web应用。虽然Applet在现代Web开发中的使用已减少,但了解其工作原理对理解Java GUI编程至关重要。通过学习和...
总结起来,MySQL图形化界面工具如MySQL Workbench,是简化数据库管理的强大工具,尤其适合那些希望通过图形化界面而非命令行进行操作的用户。5.0版本提供了多种功能,覆盖了数据库的开发、设计、管理和维护,为MySQL...
总结而言,MATLAB的图形用户界面设计通过实现三维图形的多样显示、消隐处理和光照效果,提供了强大的工具来创建直观、易操作的交互式图形应用程序。随着计算机图形学和人机交互技术的发展,MATLAB将继续在这一领域...
在本实验报告中,主题是“Java实验报告之图形用户界面程序设计与AWT/Swing组件”,主要目标是让学生熟悉Java GUI设计原理、程序结构,掌握AWT和Swing组件的功能,以及学会应用这些组件来设计应用程序,特别是实现一...
### 图形用户界面(GUI)标准开发:深入解析与实践指南 #### 引言 图形用户界面(Graphical User Interface,简称GUI),作为现代软件应用的重要组成部分,其设计的优劣直接影响到用户的体验和产品的市场竞争力。...
### Linux安装图形界面知识点 #### 一、理解Linux图形界面 在Linux系统中,图形界面是一种用户友好的交互方式,它使用户能够通过鼠标点击、...无论是日常使用还是开发工作,都能够找到适合自己的图形界面解决方案。
### 图形用户界面聊天室:客户端与服务器实现详解 #### 一、项目概述 本项目为一个基于Java的图形用户界面(GUI)聊天室应用程序,实现了客户端与服务器之间的通信功能。用户可以通过图形化的界面进行消息的发送与...
Java Swing 是一个用于创建图形用户界面(GUI)的开发工具包,它是 Java Foundation Classes (JFC) 的一部分。Swing 提供了丰富的组件集,包括按钮、文本框、列表、表格等,允许开发者创建功能丰富的桌面应用程序。 ...
在深入探讨Realview MDK中图形化界面配置的精髓之前,我们有必要先了解Realview MDK是什么以及它在嵌入式开发中的角色。Realview MDK(也常被称为Keil MDK)是一款由ARM公司推出的集成开发环境(IDE),专为基于ARM...
#### 三、Qt/Embedded嵌入式图形开发 ##### 2.1 建立Qt/Embedded开发环境 在装有Linux操作系统的PC机上建立Qt/Embedded开发环境是开发GUI程序的第一步。这一过程主要包括安装必要的工具包,如: 1. **QVFB**:...