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
也是本人原创~