目录
JFrame窗体的常用组件
import javax.swing.*;//窗体应用的包
//创建窗体对象
JFrame jf = new JFrame();
//窗体部分
jf.setTitle("用户登录"); //设置窗体标题
jf.setSize(400,300); //设置窗体大小
jf.setDefaultCloseOperation(3); //设置窗体关闭时默认操作
jf.setLocationRelativeTo(null);//设置窗体位置居中
jf.setAlwaysOnTop(true); //设置窗体始终位于其他窗口之上
jf.setLayout(null); //取消窗体的默认布局
用户登录案例练习
写法一:可以直观地看到各个组件的组成步骤,较为美观
写法二:便于组件多时直接使用快捷键 Ctrl+d ,进行当前代码复制到下一行,再对组件名和内容进行修改
package com.itheima01;
//用户登录
import javax.swing.*;
public class JFrameDemo04 {
public static void main(String[] args) {
//创建窗体
JFrame jf = new JFrame();
//窗体部分
jf.setTitle("用户登录"); //设置窗体标题
jf.setSize(400,300); //设置窗体大小
jf.setDefaultCloseOperation(3); //设置窗体关闭时默认操作
jf.setLocationRelativeTo(null);//设置窗体位置居中
jf.setAlwaysOnTop(true); //设置窗体始终位于其他窗口之上
jf.setLayout(null); //取消窗体的默认布局
//用户登录
//写法一:可以直观地看到各个组件的组成步骤,较为美观
/* //用户名文本
JLabel user = new JLabel("用户名");
user.setBounds(50,50,50,20);
jf.add(user);
//密码文本
JLabel password = new JLabel("密码");
password.setBounds(50,100,50,20);
jf.add(password);
//用户名输入框
JTextField userField = new JTextField();
userField.setBounds(150,50,180,20);
jf.add(userField);
//密码输入框
JPasswordField passwordField = new JPasswordField();
passwordField.setBounds(150,100,180,20);
jf.add(passwordField);
//登录按钮
JButton btn = new JButton("登录");
btn.setBounds(50, 200, 280, 20);
jf.add(btn);
//窗体可见
jf.setVisible(true);
}
}
//写法2 ,便于组件多时直接使用快捷键Ctrl+d,进行当前代码复制到下一行,再对组件名和内容进行修改
// 用户名.密码文本
JLabel user = new JLabel("用户名");
JLabel password = new JLabel("密码");
// 用户名.密码坐标
user.setBounds(50, 50, 50, 20);
password.setBounds(50, 100, 50, 20);
//用户名密码添加到窗体
jf.add(user);
jf.add(password);
//用户名密码输入框
JTextField ueserFiled = new JTextField();
JPasswordField passwordFiled = new JPasswordField();
//用户名密码输入框坐标
ueserFiled.setBounds(150, 50, 180, 20);
passwordFiled.setBounds(150,100,180,20);
//用户名密码输入框添加到窗体
jf.add(ueserFiled);
jf.add(passwordFiled);
//登录按钮
JButton btn = new JButton("登录");
btn.setBounds(50, 200, 280, 20);
jf.add(btn);
//窗体可见
jf.setVisible(true);
}
}
聊天室练习
package com.itheima01;
import javax.swing.*;
public class JFrameDemo05 {
public static void main(String[] args) {
//创建窗体
JFrame jf = new JFrame();
//窗体部分
jf.setTitle("聊天室"); //设置窗体标题
jf.setSize(400,300); //设置窗体大小
jf.setDefaultCloseOperation(3); //设置窗体关闭时默认操作
jf.setLocationRelativeTo(null);//设置窗体位置居中
jf.setAlwaysOnTop(true); //设置窗体始终位于其他窗口之上
jf.setLayout(null); //取消窗体的默认布局
//创建文本域
JTextArea area = new JTextArea();
area.setBounds(10,10,360,200);
jf.add(area);
//创建文本框
JTextField text = new JTextField();
text.setBounds(10,230,180,20);
jf.add(text);
//创建按钮发送和取消聊天
JButton send = new JButton("发送");
JButton clear = new JButton("清空聊天");
//坐标
send.setBounds(200,230,70,20);
clear.setBounds(280,230,100,20);
//添加到窗体
jf.add(send);
jf.add(clear);
//窗体可见
jf.setVisible(true);
}
}
猜数字练习
package com.itheima01;
import javax.swing.*;
public class JFrameDemo06 {
public static void main(String[] args) {
//创建窗体
JFrame jf = new JFrame();
//窗体部分
jf.setTitle("猜数字");
jf.setSize(400, 300);
jf.setLocationRelativeTo(null);
jf.setDefaultCloseOperation(3);
jf.setAlwaysOnTop(true);
jf.setLayout(null);
//文本标签
JLabel text = new JLabel("系统产生了一个1-100之间的数据,请猜一猜");
text.setBounds(70, 50, 350, 20);
jf.add(text);
//文本框
JTextField textField = new JTextField();
textField.setBounds(120, 100, 150, 20);
jf.add(textField);
//按钮
JButton b = new JButton("我猜");
b.setBounds(150, 150, 100, 20);
jf.add(b);
//窗体可见
jf.setVisible(true);
}
}
考勤查询
package com.itheima;
import javax.swing.*;
//考勤查询
public class AttendanceQuery01 {
public static void main(String[] args) {
//创建窗体
JFrame jf= new JFrame();
//窗体部分
jf.setTitle("考勤查询");//主题
jf.setSize(400,300);//大小
jf.setAlwaysOnTop(true);//置于顶层
jf.setDefaultCloseOperation(3);//关闭时默认操作
jf.setLocationRelativeTo(null);//居中
jf.setLayout(null);//取消默认布局
//显示考勤日期
JLabel dataLable =new JLabel("考勤日期");
dataLable.setBounds(50,20,100,20);
jf.add(dataLable);
//开始时间
JLabel startLable = new JLabel("开始时间");
startLable.setBounds(50,70,100,20);
jf.add(startLable);
//开始时间输入框
JTextField startDateLable = new JTextField();
startDateLable.setBounds(50,100,100,20);
jf.add(startDateLable);
//结束时间
JLabel endLable = new JLabel("结束时间");
endLable.setBounds(250,70,100,20);
jf.add(endLable);
//结束时间输入框
JTextField endDateLable = new JTextField();
endDateLable.setBounds(250,100,100,20);
jf.add(endDateLable);
//确定按钮
JButton okLable = new JButton("确定");
okLable.setBounds(250,180,60,20);
jf.add(okLable);
//窗体可见
jf.setVisible(true);
}
}
作业练习
键盘对象Scanner的使用,方法的复习
需求:设计一个方法,可以获取指定长度的数组,数组元素为键盘录入的整数
package com.itheima_01;
import java.util.Scanner;
//键盘对象Scanner的使用,方法的复习
//需求:设计一个方法,可以获取指定长度的数组,数组元素为键盘录入的整数
public class Zuoye02 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("请输入数组长度:");
int n = sc.nextInt();//键盘输入数组长度
int[] arr = new int[n];//定义一个动态数组,并获得键盘录入的数组长度
shuzu(arr);//调用方法
//循环遍历数组,输出数组元素
for (int i = 0; i < arr.length; i++) {
System.out.println(arr[i]);
}
}
//定义一个方法,获取指定长度的数组
public static int[] shuzu(int[] arr) {
for (int i = 0; i < arr.length; i++) {
//创建键盘对象
Scanner sc = new Scanner(System.in);
System.out.println("请输入第" + (i + 1) + "数组元素:");
//录入数组元素
arr[i] = sc.nextInt();
}
return arr;
}
}
随机数对象Random的使用,方法的复习
需求:设计一个方法,可以获取一个指定长度的数组,数组元素为指定范围的整数
package com.itheima_01;
import java.util.Random;
import java.util.Scanner;
//随机数对象Random的使用,方法的复习
//需求:设计一个方法,可以获取一个指定长度的数组,数组元素为指定范围的整数
public class Zuoye03 {
public static void main(String[] args) {
System.out.println("请输入数组长度:");
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();//键盘输入数组长度
//定义一个数组,并获得键盘录入的数组长度
int[] arr = new int[n];
shuzu(arr);//调用方法
//循环遍历数组,获取长度
for (int i = 0; i < arr.length; i++) {
System.out.println(arr[i]);
}
}
public static int[] shuzu(int[] arr) {
//定义一个随机数,作为数组范围
Random r = new Random();//0-49
for (int i = 0; i < arr.length; i++) {
arr[i] = r.nextInt(50);//数组元素从随机数范围内获取
// System.out.println(arr[i]);
}
return arr;
}
}