Java界面开发

界面开发

如何开发一个界面?实现一个很简单的登录界面?
大概有以下几个部分:

界面监听模型 --- 界面机制 响应机制 -- 最底层的代码如何实现 

首先我们要了解
界面的组成:

	     窗体 输入框  复选框   单选框  按钮 文字 图片 

可视化类:

	     容器:窗体  -顶级容器  
	     组件:输入框  复选框   单选框  按钮...

元素类:

         布局: 边框布局 流式布局....
	     颜色  尺寸 字体 ....

界面开发工具源代码包:

		java.awt	早期 		保留使用元素类 
		javax.swing 升级之后的  可视化类 图片类

代码的实现

创建一个窗口

	public class Pagefornet {
			javax.swing.JFrame jf=new javax.swing.JFrame();//设置界面,注意:属性只能声明- 不能做调用
			// 显示界面
				public void function() {
				jf.setTitle("MyLogin");
				jf.setSize(500,700);// 宽高 单位: 像素 
				jf.setVisible(true);// 可视化  将窗体对象显示在屏幕上 ,其实只有true or false两种
	}
	}

这里使用源代码包中的类 需要指明包路径,运用了JFrame这个类创建了一个窗体,包的路径是javax.swing

设置好布局


 	// 布局 流式布局-- 总结布局的规则 ,申明
 java.awt.FlowLayout  fl = new java.awt.FlowLayout();

执行:jf.setLayout(fl);// 设置流式布局 

加载各种按钮

//按钮
 javax.swing.JButton btn = new javax.swing.JButton("登录");
 // 输入框 ,JTextField可视化,JPasswordFiled不可视化
 javax.swing.JTextField  namein=new 	javax.swing.JTextField();
 javax.swing.JPasswordField  pwdin=new 	javax.swing.JPasswordField();
 // 文字-- 标签
 javax.swing.JLabel namejla = new javax.swing.JLabel("账号:");
 javax.swing.JLabel pwdjla = new javax.swing.JLabel("密码:");

小甜点,加入一个复选框

//设置复选框     javax.swing.JCheckBox
 javax.swing.JCheckBox moreselect=new javax.swing.JCheckBox("remember code");
 

小甜点2,加入一张图片

//添加任意图片到界面上,找到图片位置和名字,要用\\分隔开,存到一个标签中
	javax.swing.ImageIcon photo=new javax.swing.ImageIcon("C:\\Users\\joanna\\Desktop\\平面设计作品\\logo楚灵.png");

具体代码实现效果

江中版权所有

所有代码演示如下:

package com.jzze1215;
public class Pagefornet {
    //设置界面,属性    只能声明- 不能做调用
	javax.swing.JFrame jf=new javax.swing.JFrame();
	//设置按钮1
    javax.swing.JButton btn=new javax.swing.JButton("LOGIN");
    //设置按钮2
    javax.swing.JButton btn2=new javax.swing.JButton("New comer please click here");
    
    //设置输入框
    javax.swing.JTextField namein=new javax.swing.JTextField();
    javax.swing.JPasswordField psw=new javax.swing.JPasswordField();
    // 布局 流式布局-- 总结布局的规则 
    java.awt.FlowLayout fl=new java.awt.FlowLayout();
    
 // 文字-- 标签  JLabel叫标签组件,存在于javax.swing这个库中
    javax.swing.JLabel namejla = new javax.swing.JLabel("账号:");
	javax.swing.JLabel pswjla = new javax.swing.JLabel("密码:");
	
	//设置复选框     javax.swing.JCheckBox
	javax.swing.JCheckBox moreselect=new javax.swing.JCheckBox("remember code");
	
	//添加任意图片到界面上,找到图片位置和名字,要用\\分隔开,存到一个标签中
	javax.swing.ImageIcon photo=new javax.swing.ImageIcon("C:\\Users\\joanna\\Desktop\\平面设计作品\\logo楚灵.png");
	javax.swing.JLabel photojla = new javax.swing.JLabel(photo);
	//改变图片的大小,使用画图工具,改变图片大小,选择保持横纵比即可
	//Dimension dx1=new Dimension(400,300);	
	javax.swing.ImageIcon picture=new javax.swing.ImageIcon("C:\\Users\\joanna\\Desktop\\平面设计作品\\夜猫.png");	
	javax.swing.JLabel picturejla=new javax.swing.JLabel(picture);
	//picturejla.setPreferredSize(dx1);
	
	// 显示界面
	public void function()
    {
    	jf.setTitle("MY First Login Page");//整个页面的名字
    	jf.setSize(500,700);//宽高 单位: 像素 
    	jf.setDefaultCloseOperation(javax.swing.JFrame.EXIT_ON_CLOSE);//点击关闭时退出进程
    	jf.setLayout(fl);// 设置流式布局    	
    	//设置输入框的大小,dim为自己取的名字
    	java.awt.Dimension dim = new java.awt.Dimension(405,35);// 尺寸  	
    	namein.setPreferredSize(dim);
    	psw.setPreferredSize(dim);
    	//添加功能,从上到下依次添加
    	jf.add(photojla);
    	jf.add(namejla);
    	jf.add(namein);
    	jf.add(pswjla);
    	jf.add(psw);
    	jf.add(btn);
    	jf.add(moreselect);
    	jf.add(btn2);
    	jf.add(picturejla); 	
    	jf.setVisible(true);// 可视化  将窗体对象显示在屏幕上 
    }
	//程序入口 
	public static void main(String[] args)
    {
    	Pagefornet pagefornet=new Pagefornet();
    	pagefornet.function();	
    }
}

关于作者

本人为大一新生,这是我学术不精的时候照葫芦画瓢摸索出来的,那个logo也是我自己设计的,还望各位大佬多多包涵,这是学习Java的第三天做出来的效果,也希望各位有能力的人多多提点我呀,本人QQ讨论群群号:906776338,欢迎各位加群讨论,互相帮助,共同进步呢~

本文后续详见

https://blog.csdn.net/m0_51524714/article/details/111409736
也是本人原创~

这是一款真正意义上适合软件界面开发的C++界面库。采用XML管理GDI资源(如:图片、字体、颜色等),最大程度将界面与逻辑分开,让程序员有更多的时间去进行软件内部的逻辑处理。SKINSE扩展了非常丰富的API接口,兼容其他界面控件,使界面开发更加灵活、高效。SkinSE只用到了windows几个底层的核心库,没有用到(MFC/ATL等第三方库),采用纯API编写,采用C语言导出方式,增强可移植性,可以用于多种计算机语言。 1.SKINSE界面库内部没有完全采用HOOK拦截窗口的机制,主要采用子类化控件,修改窗口过程函数的方式进行界面美化。但是内置HOOK技术,可以动态设置HOOK,保证了SKINSE在整理构架上的灵活性。 2.SKINSE界面库内置DirectUI绘制思想,将界面绘制元素抽象成图片、文本、矩形区域、线条、动画,并且内置EventItem、DrawItem绘制机制。可以将这些绘制元素以及绘制机制组合开发,实现按钮、单选框、复选框、分组框、Tab控件、动画控件等界面控件。 3.SKINSE界面库提供了非常丰富的API接口,最大限度的让SKINSE界面库更加透明化、个性化,让SKINSE界面库的使用范围得到最大延伸。 4.SKINSE界面库在子类化进行控件美化的时候,尽量不修改控件的默认属性,最大程度地兼容window标准控件的默认属性。比如,目前市场上很多界面库在绘制窗口标题栏的时候,去掉了窗口的WS_CAPTION属性, 导致GetClientRect、GetWindowRect方法失效,从而加大了界面开发和设计的难度,当然也导致不能完美支持SDI/MDI等界面框架。 5.SKINSE界面库提供了界面控件动态布局的特性。省去了程序开发中最为繁琐的窗口控件位置的调整。只需要调整一下XML配置属性,就可以进行完美布局。 6.SKINSE界面库支持BMP、ICO、PNG、JPG等图片格式,支持皮肤色调变换,提供SKINSE内部的图像引擎接口。 7.SKINSE界面库支持SDI、MDI等界面框架,支持20余种界面控件,完整兼容window 2000、window2003、window XP、vista、window7当前的主流操作系统。并且支持window平台的VC、.NET、VB6、Delphi、C++ Builder、PowerBuilder、易语言等多种计算机语言开发
评论 19
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值