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

📄 update.java

📁 人类,不同人有不同的职业,通过吃套餐来增加能量,通过做运动来减少能量
💻 JAVA
字号:
package com.person;

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.event.*;
import javax.swing.border.*;
import java.sql.*;
import java.io.*;

class Update implements ActionListener, ItemListener {
	static int hit = 0;

	int ID, sleeptime, amusementtime, worktime, windex = 0;

	String food, picturename = "", seasonname;

	JInternalFrame internalframe;

	ExampleFileFilter jpgFilter, gifFilter, bothFilter;

	JFileChooser filechooser = new JFileChooser(new File("."));

	String s[] = { "春天", "夏天", "秋天", "冬天" };

	JPanel panel = new JPanel();

	JPanel panel1 = new JPanel();

	JPanel panel2 = new JPanel();

	JPanel panel3 = new JPanel();

	JPanel panel4 = new JPanel();

	JPanel panel5 = new JPanel();

	JPanel panel6 = new JPanel();

	JPanel panel7 = new JPanel();

	JLabel id = new JLabel("请输入ID:");

	JLabel sleep_time = new JLabel("请输入睡觉时间:");

	JLabel amusement_time = new JLabel("请输入娱乐时间:");

	JLabel work_time = new JLabel("请输入工作时间:");

	JLabel food_name = new JLabel("请输入食物名称:");

	JLabel food_picture = new JLabel("请选择食物的图片:");

	JLabel food_picture_show = new JLabel();

	JLabel season = new JLabel("请选择季节:");

	JTextField id_context = new JTextField(10);

	JTextField sleep_time_context = new JTextField(10);

	JTextField amusement_time_context = new JTextField(10);

	JTextField work_time_context = new JTextField(10);

	JTextField food_name_context = new JTextField(10);

	JButton food_picture_context = new JButton("选择图片...");

	JComboBox season_context = new JComboBox(s);

	JButton confirm = new JButton("确定");

	JButton cancel = new JButton("取消");

	Update() {
		hit++;
		if (hit == 1) {
			internalframe = new JInternalFrame("修改", true, true, false, true);
			internalframe
					.setFrameIcon(new ImageIcon("images/update_title.gif"));
			internalframe.setLocation(250, 100);
			internalframe.setSize(350, 390);
			internalframe.setVisible(true);
			internalframe.setResizable(false);
			internalframe.addInternalFrameListener(new WinLis());
			final Container cp = internalframe.getContentPane();
			cp.setLayout(new BorderLayout());
			panel1.setLayout(new GridLayout(1, 2));
			panel1.setBackground(new Color(240, 248, 255));
			Box vBox = Box.createVerticalBox();
			vBox.add(Box.createVerticalStrut(5));
			id.setForeground(Color.BLUE);
			vBox.add(id);
			vBox.add(Box.createVerticalStrut(10));
			sleep_time.setForeground(Color.BLUE);
			vBox.add(sleep_time);
			vBox.add(Box.createVerticalStrut(10));
			amusement_time.setForeground(Color.BLUE);
			vBox.add(amusement_time);
			vBox.add(Box.createVerticalStrut(10));
			work_time.setForeground(Color.BLUE);
			vBox.add(work_time);
			vBox.add(Box.createVerticalStrut(10));
			food_name.setForeground(Color.BLUE);
			vBox.add(food_name);
			vBox.add(Box.createVerticalStrut(10));
			food_picture.setForeground(Color.BLUE);
			vBox.add(food_picture);
			vBox.add(Box.createVerticalStrut(15));
			season.setForeground(Color.BLUE);
			vBox.add(season);
			panel1.add(vBox);
			Box vBox1 = Box.createVerticalBox();
			vBox1.add(Box.createVerticalStrut(5));
			id_context.setForeground(Color.RED);
			id_context.setBorder(BorderFactory.createLoweredBevelBorder());
			vBox1.add(id_context);
			vBox1.add(Box.createVerticalStrut(5));
			sleep_time_context.setForeground(Color.RED);
			sleep_time_context.setBorder(BorderFactory
					.createLoweredBevelBorder());
			vBox1.add(sleep_time_context);
			vBox1.add(Box.createVerticalStrut(5));
			amusement_time_context.setForeground(Color.RED);
			amusement_time_context.setBorder(BorderFactory
					.createLoweredBevelBorder());
			vBox1.add(amusement_time_context);
			vBox1.add(Box.createVerticalStrut(5));
			work_time_context.setForeground(Color.RED);
			work_time_context.setBorder(BorderFactory
					.createLoweredBevelBorder());
			vBox1.add(work_time_context);
			vBox1.add(Box.createVerticalStrut(5));
			food_name_context.setForeground(Color.RED);
			food_name_context.setBorder(BorderFactory
					.createLoweredBevelBorder());
			vBox1.add(food_name_context);
			vBox1.add(Box.createVerticalStrut(5));
			vBox1.add(food_picture_context);
			vBox1.add(Box.createVerticalStrut(5));
			vBox1.add(season_context);
			vBox1.add(Box.createVerticalStrut(5));
			panel1.add(vBox1);
			panel1.setBorder(BorderFactory.createTitledBorder(BorderFactory
					.createEtchedBorder(), "相关信息",
					TitledBorder.DEFAULT_JUSTIFICATION,
					TitledBorder.DEFAULT_POSITION, null, Color.RED));
			panel.setBackground(new Color(240, 248, 255));
			panel.add(panel1);
			cp.add(panel, BorderLayout.NORTH);
			panel3.setLayout(new GridLayout(1, 2, 5, 5));
			panel3.setBackground(new Color(240, 248, 255));
			panel4.setBorder(BorderFactory.createEtchedBorder());
			panel4.setBackground(new Color(240, 248, 255));
			food_picture_show.setPreferredSize(new Dimension(100, 90));
			panel4.add(food_picture_show);
			panel3.add(panel4);
			panel5.setBorder(BorderFactory.createEtchedBorder());
			panel5.setLayout(new GridLayout(2, 1));
			panel5.setBackground(new Color(240, 248, 255));
			confirm.setPreferredSize(new Dimension(100, 30));
			panel6.setBackground(new Color(240, 248, 255));
			panel6.add(confirm);
			panel5.add(panel6);
			cancel.setPreferredSize(new Dimension(100, 30));
			panel7.setBackground(new Color(240, 248, 255));
			panel7.add(cancel);
			panel5.add(panel7);
			panel3.add(panel5);
			panel2.add(panel3);
			panel2.setBackground(new Color(240, 248, 255));
			cp.add(panel2, BorderLayout.CENTER);
			Person.desktopPane.add(internalframe);
			try {
				internalframe.setSelected(true);
			} catch (java.beans.PropertyVetoException e) {
				System.out.println("PropertyVetoException:" + e.getMessage());
			}
		} else {
		}
		season_context.addItemListener(this);
		food_picture_context.addActionListener(this);
		confirm.addActionListener(this);
		cancel.addActionListener(this);
	}

	@SuppressWarnings("static-access")
	public void actionPerformed(ActionEvent e) {
		if (e.getSource() == food_picture_context) {
			filechooser.setDialogType(JFileChooser.OPEN_DIALOG);
			int select = filechooser.showOpenDialog(internalframe);
			if (select == filechooser.APPROVE_OPTION) {
				File file = filechooser.getSelectedFile();
				picturename = file.getAbsolutePath().toString();
				if (picturename.endsWith(".gif")
						|| picturename.endsWith(".jpg")) {
					food_picture_show.setHorizontalAlignment(JLabel.CENTER);
					food_picture_show.setVerticalAlignment(JLabel.CENTER);
					food_picture_show.setIcon(new ImageIcon(picturename));
				} else {
					JOptionPane.showMessageDialog(filechooser,
							"选择的文件格式不正确,请重新选择", "错误信息",
							JOptionPane.WARNING_MESSAGE);
					food_picture_show.setIcon(null);
					picturename = "";
				}
			} else if (select == filechooser.CANCEL_OPTION)
				filechooser.setOpaque(true);
		}
		if (e.getSource() == confirm) {
			if (judge() && sleep() && play() && work() && isfoodname()
					&& isPicturename()) {
				ID = Integer.parseInt(id_context.getText());
				sleeptime = Integer.parseInt(sleep_time_context.getText());
				amusementtime = Integer.parseInt(amusement_time_context
						.getText());
				worktime = Integer.parseInt(work_time_context.getText());
				food = food_name_context.getText();
				seasonname = s[windex];
				if (sleeptime > 1500 || sleeptime < 0)
					JOptionPane
							.showMessageDialog(internalframe, "睡觉时间输入的值超出范围",
									"错误信息", JOptionPane.WARNING_MESSAGE);
				else if (amusementtime > 500 || amusementtime < 0)
					JOptionPane
							.showMessageDialog(internalframe, "娱乐时间输入的值超出范围",
									"错误信息", JOptionPane.WARNING_MESSAGE);
				else if (worktime < 0 || Select.energy - worktime * 0.1 < 10)
					JOptionPane
							.showMessageDialog(internalframe, "工作时间输入的值超出范围",
									"错误信息", JOptionPane.WARNING_MESSAGE);
				else {
					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);
						PreparedStatement ps = con
								.prepareStatement("update person set sleep_time=?,amusement_time=?,work_time=?,food_name=?,food_picture=?,season=? where id=?");
						ResultSet rs = s.executeQuery("select * from person");
						while (rs.next()) {
							if (ID == rs.getInt("id")) {
								ps.setInt(1, sleeptime);
								ps.setInt(2, amusementtime);
								ps.setInt(3, worktime);
								ps.setString(4, food);
								ps.setString(5, picturename);
								ps.setString(6, seasonname);
								ps.setInt(7, ID);
								ps.executeUpdate();
								break;
							}
							if (rs.isLast()) {
								JOptionPane.showMessageDialog(internalframe,
										"没有该ID", "错误信息",
										JOptionPane.WARNING_MESSAGE);
							}
						}
						ps.close();
						s.close();
						con.close();
						internalframe.dispose();
					} catch (SQLException e1) {
						System.out.println("SQLException:" + e1.getMessage());
					}
				}
			}
		}
		if (e.getSource() == cancel)
			internalframe.dispose();
	}

	public void itemStateChanged(ItemEvent e) {
		if (e.getSource() == season_context) {
			String str = (String) e.getItem();
			for (int i = 0; i < s.length; i++)
				if (str == s[i])
					windex = season_context.getSelectedIndex();
		}
	}

	public boolean judge() {
		if (id_context.getText().equals("")) {
			JOptionPane.showMessageDialog(internalframe, "ID不能为空", "错误信息",
					JOptionPane.WARNING_MESSAGE);
			return false;
		}
		byte[] tempbyte = id_context.getText().getBytes();
		for (int i = 0; i < id_context.getText().length(); i++) {
			if ((tempbyte[i] < 48) || (tempbyte[i] > 57)) {
				JOptionPane.showMessageDialog(internalframe, "ID输入的值不合法",
						"错误信息", JOptionPane.WARNING_MESSAGE);
				return false;
			}
		}
		return true;
	}

	public boolean sleep() {
		if (sleep_time_context.getText().equals("")) {
			JOptionPane.showMessageDialog(internalframe, "睡觉时间不能为空", "错误信息",
					JOptionPane.WARNING_MESSAGE);
			return false;
		}
		byte[] tempbyte = sleep_time_context.getText().getBytes();
		for (int i = 0; i < sleep_time_context.getText().length(); i++) {
			if ((tempbyte[i] < 48) || (tempbyte[i] > 57)) {
				JOptionPane.showMessageDialog(internalframe, "睡觉时间输入的值不合法",
						"错误信息", JOptionPane.WARNING_MESSAGE);
				return false;
			}
		}
		return true;
	}

	public boolean play() {
		if (amusement_time_context.getText().equals("")) {
			JOptionPane.showMessageDialog(internalframe, "娱乐时间不能为空", "错误信息",
					JOptionPane.WARNING_MESSAGE);
			return false;
		}
		byte[] tempbyte = amusement_time_context.getText().getBytes();
		for (int i = 0; i < amusement_time_context.getText().length(); i++) {
			if ((tempbyte[i] < 48) || (tempbyte[i] > 57)) {
				JOptionPane.showMessageDialog(internalframe, "娱乐时间输入的值不合法",
						"错误信息", JOptionPane.WARNING_MESSAGE);
				return false;
			}
		}
		return true;
	}

	public boolean work() {
		if (work_time_context.getText().equals("")) {
			JOptionPane.showMessageDialog(internalframe, "工作时间不能为空", "错误信息",
					JOptionPane.WARNING_MESSAGE);
			return false;
		}
		byte[] tempbyte = work_time_context.getText().getBytes();
		for (int i = 0; i < work_time_context.getText().length(); i++) {
			if ((tempbyte[i] < 48) || (tempbyte[i] > 57)) {
				JOptionPane.showMessageDialog(internalframe, "工作时间输入的值不合法",
						"错误信息", JOptionPane.WARNING_MESSAGE);
				return false;
			}
		}
		return true;
	}

	public boolean isfoodname() {
		if (food_name_context.getText().equals("")) {
			JOptionPane.showMessageDialog(internalframe, "食物名称不能为空", "错误信息",
					JOptionPane.WARNING_MESSAGE);
			return false;
		}
		return true;
	}

	public boolean isPicturename() {
		if (picturename.equals("")) {
			JOptionPane.showMessageDialog(internalframe, "图片不能为空", "错误信息",
					JOptionPane.WARNING_MESSAGE);
			return false;
		}
		return true;
	}

	class WinLis extends InternalFrameAdapter {
		public void internalFrameClosed(InternalFrameEvent e) {
			hit = 0;
		}
	}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -