📄 orderlist.java
字号:
package ui;
import OrderPack.Order;
import OrderPack.OrderManager;
import java.awt.FlowLayout;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;
import javax.swing.*;
import javax.swing.table.AbstractTableModel;
import javax.swing.table.TableModel;
import javax.swing.table.DefaultTableModel;
import DataCenterPackage.Condition;
import DataCenterPackage.OrderCondition;
import AccountsPack.User;
import AccountsPack.Administrator;
import AccountsPack.Operator;
import RoomPackage.Room;
/*
* Created on 2005-4-12
*
* TODO To change the template for this generated file go to
* Window - Preferences - Java - Code Style - Code Templates
*/
/**
* @author zinniazxp
*
* TODO To change the template for this generated type comment go to
* Window - Preferences - Java - Code Style - Code Templates
*/
public class OrderList extends JPanel {
private JLabel jLabel = null;
private JPanel jPanel = null;
private JPanel jPanel1 = null;
private JButton jButton = null;
private JButton jButton1 = null;
private JButton jButton2 = null;
private JButton jButton3 = null;
private JTable jTable = null;
private JScrollPane jScrollPane = null;
private Handler _handler = new Handler();
private Order [] _orders;
private DefaultTableModel _dataModel;
private OrderManager _om = OrderManager.GetOrderManager();
private int _indentity;
/**
* This method initializes jPanel
*
* @return javax.swing.JPanel
*/
private JPanel getJPanel() {
if (jPanel == null) {
jPanel = new JPanel();
jPanel.setPreferredSize(new java.awt.Dimension(600,90));
jPanel.add(getJPanel1(), null);
jPanel.add(getDeleteButton(), null);
jPanel.add(getAddButton(), null);
jPanel.add(getModifyButton(), null);
jPanel.add(getUpdateButton(), null);
}
return jPanel;
}
/**
* This method initializes jPanel1
*
* @return javax.swing.JPanel
*/
private JPanel getJPanel1() {
if (jPanel1 == null) {
jPanel1 = new JPanel();
jPanel1.setPreferredSize(new java.awt.Dimension(590,40));
}
return jPanel1;
}
/**
* This method initializes jButton
*
* @return javax.swing.JButton
*/
private JButton getDeleteButton() {
if (jButton == null) {
jButton = new JButton();
jButton.setText("Delete");
jButton.setPreferredSize(new java.awt.Dimension(80,28));
jButton.addActionListener(_handler);
jButton.setActionCommand("DELETE");
}
return jButton;
}
/**
* This method initializes jButton1
*
* @return javax.swing.JButton
*/
private JButton getAddButton() {
if (jButton1 == null) {
jButton1 = new JButton();
jButton1.setText(" Add ");
jButton1.setPreferredSize(new java.awt.Dimension(80,28));
jButton1.addActionListener(_handler);
jButton1.setActionCommand("ADD");
}
return jButton1;
}
/**
* This method initializes jButton1
*
* @return javax.swing.JButton
*/
private JButton getModifyButton() {
if (jButton2 == null) {
jButton2 = new JButton();
jButton2.setText("Modify");
jButton2.setPreferredSize(new java.awt.Dimension(80,28));
jButton2.addActionListener(_handler);
jButton2.setActionCommand("MODIFY");
}
return jButton2;
}
/**
* This method initializes jButton2
*
* @return javax.swing.JButton
*/
private JButton getUpdateButton() {
if (jButton3 == null) {
jButton3 = new JButton();
jButton3.setText("Update");
jButton3.setPreferredSize(new java.awt.Dimension(80,28));
jButton3.addActionListener(_handler);
jButton3.setActionCommand("UPDATE");
}
return jButton3;
}
/**
* This method initializes jTable
*
* @return javax.swing.JTable
*/
private JTable getJTable() {
if (jTable == null) {
jTable = new JTable(_dataModel);
}
return jTable;
}
/**
* This method initializes jScrollPane
*
* @return javax.swing.JScrollPane
*/
private JScrollPane getJScrollPane() {
if (jScrollPane == null) {
jScrollPane = new JScrollPane();
jScrollPane.setPreferredSize(new java.awt.Dimension(450,120));
jScrollPane.setViewportView(getJTable());
}
return jScrollPane;
}
/**
* This is the default constructor
*/
public OrderList(int indentity){
super();
_indentity = indentity;
init();
}
public OrderList() {
super();
_indentity = User.GRP_CUSTOMER;
init();
}
private void init(){
_dataModel = new DefaultTableModel();
_dataModel.addColumn("OrderID");
_dataModel.addColumn("RoomType");
_dataModel.addColumn("RoomIDs");
_dataModel.addColumn("UserName");
_dataModel.addColumn("TotalPrice");
_dataModel.addColumn("Paid");
jLabel = new JLabel();
setLayout(new FlowLayout());
jLabel.setText(" Order List...");
jLabel.setPreferredSize(new java.awt.Dimension(600,60));
jLabel.setFont(new java.awt.Font("Dialog", java.awt.Font.BOLD, 18));
add(jLabel, null);
add(getJScrollPane(), null);
add(getJPanel(), null);
jTable.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
if(_indentity == User.GRP_CUSTOMER)
updateOrderListTable(new OrderCondition []{new OrderCondition(OrderCondition.RP_ORDERUSERNAME, OrderCondition.CO_EQUAL,MainFrame.getMainFrame().getCurrentUser().get_userName())});
else if (_indentity > User.GRP_CUSTOMER)
updateOrderListTable(null);
}
public void updateOrderListTable(Condition [] conditions){
_orders = updateOrderList(conditions);
int row = _dataModel.getRowCount();
for(int i= row-1; i>=0;i--)
_dataModel.removeRow(i);
if(_orders!=null){
for(int i = 0;i<_orders.length;i++){
StringBuffer roomIDs =new StringBuffer();
int [] ids = _orders[i].get_roomIDs();
if(ids != null){
for(int j =0;j< ids.length-1;j++){
roomIDs.append(ids[j]);
roomIDs.append(",");
}
roomIDs.append(ids[ids.length-1]);
}
_dataModel.addRow(new Object[]{
new Integer(_orders[i].get_id()),
Room.ROOMTYPE[_orders[i].get_roomType()],
roomIDs.toString(),
_orders[i].get_userName(),
new Integer((Room.ROOMPRICE[_orders[i].get_roomType()]*_orders[i].get_roomCount())),
new Integer((int)_orders[i].get_nowPay())
});
}
}
}
public Order [] updateOrderList(Condition [] conditions){
return _om.SearchOrders(conditions);
}
private class Handler implements ActionListener{
public void actionPerformed(ActionEvent ev) {
if("DELETE" == ev.getActionCommand()){
System.out.println("orderlist delete button clicked");
JButton sourceBtn = (JButton) ev.getSource();
JFrame parent = (JFrame) SwingUtilities.getAncestorOfClass(JFrame.class,
sourceBtn);
int index=jTable.getSelectedRow();
if(index<0||index>=jTable.getRowCount()){
JOptionPane.showMessageDialog(parent,
"Please choose a order",
"Error" ,
JOptionPane.ERROR_MESSAGE
);
return;
}
int n = JOptionPane.showConfirmDialog(parent ,
"Do you want to delete it?",
"Delete user",
JOptionPane.YES_NO_OPTION);
if(n == 0){
if(_om.DeleteOrder(_orders[index]))
JOptionPane.showMessageDialog(parent,"Delete Success!", "Delete Order", JOptionPane.ERROR_MESSAGE);
else
JOptionPane.showMessageDialog(parent,"Delete Failed!", "Delete Order", JOptionPane.ERROR_MESSAGE);
if(_indentity == User.GRP_CUSTOMER)
updateOrderListTable(new OrderCondition []{new OrderCondition(OrderCondition.RP_ORDERUSERNAME, OrderCondition.CO_EQUAL,MainFrame.getMainFrame().getCurrentUser().get_userName())});
else if (_indentity > User.GRP_CUSTOMER)
updateOrderListTable(null);
}
}
else if("MODIFY" == ev.getActionCommand()){
System.out.println("orderlist modify button cliked");
JButton sourceBtn = (JButton) ev.getSource();
JFrame parent = (JFrame) SwingUtilities.getAncestorOfClass(JFrame.class,
sourceBtn);
int index=jTable.getSelectedRow();
if(index<0||index>=jTable.getRowCount()){
JOptionPane.showMessageDialog(parent,
"Please choose a order",
"Error" ,
JOptionPane.ERROR_MESSAGE
);
return;
}
BookPanel bp = new BookPanel();
bp.setValues(_orders[index]);
bp.getCancelButton().setText("Cancel");
bp.getCancelButton().setActionCommand("EXIT");
JFrame frame = new JFrame("Modify a Order");
frame.setResizable(false);
frame.setSize(640, 320);
frame.setContentPane(bp);
frame.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
frame.setLocation(100,100);
frame.setVisible(true);
}
else if("ADD" == ev.getActionCommand()){
System.out.println("orderlist add button cliked");
BookPanel bp = new BookPanel();
bp.setValues(null);
bp.getCancelButton().setText("Cancel");
bp.getCancelButton().setActionCommand("EXIT");
JFrame frame = new JFrame("Add a Order");
frame.setResizable(false);
frame.setSize(640, 320);
frame.setContentPane(bp);
frame.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
frame.setLocation(100,100);
frame.setVisible(true);
}
else if("UPDATE" == ev.getActionCommand()){
System.out.println("orderlist update button cliked");
if(_indentity == User.GRP_CUSTOMER)
updateOrderListTable(new OrderCondition []{new OrderCondition(OrderCondition.RP_ORDERUSERNAME, OrderCondition.CO_EQUAL,MainFrame.getMainFrame().getCurrentUser().get_userName())});
else if (_indentity > User.GRP_CUSTOMER)
updateOrderListTable(null);
}
}
}
public static void main(String[] args)
{
JFrame frame = new JFrame("OrderList");
frame.setResizable(false);
frame.setSize(640, 320);
frame.setContentPane(new OrderList());
//frame.pack();
frame.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
frame.setLocation(100,100);
frame.setVisible(true);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -