`
菜刀兔兔兔
  • 浏览: 16596 次
  • 性别: Icon_minigender_2
社区版块
存档分类
最新评论

图形开发界面总结

 
阅读更多
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上的应用解决了这个问题,但是还是无法调整东边和西边的大小。
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;
	}

}


分享到:
评论

相关推荐

    Java图形用户界面实习报告

    实习过程中,学生不仅加深了对Java图形用户界面开发的理解,还意识到了自身在学习方法上的不足。通过实际操作,掌握了从理论到实践的关键技能,包括组件的灵活运用、布局的合理规划以及事件处理的机制。同时,也认识...

    zookeeper客户端 图形化界面

    总结,Zookeeper客户端图形化界面为Zookeeper的管理和维护提供了便利,通过直观的图形展示和便捷的操作,使得Zookeeper的管理变得更加高效和人性化。无论是开发人员还是运维人员,都能从中受益,提升工作效率。在...

    嵌入式用户图形界面编程

    然而,随着嵌入式设备功能的增强和应用的复杂化,市场对图形用户界面的需求增长,促使开发者开发出高级GUI工具包,使嵌入式Linux下的图形开发成为可能。目前,市场上常用的几种嵌入式GUI工具包包括紧缩的X Window...

    sqlite图形操作界面

    总结来说,SQLite图形操作界面为用户提供了易用且功能丰富的环境,让SQLite数据库的管理和开发工作变得更加直观和高效。无论是在个人项目还是团队协作中,使用这样的工具都能显著提升数据库管理的体验。而`...

    内部排序图形化界面

    本文将详细探讨一款基于C++开发的内部排序图形化界面,该界面采用Microsoft Foundation Classes (MFC)库构建,实现了包括冒泡法、快速排序在内的六种常见排序算法,并提供了实时查看排序过程的功能,为学习和理解...

    功能界面图形开发工具

    **功能界面图形开发工具** 在IT行业中,设计和开发用户界面是至关重要的步骤,而工具的选择则直接影响到设计效率和最终产品的质量。Axure RP 7.0 是一款备受推崇的功能界面图形开发工具,它专为产品经理、交互设计...

    vxworks图形界面开发

    ### VxWorks图形界面开发知识点解析 #### 一、引言 随着信息技术的快速发展,特别是多媒体信息技术、互联网以及消费类电子产品的不断进步,嵌入式操作系统因其占用内存小、可裁剪性强、稳定性高等特点,在各个领域...

    C++,C#,Java,Python实现简单的图形用户界面的区别和方法

    ### C++、C#、Java、Python 实现简单图形用户界面(GUI)的区别与方法 #### C++ 在C++中创建图形用户界面(GUI),主要依赖于Microsoft Foundation Classes(MFC)。MFC作为一套用于Windows应用程序开发的类库,...

    Qt图形化界面

    总结起来,“Qt图形化界面”涉及到的知识点包括:Qt库的安装与配置、Qt Creator的使用、`QWidget`和`QMainWindow`的继承与应用、`QPainter`和图形绘制、信号与槽机制、布局管理、控件的使用、动画框架以及测试方法。...

    java图形界面迷宫问题

    1. 游戏开发:Java图形界面迷宫问题可以用于开发迷宫游戏,例如寻找隐藏的宝石或逃离迷宫。 2. 机器人导航:Java图形界面迷宫问题可以用于机器人导航,例如机器人如何避免障碍物并找到目标位置。 3. 智能家居:Java...

    图形用户界面_java_图形用户界面_

    总结来说,Java的图形用户界面通过Applet和Swing库提供了强大的工具,使开发者能够创建功能丰富的桌面和Web应用。虽然Applet在现代Web开发中的使用已减少,但了解其工作原理对理解Java GUI编程至关重要。通过学习和...

    mysql图形化界面工具

    总结起来,MySQL图形化界面工具如MySQL Workbench,是简化数据库管理的强大工具,尤其适合那些希望通过图形化界面而非命令行进行操作的用户。5.0版本提供了多种功能,覆盖了数据库的开发、设计、管理和维护,为MySQL...

    基于MATLAB的图形用户界面设计.pdf

    总结而言,MATLAB的图形用户界面设计通过实现三维图形的多样显示、消隐处理和光照效果,提供了强大的工具来创建直观、易操作的交互式图形应用程序。随着计算机图形学和人机交互技术的发展,MATLAB将继续在这一领域...

    java实验报告之图形用户界面程序设计与 AWT/Swing组件

    在本实验报告中,主题是“Java实验报告之图形用户界面程序设计与AWT/Swing组件”,主要目标是让学生熟悉Java GUI设计原理、程序结构,掌握AWT和Swing组件的功能,以及学会应用这些组件来设计应用程序,特别是实现一...

    图形用户登陆界面图形用户登陆界面

    总结来说,图形用户登录界面是软件系统的关键组成部分,其设计和实现需要兼顾易用性和安全性。开发者应当熟练掌握相关编程工具,同时遵循最佳实践,以提供高效且安全的登录体验。在实际项目中,不断学习和优化登录...

    图形用户界面英文

    ### 图形用户界面(GUI)标准开发:深入解析与实践指南 #### 引言 图形用户界面(Graphical User Interface,简称GUI),作为现代软件应用的重要组成部分,其设计的优劣直接影响到用户的体验和产品的市场竞争力。...

    linux安装图形界面

    ### Linux安装图形界面知识点 #### 一、理解Linux图形界面 在Linux系统中,图形界面是一种用户友好的交互方式,它使用户能够通过鼠标点击、...无论是日常使用还是开发工作,都能够找到适合自己的图形界面解决方案。

    图形用户界面聊天室 客户端和服务器

    ### 图形用户界面聊天室:客户端与服务器实现详解 #### 一、项目概述 本项目为一个基于Java的图形用户界面(GUI)聊天室应用程序,实现了客户端与服务器之间的通信功能。用户可以通过图形化的界面进行消息的发送与...

    java 图形界面 图形界面

    Java Swing 是一个用于创建图形用户界面(GUI)的开发工具包,它是 Java Foundation Classes (JFC) 的一部分。Swing 提供了丰富的组件集,包括按钮、文本框、列表、表格等,允许开发者创建功能丰富的桌面应用程序。 ...

    Realveiw MDK中图形化界面配置详解

    在深入探讨Realview MDK中图形化界面配置的精髓之前,我们有必要先了解Realview MDK是什么以及它在嵌入式开发中的角色。Realview MDK(也常被称为Keil MDK)是一款由ARM公司推出的集成开发环境(IDE),专为基于ARM...

Global site tag (gtag.js) - Google Analytics