1、模型:
package com.huawei.model;
/**
* 模型
* @author wym
*
*/
public class Person {
private String memberNum;
private String name;
public Person() {
super();
}
public Person(String memberNum, String name) {
super();
this.memberNum = memberNum;
this.name = name;
}
public String getMemberNum() {
return memberNum;
}
public void setMemberNum(String memberNum) {
this.memberNum = memberNum;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
2、工具类:
(1):PropertiesUtil类:
package com.huawei.util;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStream;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.Map.Entry;
import java.util.Properties;
import java.util.Set;
public class PropertiesUtil {
static Properties properties = new Properties();
private String memberNum;
private String name;
public String getMemberNum() {
return memberNum;
}
public void setMemberNum(String memberNum) {
this.memberNum = memberNum;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
/**
* 加载配置文件信息
*/
public static HashMap<String,String> readProperties(){
Properties properties = new Properties();
InputStream in;
try {
in = new FileInputStream("member.properties");
try {
properties.load(in);
in.close();
} catch (IOException e) {
e.printStackTrace();
}
} catch (FileNotFoundException e) {
e.printStackTrace();
}
HashMap<String,String> members = new HashMap<String,String>();
Set<Entry<Object, Object>> set = properties.entrySet();
Iterator<Map.Entry<Object, Object>> it = set.iterator();
String key = null, value = null;
while (it.hasNext()) {
Entry<Object, Object> entry = it.next();
key = String.valueOf(entry.getKey());
value = String.valueOf(entry.getValue());
key = key == null ? key : key.trim().toUpperCase();
value = value == null ? value : value.trim().toUpperCase();
members.put(key, value);
}
return members;
}
/**
* 获取配置文件中某个属性对应的成员名
* @param n 成员编号
* @return 成员名
*/
public static String getProperty(int n){
Properties properties = new Properties();
InputStream in;
try {
in = new FileInputStream("member.properties");
try {
properties.load(in);
in.close();
} catch (IOException e) {
e.printStackTrace();
}
} catch (FileNotFoundException e) {
e.printStackTrace();
}
String number = "member"+n;
String name = properties.getProperty(number);
return name;
}
/**
* 获取某个成员的编号
*/
public static int getMembersNum(){
Properties properties = new Properties();
InputStream in;
try {
in = new FileInputStream("member.properties");
try {
properties.load(in);
in.close();
} catch (IOException e) {
e.printStackTrace();
}
} catch (FileNotFoundException e) {
e.printStackTrace();
}
Set<Entry<Object, Object>> set = properties.entrySet();
return set.size();
}
}
(2)RandomNum类:
package com.huawei.util;
public class RandomNum {
/**
* 生成随机数
* @param n 随机数的最大值
* @return 随机数
*/
public static int getRandomNum(int n){
int number = (int)(Math.random()*n)+1;
return number;
}
}
3、界面:
package com.huawei.view;
import java.awt.Button;
import java.awt.Color;
import java.awt.Frame;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import javax.swing.JTextField;
import com.huawei.util.PropertiesUtil;
import com.huawei.util.RandomNum;
public class UserUI {
// 创建窗体对象
private static Frame f = new Frame("抽奖");
private static final JTextField member = new JTextField();
private static Button bu = new Button("开始抽奖");
public static void main(String[] args) {
f.setLayout(null) ;
bu.setBounds(250,100,100,30);
member.setBounds(250,150,100,30);
member.setHorizontalAlignment(JTextField.CENTER);
f.add(bu);
f.add(member);
f.setBounds(0,0,600,400);
f.setBackground(Color.WHITE);
f.setLocation(0,0);
f.setVisible(true);
// 设置窗体可以关闭
f.addWindowListener(new WindowAdapter() {
@Override
public void windowClosing(WindowEvent e) {
System.exit(0);
}
});
bu.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
int membersNum = PropertiesUtil.getMembersNum();
int n = RandomNum.getRandomNum(membersNum);
String name = PropertiesUtil.getProperty(n);
member.setText(name);
}
});
}
}
4、配置文件:
member1=\u5F20\u4E09
member2=\u674E\u56DB
member3=\u738B\u4E94
member4=\u8D75\u516D
5、效果图: