在界面开发中主要运用的就是创建对象与对象名调用的方法。
创建对象:类名 对象名 = new 类名();
对象名调用:对象变量名.方法名();
界面的组成:
可视化组件部件:窗体 按键 输入框
元素规则部分(组件的属性):尺寸 颜色 布局 字体
内容部分: 文本 图片
界面开发包:
主要用到的页面开发包有两个为awt与swing。
java.awt:
抽象窗题开发工具包(Abstract Windows Toolkit)为早期界面开发包,但其中的可视化组件类功能不全以及样式不好看而有的后来升级开发包javax.swing。awt主要保留使用元素规则类如尺寸 颜色 布局 字体等。
使用时需导用路径:单个类导入:import java.awt.Color
全包导入:import java.awt.*
javax.swing:
为后来升级的开发包,主要使用可视化部件组织类:窗体 按钮 输入框,图标类也是,以及其他补充元素规则类。导入路径同理。
使用的类 :
java.awt:
Dimension:尺寸
Color:颜色
Font:字体
FlowLayout:流式布局器:默认从左到右 从上到下 依次居中搬放,根据组织内的内容自适应尺寸。
javax.swing:
JFrame:窗体类
JButton:按钮类
JLabel:标签类(文本 图片)
JTextFiled:文本输入框
JPasswordField:密码输入框
Imagelcon:图标类 需要放在标签上
步骤:
1.创建一个类LoginUI
2.类中创建一个方法showUI
3.创建主函数,在主函数中使用LoginUI创建一个对象,调用showUI方法。
4.导入界面开发包
5.在showUI中创建窗体对象
6.设置窗体对象的属性:标题 尺寸 关闭方式 布局方法 位置 可视化
7.创建界面需要的组织对象:按钮 标签 输入框 图标对象
8.设置组织对象的必要属性:如文本 图标等等
9.将组件加入到窗体对象中
10.可视化调整到所有代码之后
练习:
package lcr0328;
import java.awt.*;
import javax.swing.*;
public class LoginUI {
public void showUI(){
//窗体设置
JFrame jf = new JFrame();
jf.setTitle("QQ登录界面");
jf.setSize(230,400);
jf.setDefaultCloseOperation(2);
FlowLayout fl = new FlowLayout();
jf.setLayout(fl);
//标签
JLabel jl1 = new JLabel("账号:");
JLabel jl2 = new JLabel("密码:");
//输入框
JTextField jtf1 = new JTextField();
JTextField jtf2 = new JTextField();
Dimension dim = new Dimension();//Dimension dim = new Dimension();
dim.setSize(150,25);//dim.setSise(150,25);
jtf1.setPreferredSize(dim);//
jtf2.setPreferredSize(dim);
//图片
String path = "C:\\Users\\15697\\IdeaProjects\\Pro24\\src\\lcr0328\\11.jpg";
ImageIcon icon = new ImageIcon(path);
JLabel iconjla = new JLabel();
iconjla.setIcon(icon);
//按钮
JButton jb = new JButton("登录");
jf.add(iconjla);
jf.add(jl1);
jf.add(jtf1);
jf.add(jl2);
jf.add(jtf2);
jf.add(jb);
jf.setVisible(true);
}
public static void main(String[] args) {
LoginUI lo = new LoginUI();
lo.showUI();
}
}
package lcr0328;
import java.awt.*;
import javax.swing.*;
public class Calculater {
public void showCal(){
//窗体设置
JFrame jf = new JFrame();
jf.setSize(350,400);
jf.setTitle("计算器");
jf.setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);
FlowLayout fl = new FlowLayout();
jf.setLayout(fl);
//组件对象
JLabel jl1 = new JLabel("编辑(E) 查看(V) 帮助(H)") ;
JTextField jtf = new JTextField(310);
JLabel jl2 = new JLabel();
JLabel jl3 = new JLabel();
Dimension dim = new Dimension();
dim.setSize(110,30);
jl2.setPreferredSize(dim);
jl3.setPreferredSize(dim);
JButton jb11 = new JButton("Backspace");
JButton jb12 = new JButton("CE");
JButton jb13 = new JButton("C ");
JButton jb21 = new JButton("MC");
JButton jb22 = new JButton(" 7 ");
JButton jb23 = new JButton(" 8 ");
JButton jb24 = new JButton(" 9 ");
JButton jb25 = new JButton(" / ");
JButton jb26 = new JButton("sqrt");
JButton jb31 = new JButton("MR");
JButton jb32 = new JButton(" 4 ");
JButton jb33 = new JButton(" 5 ");
JButton jb34 = new JButton(" 6 ");
JButton jb35 = new JButton(" * ");
JButton jb36 = new JButton(" % ");
JButton jb41 = new JButton("Ms");
JButton jb42 = new JButton(" 1 ");
JButton jb43 = new JButton(" 2 ");
JButton jb44 = new JButton(" 3 ");
JButton jb45 = new JButton(" - ");
JButton jb46 = new JButton(" 1/x");
JButton jb51 = new JButton("M+");
JButton jb52 = new JButton(" 0 ");
JButton jb53 = new JButton("+/-");
JButton jb54 = new JButton(" . ");
JButton jb55 = new JButton(" + ");
JButton jb56 = new JButton(" = ");
jf.add(jl1);
jf.add(jl3);
jf.add(jtf);
jf.add(jl2);
jf.add(jb11);
jf.add(jb12);
jf.add(jb13);
jf.add(jb21);
jf.add(jb22);
jf.add(jb23);
jf.add(jb24);
jf.add(jb25);
jf.add(jb26);
jf.add(jb31);
jf.add(jb32);
jf.add(jb33);
jf.add(jb34);
jf.add(jb35);
jf.add(jb36);
jf.add(jb41);
jf.add(jb42);
jf.add(jb43);
jf.add(jb44);
jf.add(jb45);
jf.add(jb46);
jf.add(jb51);
jf.add(jb52);
jf.add(jb53);
jf.add(jb54);
jf.add(jb55);
jf.add(jb56);
jf.setVisible(true);
}
public static void main(String[] args) {
Calculater cal = new Calculater();
cal.showCal();
}
}