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

📄 indivopen[anank].java

📁 (1)功能模块: A :个人开户功能 B :查询功能 查询个人用户信息 查询各个房间使用信息 查询寄存物品信息 C :增加寄存物品模块 用JAVA实现宾馆客房管理系统
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
import javax.swing.*;
import java.awt.*;
import java.sql.*;
import java.awt.event.*;
import java.util.*;
import javax.swing.table.* ;
import javax.swing.event.ListSelectionListener ;//用ListSelectionListener和ListSelectionEvent的时候好像要单独引入!~
import javax.swing.event.ListSelectionEvent ;

public class IndivOpen //implements ListSelectionListener
{
    static Object[][] staticData = new Object[200][4];
    /*
     *注意点:
     *数组的初始化:
     *如果不是刚开始不能一行一行的进行赋值!
     */
    
    public static class myModel extends AbstractTableModel
	{
			String[] columnNames = {"房间号码", "房间类型", "房间价格","是否可用"} ;
			Object[][] data = staticData ; 
			public int getRowCount(){return data.length ;} 
			public int getColumnCount(){return data[0].length ;} 
			public String getColumnName(int column){return columnNames[column] ;}
			public Object getValueAt(int row, int column){return data[row][column] ;}
			public Class getColumnClass(int column){return data[0][column].getClass() ;}
			
	}
		
	public IndivOpen()
	{
		for( int i = 0 ; i < 200 ; i++)
        {
		    for( int j = 0;j<3; j++)
		        staticData[i][j] = new String() ;
        }
        //刚开始就应该对数据进行初始化!
        for( int i = 0 ; i < 200 ; i++)
            staticData[i][3] = new Boolean(false) ;
		
		JFrame.setDefaultLookAndFeelDecorated(true);//把JFrame设置城修饰的外观!
		GridBagLayout gblContent = new GridBagLayout() ;
		GridBagConstraints gbcContent = new GridBagConstraints() ;
		gbcContent.fill = GridBagConstraints.NONE ;
		//
		Color color = Color.white ;
		GridBagLayout gbl = new GridBagLayout() ;
		GridBagConstraints gbc = new GridBagConstraints() ;
		gbc.fill = GridBagConstraints.NONE ;
		gbc.weightx = 1 ;
		gbc.weighty = 1 ;
		//
		final JFrame frame = new JFrame("IndivOpen") ;
		frame.setSize(800, 580) ;
		frame.setResizable(false) ;//JFrame的大小不能变化!
		//
		Container content = frame.getContentPane() ;
		content.setLayout(new BorderLayout()) ;
		//
		JPanel panUp = new JPanel() ;
		panUp.setLayout(gbl) ;
		JLabel label1 = new JLabel("姓名", SwingConstants.LEFT) ;
		gbc.gridx = 0 ;
		gbc.gridy = 0 ;
	    gbc.gridwidth = 1 ;
		gbc.gridheight = 1 ;
		gbl.setConstraints(label1, gbc) ;
		panUp.add(label1) ;
	    //
	    final JTextField txtName = new JTextField(10) ;
		txtName.setBackground(color) ;
		gbc.gridx = 1 ;
		gbc.gridy = 0 ;
		gbc.gridwidth = 1 ;
		gbc.gridheight = 1 ;
		gbl.setConstraints(txtName, gbc) ;
		panUp.add(txtName) ;
		//
		JLabel lblSex = new JLabel("性别") ;
		gbc.gridx++ ;
		gbc.gridwidth = 1 ;
		gbc.gridheight = 1 ;
		gbl.setConstraints(lblSex, gbc) ;
		panUp.add(lblSex) ;
		//
		JPanel panSex = new JPanel(new BorderLayout()) ;
		final ButtonGroup bGroup = new ButtonGroup() ;
		final JRadioButton radio = new JRadioButton("男", true) ;//构造一个默认选中的按钮!
		radio.setActionCommand("男") ;
		bGroup.add(radio) ;
		panSex.add(radio, "West") ;
		final JRadioButton radio2 = new JRadioButton("女") ;
		radio2.setActionCommand("女") ;
		bGroup.add(radio2) ;
		panSex.add(radio2, "East") ;
		//把两个单选按钮加在一个面板上面!
		gbc.gridx++ ;
		gbc.gridwidth = 1 ;
		gbc.gridheight = 1 ;
		gbl.setConstraints(panSex, gbc) ;
		panUp.add(panSex) ;
		//
		JLabel lblCountry = new JLabel("国籍") ;
		gbc.gridx++ ;
		gbc.gridwidth = 1 ;
		gbc.gridheight = 1 ;
		gbl.setConstraints(lblCountry, gbc) ;
		panUp.add(lblCountry) ;
		//
		String[] itemCountrys = {"中国", "美国", "英国", "其他国家"} ;
		final JComboBox comboxCountry = new JComboBox(itemCountrys) ;
		gbc.gridx++ ;
		gbc.ipady = -4 ;
		gbc.ipadx = 40 ;
	    gbc.gridwidth = 1 ;
		gbc.gridheight = 1 ;
		gbl.setConstraints(comboxCountry, gbc) ;
		panUp.add(comboxCountry) ;
		gbc.ipady = 0 ;
		gbc.ipadx = 0 ;
		//上半部分已经完成!
		JLabel lblTypes = new JLabel("证件类型", SwingConstants.LEFT) ;
		gbc.gridx = 0 ;
		gbc.gridy = 1 ;
		gbc.gridwidth = 1 ;
		gbc.gridheight = 1 ;
		gbl.setConstraints(lblTypes, gbc) ;
		panUp.add(lblTypes) ;
		//
		String[] itemIdTypes = {"身份证", "护照", "驾照"} ;
		final JComboBox comboxIdTypes = new JComboBox(itemIdTypes) ;
		gbc.gridx++ ;
		gbc.ipadx = 40 ;
		gbc.ipady = -4 ;
		gbc.gridwidth = 1 ;
		gbc.gridheight = 1 ;
		gbl.setConstraints(comboxIdTypes, gbc) ;
		panUp.add(comboxIdTypes) ;
		gbc.ipady = 0 ;
		gbc.ipadx = 0 ;
		//		
		JLabel lblIdNumber = new JLabel("证件号码") ;
		gbc.gridx++ ;
		gbc.gridwidth = 1 ;
		gbc.gridheight = 1 ;
		gbl.setConstraints(lblIdNumber, gbc) ;
		panUp.add(lblIdNumber) ;
		//
		final JTextField txtNumber = new JTextField(10) ;
		txtNumber.setBackground(color) ;
		gbc.gridx++ ;
		gbc.gridwidth = 1 ;
		gbc.gridheight = 1 ;
		gbl.setConstraints(txtNumber, gbc) ;
		panUp.add(txtNumber) ;
		//
		JLabel lblDeposit = new JLabel("押金") ;
		gbc.gridx++ ;
		gbc.gridwidth = 1 ;
		gbc.gridheight = 1 ;
		gbl.setConstraints(lblDeposit, gbc) ;
		panUp.add(lblDeposit) ;
		//
		int initDpst = 100, minDpst = 100, maxDpst = 2000, addDpst = 50 ;
		final SpinnerNumberModel model = new SpinnerNumberModel(100, 100, 2000, 50) ;
		JSpinner spinnerDpst = new JSpinner(model) ;
		spinnerDpst.setBackground(color) ;
		gbc.gridx++ ;
		gbc.gridwidth = 1 ;
		gbc.gridheight = 1 ;
		gbc.ipadx = 40 ;//使得美观!
		gbl.setConstraints(spinnerDpst, gbc) ;
		panUp.add(spinnerDpst) ;
		gbc.ipadx = gbc.ipady = 0 ;
		//上面的两行已经完成!
		JLabel lblAddress = new JLabel("住址") ;
		gbc.gridy++ ;
		gbc.gridx = 0 ;
		gbc.gridwidth = 1 ;
		gbc.gridheight = 1 ; 
		gbl.setConstraints(lblAddress, gbc) ;
		panUp.add(lblAddress) ;
		gbc.ipadx = 0 ;
		//
		final JTextField txtAddress = new JTextField() ;
		txtAddress.setBackground(color) ;
		gbc.gridx++ ;
		gbc.fill = GridBagConstraints.HORIZONTAL ;
		gbc.gridwidth = 6 ;
		gbc.gridheight = 1 ;
		gbl.setConstraints(txtAddress, gbc) ;
		panUp.add(txtAddress) ;
		gbc.fill = GridBagConstraints.NONE ;
		//
		JLabel lblWorkPlace = new JLabel("工作地点") ;
		gbc.gridx = 0 ;
		gbc.gridy++ ;
		gbc.gridwidth = 1 ;
		gbc.gridheight = 1 ;
		gbl.setConstraints(lblWorkPlace, gbc) ;
		panUp.add(lblWorkPlace) ;
		gbc.ipadx = 0 ;
		//
		final JTextField txtWorkPlace = new JTextField() ;
		txtWorkPlace.setBackground(color) ;
		gbc.fill = GridBagConstraints.HORIZONTAL ;
		gbc.gridx++ ;
		gbc.gridwidth = 6 ;
		gbc.gridheight = 1 ;
		gbl.setConstraints(txtWorkPlace, gbc) ;
		panUp.add(txtWorkPlace) ; 
		//
		GridBagLayout gbl2 = new GridBagLayout() ;
	    GridBagConstraints gbc2 = new GridBagConstraints() ;
	    gbc2.fill = GridBagConstraints.NONE ;
	    JPanel panMiddle = new JPanel() ;
		panMiddle.setLayout(gbl2) ;
	    //////////////////////////////////////////////////////////////////
		//下面是对panMiddle的布局!
		///////////////////////////////////////////////////////////////////
		JLabel lblStandard = new JLabel("标准价格:", SwingConstants.CENTER) ;
		gbc2.gridx = 0 ;
		gbc2.gridy = 0 ;
		gbc2.gridwidth = 1 ;
		gbc2.gridheight = 1 ;
		gbc2.insets = new Insets(40, 0, 0, 0) ;
		gbl2.setConstraints(lblStandard, gbc2) ;
		panMiddle.add(lblStandard) ;
		gbc2.insets = new Insets(0, 0, 0, 0) ;
		//
		final JLabel lblShowStdPrice = new JLabel("150", SwingConstants.CENTER) ;
		gbc2.gridy = GridBagConstraints.RELATIVE ;
		gbc2.gridwidth = 1 ;
		gbc2.gridheight = 1 ;
		gbl2.setConstraints(lblShowStdPrice, gbc2) ;
		panMiddle.add(lblShowStdPrice) ;
		//
		final JLabel lblGivenPrice = new JLabel("开房价格", SwingConstants.CENTER) ;
		gbc2.gridx = 0 ;
		gbc2.gridy = GridBagConstraints.RELATIVE ;
		gbc2.gridwidth = 1 ;
		gbc2.gridheight = 1;
		gbl2.setConstraints(lblGivenPrice, gbc2) ;
		panMiddle.add(lblGivenPrice) ;
		//
		int initPrice = 150, minPrice = 50, maxPrice = 2000, addPrice = 10 ;
		final SpinnerNumberModel modelPrice = new SpinnerNumberModel(initPrice, minPrice, maxPrice, addPrice) ;
		final JSpinner spinnerPrice = new JSpinner(modelPrice) ;
		gbc2.gridx = 0 ;
		gbc2.gridy = GridBagConstraints.RELATIVE ;
		gbc2.ipady = 0 ;
		gbc2.ipadx = 26 ;
		gbc2.gridwidth = 1 ;
		gbc2.gridheight = 1 ;
		gbl2.setConstraints(spinnerPrice, gbc2) ;
		panMiddle.add(spinnerPrice) ;
		gbc2.ipady = 0 ;
		gbc2.ipadx = 0 ;
		//
		final JLabel lblPreDays = new JLabel("预住天数", SwingConstants.CENTER) ;
		gbc2.gridx = 0 ;
		gbc2.gridy = GridBagConstraints.RELATIVE ;
		gbc2.gridwidth = 1 ;
		gbc2.gridheight = 1 ;
		gbl2.setConstraints(lblPreDays, gbc2) ;
		panMiddle.add(lblPreDays) ;
		//
		int initPreDays = 1, minPreDays = 1, maxPreDays = 365, addPreDays = 1 ;
		final SpinnerNumberModel modelPreDays = new SpinnerNumberModel(initPreDays, minPreDays, maxPreDays, addPreDays) ;
		final JSpinner spinnerPreDays = new JSpinner(modelPreDays) ;
		gbc2.gridx = 0 ;
		gbc2.gridy = GridBagConstraints.RELATIVE ;
		gbc2.ipady = 0 ;
		gbc2.ipadx = 46 ;
		gbc2.gridwidth = 1 ;
		gbc2.gridheight = 1 ;
		gbl2.setConstraints(spinnerPreDays, gbc2) ;
		gbc2.ipady = 0 ;
		gbc2.ipadx = 0 ;
		panMiddle.add(spinnerPreDays) ;
		/////////////////////////////////////////////////////////////////////
		//建立简单的JTable并且设置JTable的一些属性!
		/////////////////////////////////////////////////////////////////////
		final myModel model1 = new myModel() ;
		//final JTable tableShowAll = new JTable() ;
		//final TableModel modelTable = new DefaultTableModel(columnNames, 200) ;
	    final JTable tableShowAll = new JTable(model1) ;
		final TableModel modelTable = tableShowAll.getModel() ;
		tableShowAll.setColumnSelectionAllowed(false) ;//只允许选择行的设置!
		tableShowAll.setSelectionMode(ListSelectionModel.SINGLE_SELECTION ) ;//设置-只允许单选!
        ListSelectionModel modelLSM = tableShowAll.getSelectionModel() ;
        modelTable.setValueAt("ananK", 0, 0) ;    
		JButton btnMoveInto = new JButton("确定") ;
		//对确定按钮添加监听程序,进行处理!
		btnMoveInto.addActionListener(new ActionListener()
		              {
		                  public void actionPerformed(ActionEvent e)
		                  {
		                  	  java.util.Date currentDate = new java.util.Date() ;
		                  	  long longValue = currentDate.getTime() ;
		                  	  java.sql.Date beginDate = new java.sql.Date(longValue) ;
		                  	  String strBeginDate = beginDate.toString() ;
		                  	  String strEndDate = "未知" ;	           
		                 	  String strName = txtName.getText().trim() ;
		                      String sexSelected = bGroup.getSelection().getActionCommand() ;
		                      String countrySelected = (String)comboxCountry.getSelectedItem() ;
		                      String idTypesSelected = (String)comboxIdTypes.getSelectedItem() ;
		                      String strIdNumber = txtNumber.getText().trim() ;
		                      String strAddress = txtAddress.getText().trim() ;
		                      String strWorkPlace = txtWorkPlace.getText().trim() ;
		                      int stdPrice = Integer.parseInt(lblShowStdPrice.getText()) ;
		                      int spinnerPrice = modelPrice.getNumber().intValue() ;//取SpinnerNumberModel值的时候必须用Numberlei,否则会发生异常!
		                      int spinnerPreDays = modelPreDays.getNumber().intValue() ;
		                      int deposit = model.getNumber().intValue() ;
		                      
		                      int rowSelectd = tableShowAll.getSelectedRow() ;
		                      
		                      if(rowSelectd == -1)//如果没有选择任何房间的话!
		                      {
		                          JOptionPane.showMessageDialog(null, "请选择一个房间!") ;
		                          return ;
		                      }
		                      int columnSelect = 0 ;
		                      String strRoom = (String)modelTable.getValueAt(rowSelectd, columnSelect) ;//得到房间号码!
		                      if(strRoom.equals(""))
		                      {
		                          JOptionPane.showMessageDialog(null, "还没有房间") ;
		                          return ;
		                      }
		                      String roomNumber = new String(strRoom) ;
		                      
		                      
		                      //上面的是取用户信息!,下面进行验证!
		                      if(strName.equals("") ||strIdNumber.equals("") ||strAddress.equals("") || strWorkPlace.equals("") ) 
		                      {
		                          JOptionPane.showMessageDialog(null, "请完整填写信息!") ;
		                          return ;
		                      }
		                      int result = JOptionPane.showConfirmDialog(null, "确认开房吗?", "信息", JOptionPane.YES_NO_OPTION) ;

⌨️ 快捷键说明

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