📄 bookingobserver.java
字号:
import java.awt.Container;
import java.awt.FlowLayout;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.*;
import java.sql.*;
import javax.swing.JFrame;
import javax.swing.JOptionPane;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.JButton;
import javax.swing.table.*;
public class BookingObserver {
String username = "root";
String password = "right";
String jdbcDriver="com.mysql.jdbc.Driver";
String url="jdbc:mysql://localhost:3306/resturant";
Connection con = null;
Statement stmt = null;
JTable jTable=new JTable();
JScrollPane jScroll;
Vector vector;
AbstractTableModel tm;
String title[]={"预定号码","人数","日期","时间","桌号","姓名","到达时间"};
ResultSet rSet=null;
JButton jButton1=new JButton("修改预约时间!");
JButton jButton2=new JButton("退出");
JFrame f=new JFrame();
Container contentPane=f.getContentPane();
public BookingObserver(){
contentPane.setLayout(new FlowLayout(FlowLayout.LEFT));
String All="SELECT * FROM Reservation;";
display();
f.setSize(400,400);
f.setVisible(true);
try{
Class.forName(jdbcDriver);
}
catch(ClassNotFoundException se){
System.err.print(se.getMessage());
}
try{
con=DriverManager.getConnection(url,username,password);
stmt=con.createStatement();
rSet=stmt.executeQuery(All);
vector.removeAllElements();
while(rSet.next()){
Vector rec_vector=new Vector();
rec_vector.addElement(String.valueOf(rSet.getString("oid")));
rec_vector.addElement(String.valueOf(rSet.getString("covers")));
rec_vector.addElement(String.valueOf(rSet.getString("date")));
rec_vector.addElement(String.valueOf(rSet.getString("time")));
rec_vector.addElement(String.valueOf(rSet.getString("table_id")));
rec_vector.addElement(String.valueOf(rSet.getString("custom_id")));
rec_vector.addElement(String.valueOf(rSet.getString("arrivetime")));
vector.addElement(rec_vector);
}
tm.fireTableStructureChanged(); //更新表格
rSet.close();
con.close();
}
catch(SQLException se){
System.err.println(se.getMessage());
}
finally{
try{
if(con!=null){
con.close();
}
if(stmt!=null){
stmt.close();
}
}catch(Exception ex){} //忽略
}
jButton1.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e) {
TimeChange timeChange=new TimeChange();
}
});
jButton2.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e) {
f.dispose();
}
});
}//
void display(){
vector=new Vector();
tm=new AbstractTableModel(){
public int getColumnCount(){ //行
return title.length;
}
public int getRowCount(){ //列
return vector.size();
}
public Object getValueAt(int row,int column){ //取得单元格的属性值
if(!vector.isEmpty()){
return ((Vector)vector.elementAt(row)).elementAt(column);
}
else{
return null;
}
}
public void setValueAt(Object value,int row,int column){ //数据模型不可编辑,方法设置为空
}
public String getColumnName(int column){ //区列名
return title[column];
}
public Class getColimnClass(int c){
return getValueAt(0,c).getClass(); //取得列所属对象类
}
public boolean isCellEditable(int row,int column){ //设置单元格不可编辑
return false;
}
};
jTable=new JTable(tm);
jTable.setToolTipText("DISPLAY"); //设置提示
jTable.setAutoResizeMode(jTable.AUTO_RESIZE_SUBSEQUENT_COLUMNS); //设置表格调整尺寸模式
jTable.setCellSelectionEnabled(false); //设置单元格的选择方式
jTable.setShowHorizontalLines(true); //是否有分割线
jTable.setShowVerticalLines(true);
jScroll=new JScrollPane(jTable);
jScroll.setBounds(6, 20, 250, 250);
contentPane.add(jButton1);
contentPane.add(jButton2);
contentPane.add(jScroll);
} //函数结束
}//类
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -