📄 indivopen[anank].java
字号:
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 + -