⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 select.java

📁 人类,不同人有不同的职业,通过吃套餐来增加能量,通过做运动来减少能量
💻 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 + -