mtable.java
来自「酒店管理系统的需求包括开台点菜功能、智能化获取菜品功能、自动结账功能、营业额报表」· Java 代码 · 共 71 行
JAVA
71 行
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);
}
// 表格列值居中显示
@Override
public TableCellRenderer getDefaultRenderer(Class<?> columnClass) {
// 获得除表格头部分的单元格对象
DefaultTableCellRenderer tableRenderer = (DefaultTableCellRenderer) super
.getDefaultRenderer(columnClass);
// 设置单元格内容居中显示
tableRenderer.setHorizontalAlignment(DefaultTableCellRenderer.CENTER);
return tableRenderer;
}
// 表格列名信息
@Override
public JTableHeader getTableHeader() {
// 获得表格头对象
JTableHeader tableHeader = super.getTableHeader();
tableHeader.setReorderingAllowed(false);// 设置表格列不可重排
// 获得表格头的单元格对象
DefaultTableCellRenderer headerRenderer = (DefaultTableCellRenderer) tableHeader
.getDefaultRenderer();
// 设置单元格内容(即列名)居中显示
headerRenderer.setHorizontalAlignment(DefaultTableCellRenderer.CENTER);
return tableHeader;
}
// 表格不可编辑
@Override
public boolean isCellEditable(int row, int column) {
return false;
}
// 用来设置表格的选中行
@Override
public void setRowSelectionInterval(int fromRow, int toRow) {// 重构父类的方法
super.setRowSelectionInterval(fromRow, toRow);
}
// 用来设置表格的唯一选中行
public void setRowSelectionInterval(int row) {// 通过重载实现自己的方法
setRowSelectionInterval(row, row);
}
// 表格行只可单选
@Override
public ListSelectionModel getSelectionModel() {
ListSelectionModel selectionModel = super.getSelectionModel();
selectionModel.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
return selectionModel;
}
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?