📄 showallteacher.java
字号:
package com.exam.ui.teacher;
import java.awt.Color;
import java.awt.Component;
import java.awt.Insets;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
import java.util.ArrayList;
import java.util.List;
import javax.swing.BorderFactory;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JMenuItem;
import javax.swing.JPanel;
import javax.swing.JPopupMenu;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.SwingConstants;
import javax.swing.table.DefaultTableCellRenderer;
import javax.swing.table.JTableHeader;
import javax.swing.table.TableColumnModel;
import com.exam.db.bean.Teacher;
import com.exam.db.dao.TeacherDao;
import com.exam.ui.SuperFrame;
public class ShowAllTeacher extends SuperFrame {
private static final long serialVersionUID = 1L;
private int currentPage = 1;
private int totalPage = 1;
private JLabel lblPage;
private JButton btnFirstPage;
private JButton btnPreviousPage;
private JButton btnNextPage;
private JButton btnLastPage;
private List<Teacher> list;
private JTable tblTeacher;
public ShowAllTeacher() {
try {
init();
this.setVisible(true);
this.setResizable(false);
this.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
} catch (Exception e) {
e.printStackTrace();
}
}
private void init() {
this.setTitle("所有教师信息");
this.setSize(600, 450);
this.setCenter();
JPanel pnlTotal = new JPanel();
this.getContentPane().add(pnlTotal);
pnlTotal.setLayout(null);
TeacherDao teacherDao = new TeacherDao();
list = new ArrayList<Teacher>();
list = teacherDao.selectAllTeacher();
if (list.size() % 15 == 0) {
totalPage = list.size() / 15;
if(totalPage == 0){
totalPage = 1;
}
} else {
totalPage = list.size() / 15 + 1;
}
JPanel pnlInfo = new JPanel();
pnlInfo.setBounds(20, 15, 550, 380);
pnlInfo.setBorder(BorderFactory.createTitledBorder("教师信息--共计"
+ list.size() + "人"));
pnlTotal.add(pnlInfo);
pnlInfo.setLayout(null);
Object[][] stuCells = new String[15][11];
Object[] stuCol = { "教师编号", "姓名", "性别", "年龄", "身份证号", "民族", "联系电话",
"家庭地址","类别","状态","备注" };
tblTeacher = new JTable(stuCells, stuCol){
private static final long serialVersionUID = 1L;
public boolean isCellEditable(int row, int col) {
return false;
}
};
JTableHeader tbhTeacher = tblTeacher.getTableHeader();
tblTeacher.setRowHeight(17);
tblTeacher.setAutoResizeMode(0);
tbhTeacher.setReorderingAllowed(false);
tblTeacher.setSelectionMode(0);
TableColumnModel tcmTeacher = tblTeacher.getColumnModel();
tcmTeacher.getColumn(2).setMinWidth(50);
tcmTeacher.getColumn(2).setMaxWidth(50);
tcmTeacher.getColumn(3).setMinWidth(50);
tcmTeacher.getColumn(3).setMaxWidth(50);
tcmTeacher.getColumn(4).setMinWidth(150);
tcmTeacher.getColumn(6).setMinWidth(100);
tcmTeacher.getColumn(7).setMinWidth(200);
tcmTeacher.getColumn(8).setMinWidth(70);
tcmTeacher.getColumn(9).setMinWidth(70);
tcmTeacher.getColumn(10).setMinWidth(200);
for (int i = 0; i < tblTeacher.getColumnCount(); i++) {
tcmTeacher.getColumn(i).setResizable(false);
}
DefaultTableCellRenderer dtcrStudent = new DefaultTableCellRenderer() {
private static final long serialVersionUID = 1L;
public Component getTableCellRendererComponent(JTable table,
Object value, boolean isSelected, boolean hasFocus,
int row, int column) {
if (row % 2 != 0) {
setBackground(new Color(206, 231, 255));
} else {
setBackground(new Color(255, 255, 255));
}
if(column == 7 || column == 10){
setHorizontalAlignment(SwingConstants.LEFT);
}else{
setHorizontalAlignment(SwingConstants.CENTER);
}
return super.getTableCellRendererComponent(table, value,
isSelected, hasFocus, row, column);
}
};
for (int i = 0; i < tblTeacher.getColumnCount(); i++) {
tblTeacher.getColumn(stuCol[i]).setCellRenderer(dtcrStudent);
}
JScrollPane scpInfo = new JScrollPane(tblTeacher);
scpInfo.setBounds(20, 30, 510, 291);
pnlInfo.add(scpInfo);
lblPage = new JLabel("第 " + currentPage + " / " + totalPage + " 页");
btnFirstPage = new JButton("第一页");
btnPreviousPage = new JButton("上一页");
btnNextPage = new JButton("下一页");
btnLastPage = new JButton("最末页");
JLabel lblEach = new JLabel("15条/页");
lblPage.setBounds(40, 335, 80, 25);
btnFirstPage.setBounds(130, 335, 60, 25);
btnFirstPage.setMargin(new Insets(0, 0, 0, 0));
btnPreviousPage.setBounds(210, 335, 60, 25);
btnPreviousPage.setMargin(new Insets(0, 0, 0, 0));
btnNextPage.setBounds(290, 335, 60, 25);
btnNextPage.setMargin(new Insets(0, 0, 0, 0));
btnLastPage.setBounds(370, 335, 60, 25);
btnLastPage.setMargin(new Insets(0, 0, 0, 0));
lblEach.setBounds(450, 335, 80, 25);
pnlInfo.add(lblPage);
pnlInfo.add(btnFirstPage);
pnlInfo.add(btnPreviousPage);
pnlInfo.add(btnNextPage);
pnlInfo.add(btnLastPage);
pnlInfo.add(lblEach);
showTblTeacher();
final JPopupMenu pop = new JPopupMenu();
JMenuItem mnuMore = new JMenuItem();
pop.add(mnuMore);
btnFirstPage.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent arg0) {
currentPage = 1;
showTblTeacher();
}
});
btnPreviousPage.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent arg0) {
currentPage--;
if(currentPage < 1){
currentPage = 1;
}
showTblTeacher();
}
});
btnNextPage.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent arg0) {
currentPage++;
if(currentPage == totalPage){
currentPage = totalPage;
}
showTblTeacher();
}
});
btnLastPage.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent arg0) {
currentPage = totalPage;
showTblTeacher();
}
});
tblTeacher.addMouseListener(new MouseListener(){
public void mouseClicked(MouseEvent e) {
}
public void mouseEntered(MouseEvent e) {
}
public void mouseExited(MouseEvent e) {
int x = e.getX();
int y = e.getY();
if(e.getButton() == MouseEvent.BUTTON3){
pop.show(tblTeacher, x, y);
}
}
public void mousePressed(MouseEvent e) {
}
public void mouseReleased(MouseEvent e) {
}
});
}
private void showTblTeacher(){
if (list.size() % 15 == 0) {
totalPage = list.size() / 15;
if(totalPage == 0){
totalPage = 1;
}
} else {
totalPage = list.size() / 15 + 1;
}
lblPage.setText("第 " + currentPage + " / " + totalPage+ " 页");
if(currentPage ==1 ){
btnFirstPage.setEnabled(false);
btnPreviousPage.setEnabled(false);
}else{
btnFirstPage.setEnabled(true);
btnPreviousPage.setEnabled(true);
}
if(totalPage == currentPage){
btnNextPage.setEnabled(false);
btnLastPage.setEnabled(false);
}else{
btnNextPage.setEnabled(true);
btnLastPage.setEnabled(true);
}
for(int i = 0;i<15;i++){
for(int j = 0;j<11;j++){
tblTeacher.setValueAt("", i, j);
}
}
Teacher teacher = new Teacher();
int first = (currentPage -1)*15;
for(int i = first;i<list.size();i++){
teacher = list.get(i);
tblTeacher.setValueAt(teacher.getTeaID(), i%15, 0);
tblTeacher.setValueAt(teacher.getTeaName(), i%15,1);
tblTeacher.setValueAt(teacher.getTeaSex(), i%15, 2);
tblTeacher.setValueAt(teacher.getTeaAge()+"", i%15, 3);
tblTeacher.setValueAt(teacher.getTeaCardID(), i%15, 4);
tblTeacher.setValueAt(teacher.getTeaNation(), i%15, 5);
tblTeacher.setValueAt(teacher.getTeaPhone(), i%15, 6);
tblTeacher.setValueAt(teacher.getTeaAddr(), i%15, 7);
if(teacher.getTeaSort()==1){
tblTeacher.setValueAt("管理员", i%15,8);
}else if(teacher.getTeaSort() == 2){
tblTeacher.setValueAt("班主任", i%15,8);
}else if(teacher.getTeaSort()==3){
tblTeacher.setValueAt("科目教员", i%15,8);
}
if(teacher.getTeaState()==0){
tblTeacher.setValueAt("在职", i%15,9);
}else if(teacher.getTeaState()==1){
tblTeacher.setValueAt("休假", i%15,9);
}else if(teacher.getTeaState()==2){
tblTeacher.setValueAt("离职", i%15,9);
}else if(teacher.getTeaState()==3){
tblTeacher.setValueAt("退休", i%15,9);
}
tblTeacher.setValueAt(teacher.getRemark(), i%15, 10);
if((i%15) == 14){
break;
}
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -