📄 select.java
字号:
package com.person;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.event.*;
import java.sql.*;
class Select implements ActionListener {
static int hit = 0;// 记录点击"修改密码"的次数
int ID, sleeptime, amusementtime, worktime, findex = 0, windex = 0;
String foodname, seasonname;
public static double energy = 50;
JInternalFrame internalframe;
JLabel message = new JLabel("请输入要查询的人的ID:");
JTextField id = new JTextField(10);
JButton confirm = new JButton("确定");
JButton cancel = new JButton("取消");
JPanel panel = new JPanel();
JPanel panel1 = new JPanel();
JPanel panel2 = new JPanel();
JPanel panel3 = new JPanel();
JPanel panel4 = new JPanel();
Select() {
hit++;
if (hit == 1) {
internalframe = new JInternalFrame("查询", true, true, false, true);
internalframe
.setFrameIcon(new ImageIcon("images/select_title.gif"));
internalframe.setLocation(200, 100);
internalframe.setSize(350, 150);
internalframe.setVisible(true);
internalframe.setResizable(false);
internalframe.addInternalFrameListener(new WinLis());
final Container cp = internalframe.getContentPane();
cp.setLayout(new GridLayout(2, 1));
Box hBox = Box.createHorizontalBox();
message.setForeground(Color.BLUE);
hBox.add(Box.createHorizontalStrut(5));
message.setPreferredSize(new Dimension(150, 30));
hBox.add(message);
hBox.add(Box.createHorizontalStrut(5));
id.setBorder(BorderFactory.createLoweredBevelBorder());
id.setForeground(Color.RED);
hBox.add(id);
panel1.add(hBox);
panel1.setBackground(new Color(240, 248, 255));
panel.add(panel1);
panel.setBackground(new Color(240, 248, 255));
cp.add(panel);
panel2.setLayout(new GridLayout(1, 2));
panel3.setLayout(new FlowLayout());
confirm.setPreferredSize(new Dimension(80, 30));
panel3.add(confirm);
panel3.setBackground(new Color(240, 248, 255));
panel4.setLayout(new FlowLayout());
cancel.setPreferredSize(new Dimension(80, 30));
panel4.add(cancel);
panel4.setBackground(new Color(240, 248, 255));
panel2.add(panel3);
panel2.add(panel4);
panel2.setBackground(new Color(240, 248, 255));
cp.add(panel2);
Person.desktopPane.add(internalframe);
try {
internalframe.setSelected(true);
} catch (java.beans.PropertyVetoException e) {
System.out.println("PropertyVetoException:" + e.getMessage());
}
} else {
}
confirm.addActionListener(this);
cancel.addActionListener(this);
}
public void actionPerformed(ActionEvent e) {
if (e.getSource() == confirm) {
if (judge()) {
internalframe.dispose();
ID = Integer.parseInt(id.getText());
String JDriver = "sun.jdbc.odbc.JdbcOdbcDriver";
String conURL = "jdbc:odbc:TestDB";
try {
Class.forName(JDriver);
} catch (java.lang.ClassNotFoundException e1) {
System.out.println("ForName:" + e1.getMessage());
}
try {
Connection con = DriverManager.getConnection(conURL);
Statement s = con.createStatement(
ResultSet.TYPE_SCROLL_INSENSITIVE,
ResultSet.CONCUR_UPDATABLE);
ResultSet rs = s.executeQuery("select * from person");
while (rs.next()) {
if (ID == rs.getInt("id")) {
sleeptime = rs.getInt("sleep_time");
amusementtime = rs.getInt("amusement_time");
worktime = rs.getInt("work_time");
foodname = rs.getString("food_name");
findex = (ID - 1) % 10;
seasonname = rs.getString("season");
if (seasonname == "春天")
windex = 0;
else if (seasonname == "夏天")
windex = 1;
else if (seasonname == "秋天")
windex = 2;
else
windex = 3;
energy = energy + sleeptime * (0.1 - 0.01 * windex)
+ amusementtime * 0.1 - worktime * 0.1
+ energy * 0.01 * (findex - 1);
new SelectShow();
break;
}
if (rs.isLast())
JOptionPane.showMessageDialog(internalframe,
"没有该ID", "错误信息",
JOptionPane.WARNING_MESSAGE);
}
s.close();
con.close();
} catch (SQLException e1) {
System.out.println("SQLException:" + e1.getMessage());
}
}
}
if (e.getSource() == cancel)
internalframe.dispose();
}
public boolean judge() {
if (id.getText().equals("")) {
JOptionPane.showMessageDialog(internalframe, "ID不能为空", "错误信息",
JOptionPane.WARNING_MESSAGE);
return false;
}
byte[] tempbyte = id.getText().getBytes();
for (int i = 0; i < id.getText().length(); i++) {
if ((tempbyte[i] < 48) || (tempbyte[i] > 57)) {
JOptionPane.showMessageDialog(internalframe, "输入的值不合法", "错误信息",
JOptionPane.WARNING_MESSAGE);
return false;
}
}
return true;
}
class WinLis extends InternalFrameAdapter {
public void internalFrameClosed(InternalFrameEvent e) {
hit = 0;
}
}
class WinLis1 extends InternalFrameAdapter {
public void internalFrameClosed(InternalFrameEvent e) {
}
}
class SelectShow {
JInternalFrame frame = null;
JPanel panel = new JPanel();
JPanel panel1 = new JPanel();
JLabel sleep_time = new JLabel("睡觉时间为: " + sleeptime);
JLabel amusement_time = new JLabel("娱乐时间为: " + amusementtime);
JLabel work_time = new JLabel("工作时间为: " + worktime);
JLabel food = new JLabel("食物为: " + foodname);
JLabel season = new JLabel("季节为: " + seasonname);
JLabel energy_description = new JLabel("该人目前的能量为: " + energy);
SelectShow() {
frame = new JInternalFrame("查询结果", true, true, false, true);
frame.addInternalFrameListener(new WinLis1());
frame.setLocation(300, 100);
frame.setBackground(new Color(240, 248, 255));
Container cp = frame.getContentPane();
cp.setLayout(new GridLayout(6, 1));
sleep_time.setForeground(new Color(0, 139, 139));
cp.add(sleep_time);
amusement_time.setForeground(new Color(0, 139, 139));
cp.add(amusement_time);
work_time.setForeground(new Color(0, 139, 139));
cp.add(work_time);
food.setForeground(new Color(0, 139, 139));
cp.add(food);
season.setForeground(new Color(0, 139, 139));
cp.add(season);
energy_description.setForeground(new Color(0, 139, 139));
cp.add(energy_description);
frame.setSize(200, 300);
frame.setVisible(true);
Person.desktopPane.add(frame);
try {
frame.setSelected(true);
} catch (java.beans.PropertyVetoException e) {
System.out.println("PropertyVetoException:" + e.getMessage());
}
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -