Java上课代码笔记

都是笔记,注释也有可能写的是个错的,目的是抽奖系统

代码实时更新

代码

class Student extends Person{

	public Student(String no,String name) {
		super(no,name,Person.TYPE_STUDENT);
		// TODO Auto-generated constructor stub
	}

	@Override
	public String getTiTle() {
		// TODO Auto-generated method stub
		String title="学号"+no2+"姓名:"+name2;
		return null;
	}
	//构造方法

}
//学生信息


class Teacher extends Person {
	public Teacher(String no2,String name2) {
		super(no2,name2,Person.TYPE_TEACHER);
		// TODO Auto-generated constructor stub
	}

	@Override
	public String getTiTle() {
		// TODO Auto-generated method stub
		String title="工号"+no2+"姓名:"+name2;
		return null;
	}
	//构造方法

}
//老师信息


class DefaultPerson extends Person{

	public DefaultPerson() {
		super("", "",Person.TYPE_DEFAULT);
		// TODO Auto-generated constructor stub
	}

	@Override
	public String getTiTle() {
		// TODO Auto-generated method stub
		return "湖北科技职业学院";
	}
	//构造方法
	
}
//派生类



class PersonFactory{

	public static Person getPerson(int type,String no2,String name2){
		Person person=null;
		if(no2==null||no2.isEmpty()||name2==null||name2.isEmpty()){
			person=null;
		}else{
			if(type==Person.TYPE_STUDENT){
				person=new Student(no2,name2);
			}else if(type==Person.TYPE_TEACHER){
				person=new Teacher(no2,name2);
			}
		}
		
		if(person==null){
			person=new DefaultPerson();
		}
		return person;
	}
	
}
//判断以及工厂化创建实例对象



abstract class Person {
	
	
	protected String no2;
	protected String name2;
	protected int type;
	
	public static final int TYPE_DEFAULT=0;
	public static final int TYPE_STUDENT=1;
	public static final int TYPE_TEACHER=2;
	//创建成员变量
	
	public Person(String no2, String name2, int typeStudent) {
		// TODO Auto-generated constructor stub
	}
	public String getNo2() {
		return no2;
	}
	public void setNo(String no2) {
		this.no2 = no2;
	}
	public String getName2() {
		return name2;
	}
	public void setName(String name2) {
		this.name2 = name2;
	}
	public int getType() {
		return type;
	}
	public void setType(int type) {
		this.type = type;
	}
	//封装
	public abstract String getTiTle();
	
}
//Person父类


public class main extends JFrame {
	
	private ButtonGroup group=new ButtonGroup();
	private JRadioButton rbStu=new JRadioButton("学生");
	private JRadioButton rbTracher=new JRadioButton("教师");
	
	private JButton btnStart=new JButton("开始抽奖");
	private JButton btnReset=new JButton("重置抽奖结果");
	
	private JLabel picLabel=new JLabel("图片",JLabel.CENTER);
	private JLabel titleLabel=new JLabel("湖北科技职业学院",JLabel.CENTER);
	//创建组件
	
	
	
	public main(){
		this.setTitle("随机抽奖系统");
		this.setBounds(650, 200, 450, 600);
		this.setResizable(false);
		BackgroundPanel bp=new BackgroundPanel(Toolkit.getDefaultToolkit().
				getImage(main.class.getResource("/imgs/main.png"))); //获取图片 反射机制
		this.setContentPane(bp);
		
		
		btnStart.setBounds(40, 20, 120, 40);
		btnReset.setBounds(180, 20, 120, 40);
		bp.add(btnStart);bp.add(btnReset);
		
		
		group.add(rbStu);group.add(rbTracher);
		rbStu.setBounds(320, 10, 100, 20);
		rbTracher.setBounds(320, 35, 100, 20);
		bp.add(rbStu);bp.add(rbTracher);
		
		picLabel.setBounds(90, 85, 250, 300);
		titleLabel.setBounds(60, 380, 300, 50);
		Font font=new Font("隶书",Font.BOLD,24);
		titleLabel.setFont(font);
		bp.add(titleLabel);bp.add(picLabel);
	}
	//构造方法

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		main frame=new main();
		frame.setVisible(true);
	}

}
//主方法

实现结果

界面代码显示背景图片

import java.awt.Graphics;
import java.awt.Image;
import javax.swing.JPanel;

public class BackgroundPanel extends JPanel{
	Image image;
	public BackgroundPanel(Image image){
		super();
		this.setOpaque(false);  //是否透明
		this.setLayout(null);  //空布局setBounds()
		this.image=image;
	}
	@Override
	protected void paintComponent(Graphics g) {
		// TODO Auto-generated method stub
		if(image!=null){
			int width=this.getWidth();
			int height=this.getHeight();
			g.drawImage(image, 0, 0, width, height, this);
		}
		super.paintComponent(g);
	}
	
}

注意:目前已经上传GithubGitee,代码会在仓库上面持续更新

GitHub地址:https://github.com/ziln-cn/chou-yu

Gitee地址:https://gitee.com/ziln_cn/chou-yu

素材下载地址:https://cdn.yvu.cc/2023/05/20230529031943283.zip

项目导出导入教程:https://yvu.cc/archives/1001.html

Comments | NOTHING

    空空如也!

消息盒子
# 您有1条未读消息 #
# 您需要首次评论以获取消息 #
# 您需要首次评论以获取消息 #

只显示最新10条未读和已读信息