酒店管理系统总界面(swing)
上面代码得出如下图:
上面911行:
final JButton cCenterButton = new MButton();
用到下面代码:package com.mwq.mwing;import javax.swing.JTable;import javax.swing.ListSelectionModel;import javax.swing.table.DefaultTableCellRenderer;import javax.swing.table.DefaultTableModel;import javax.swing.table.JTableHeader;import javax.swing.table.TableCellRenderer;public class MTable extends JTable {public MTable() {super();}public MTable(DefaultTableModel tableModel) {super(tableModel);}// 表格列值居中显示@Overridepublic TableCellRenderer getDefaultRenderer(Class<?> columnClass) {// 获得除表格头部分的单元格对象DefaultTableCellRenderer tableRenderer = (DefaultTableCellRenderer) super.getDefaultRenderer(columnClass);// 设置单元格内容居中显示tableRenderer.setHorizontalAlignment(DefaultTableCellRenderer.CENTER);return tableRenderer;}// 表格列名信息@Overridepublic JTableHeader getTableHeader() {// 获得表格头对象JTableHeader tableHeader = super.getTableHeader();tableHeader.setReorderingAllowed(false);// 设置表格列不可重排// 获得表格头的单元格对象DefaultTableCellRenderer headerRenderer = (DefaultTableCellRenderer) tableHeader.getDefaultRenderer();// 设置单元格内容(即列名)居中显示headerRenderer.setHorizontalAlignment(DefaultTableCellRenderer.CENTER);return tableHeader;}// 表格不可编辑@Overridepublic boolean isCellEditable(int row, int column) {return false;}// 用来设置表格的选中行@Overridepublic void setRowSelectionInterval(int fromRow, int toRow) {// 重构父类的方法super.setRowSelectionInterval(fromRow, toRow);}// 用来设置表格的唯一选中行public void setRowSelectionInterval(int row) {// 通过重载实现自己的方法setRowSelectionInterval(row, row);}// 表格行只可单选@Overridepublic ListSelectionModel getSelectionModel() {ListSelectionModel selectionModel = super.getSelectionModel();selectionModel.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);return selectionModel;}}