📄 hotelctrlframe.java
字号:
package ui;
import java.awt.BorderLayout;
import javax.swing.JPanel;
import javax.swing.JFrame;
import java.awt.Dimension;
import javax.swing.JScrollPane;
import java.awt.Rectangle;
import java.awt.event.ActionListener;
import java.util.LinkedList;
import javax.swing.JLabel;
import javax.swing.ImageIcon;
import javax.swing.JTable;
import javax.swing.JButton;
import dao.FileOperation;
import biz.Hotel;
import biz.TableModels;
import java.awt.Toolkit;
public class HotelCtrlFrame extends JFrame {
private static final long serialVersionUID = 1L;
private JPanel jContentPane = null;
private JLabel jLabel_hotel = null;
private JLabel jLabel = null;
private JButton jButton_add = null;
private JButton jButton_del = null;
private JButton jButton_change = null;
//酒店链表信息
private LinkedList<Hotel> hotels=null;
final private String HOTELFILE="hotel.txt"; // @jve:decl-index=0:
final private String HOTELPATH="D:/workspace/hotelCtrlSystem/src/edu/"; // @jve:decl-index=0:
private JScrollPane jScrollPane = null;
private JTable jTable = null;
/**
* This is the default constructor
*/
public HotelCtrlFrame(LinkedList<Hotel> hotels) {
super();
this.hotels=hotels;
initialize();
}
/**
* This method initializes this
*
* @return void
*/
private void initialize() {
this.setSize(650, 350);
this.setIconImage(Toolkit.getDefaultToolkit().getImage(getClass().getResource("/vo/head2.png")));
this.setTitle("酒店预订管理界面");
this.setVisible(true);
this.addWindowListener(new java.awt.event.WindowAdapter() {
public void windowOpened(java.awt.event.WindowEvent e) {
//从文件中读取信息,存放到链表hotels中去
// hotels=FileOperation.readHotelFile(HOTELPATH+HOTELFILE);
}
public void windowClosing(java.awt.event.WindowEvent e) {
//将链表中的信息存入到文件中去
// if(hotels.size()>0){
FileOperation.writeHotelFile(HOTELPATH+HOTELFILE, hotels);
// }
}
});
this.setContentPane(getJContentPane());
}
/**
* This method initializes jContentPane
*
* @return javax.swing.JPanel
*/
private JPanel getJContentPane() {
if (jContentPane == null) {
jLabel = new JLabel();
jLabel.setBounds(new Rectangle(149, 57, 117, 18));
jLabel.setText("所有酒店信息如下:");
jLabel_hotel = new JLabel();
jLabel_hotel.setBounds(new Rectangle(8, 5, 128, 71));
jLabel_hotel.setIcon(new ImageIcon(getClass().getResource("/vo/hotel.png")));
jLabel_hotel.setText("JLabel");
jContentPane = new JPanel();
jContentPane.setLayout(null);
jContentPane.add(jLabel_hotel, null);
jContentPane.add(jLabel, null);
jContentPane.add(getJButton_add(), null);
jContentPane.add(getJButton_del(), null);
jContentPane.add(getJButton_change(), null);
jContentPane.add(getJScrollPane(), null);
}
return jContentPane;
}
/**
* This method initializes jButton_add
*
* @return javax.swing.JButton
*/
private JButton getJButton_add() {
if (jButton_add == null) {
jButton_add = new JButton();
jButton_add.setBounds(new Rectangle(96, 258, 86, 28));
jButton_add.setText("增加信息");
final HotelCtrlFrame frame=this;
jButton_add.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent e) {
new HotelOperaterFrame(hotels,frame);
}
});
}
return jButton_add;
}
/**
* This method initializes jButton_del
*
* @return javax.swing.JButton
*/
private JButton getJButton_del() {
if (jButton_del == null) {
jButton_del = new JButton();
jButton_del.setBounds(new Rectangle(278, 258, 86, 28));
jButton_del.setText("删除信息");
jButton_del.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent e) {
//删除某项,如果选中了则删除------->(行标号从0开始)
if(getJTable().getSelectedRow()!=-1){
System.out.println(getJTable().getSelectedRow());
//删除该行元素
hotels.remove(getJTable().getSelectedRow());
//更新table
getJTable().setModel(new TableModels(hotels));
}
}
});
}
return jButton_del;
}
/**
* This method initializes jButton_change
*
* @return javax.swing.JButton
*/
private JButton getJButton_change() {
if (jButton_change == null) {
jButton_change = new JButton();
jButton_change.setBounds(new Rectangle(460, 258, 86, 28));
jButton_change.setText("修改信息");
final HotelCtrlFrame frame=this;
jButton_change.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent e) {
//将选择的值传入
new HotelOperaterFrame(hotels,getJTable().getSelectedRow(),frame);
}
});
}
return jButton_change;
}
/**
* This method initializes jScrollPane
*
* @return javax.swing.JScrollPane
*/
private JScrollPane getJScrollPane() {
if (jScrollPane == null) {
jScrollPane = new JScrollPane();
jScrollPane.setBounds(new Rectangle(7, 80, 625, 166));
jScrollPane.setViewportView(getJTable());
}
return jScrollPane;
}
/**
* This method initializes jTable
*
* @return javax.swing.JTable
*/
public JTable getJTable() {
if (jTable == null ) {
// if(hotels.size()>0)
jTable = new JTable(new TableModels(hotels));
final HotelCtrlFrame frame=this;
jTable.addMouseListener(new java.awt.event.MouseAdapter() {
public void mouseClicked(java.awt.event.MouseEvent e) {
//双击事件,与修改按钮处理结果同
if( e.getClickCount()==2 ){
new HotelOperaterFrame(hotels,getJTable().getSelectedRow(),frame);
}
}
});
}
return jTable;
}
} // @jve:decl-index=0:visual-constraint="11,12"
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -