📄 centerpanel.java
字号:
package com.softfz.jn0708.main.department;
import java.awt.Color;
import java.awt.Dimension;
import java.util.List;
import javax.swing.BoxLayout;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.ListSelectionModel;
import javax.swing.event.ListSelectionEvent;
import javax.swing.event.ListSelectionListener;
import com.softfz.jn0708.dao.oracle.ImplementDepartmentDAO;
import com.softfz.jn0708.mvc.MyTableModel;
/**
* 部门管理 中间面板
* @author admin
*
*/
public class CenterPanel extends JPanel{
/**
*
*/
private static final long serialVersionUID = 1L;
private JScrollPane jsp;
private JTable jt;
private DeptPanel deptPanel;
private MyTableModel model;
private String deptNo;
private EditPanel editpanel;
/**
* 构造
* @param deptPanel 部门面板
*/
public CenterPanel(DeptPanel deptPanel){
this.deptPanel=deptPanel;
this.setLayout(new BoxLayout(this, BoxLayout.Y_AXIS));
// DepartmentDao deptDao=DaoFactory.newInstance().createDeptDao();
ImplementDepartmentDAO deptDao = new ImplementDepartmentDAO();
List data = deptDao.getRowData();//获取行数据
model = new MyTableModel(deptDao.getColumnNames(), data);//MVC模型
jt=new JTable(model);
//把表格设为只能选中一行
jt.getSelectionModel().setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
jt.getTableHeader().setReorderingAllowed(false);
jt.getTableHeader().setPreferredSize(new Dimension(Short.MAX_VALUE,30));
jt.setRowHeight(28);
jt.getTableHeader().setResizingAllowed(false);
jt.getTableHeader().setBackground(new Color(241,250,255));
//表格选中时触发的事件
jt.getSelectionModel().addListSelectionListener(new ListSelectionListener(){
public void valueChanged(ListSelectionEvent e) {
if (e.getValueIsAdjusting()){
CenterPanel.this.deptPanel.getBottomPanel().getModifyBtn().setEnabled(true);
CenterPanel.this.deptPanel.getBottomPanel().getDelBtn().setEnabled(true);
CenterPanel.this.deptPanel.getBottomPanel().getAddBtn().setEnabled(true);
CenterPanel.this.deptPanel.getBottomPanel().getSaveBtn().setEnabled(false);
//可以获得用户所选择的行,并通过类的成员字段 myTableModel 获取到 JTable 所选择行所对应的值。
// deptNo=String.valueOf(CenterPanel.this.model.getValueAt(jt.getSelectedRow(), 0));
editpanel.getDeptNo().setText(String.valueOf(CenterPanel.this.model.getValueAt(jt.getSelectedRow(), 0)));
editpanel.getDeptName().setText(String.valueOf(CenterPanel.this.model.getValueAt(jt.getSelectedRow(), 1)));
editpanel.getDeptMemo().setText(String.valueOf(CenterPanel.this.model.getValueAt(jt.getSelectedRow(), 2)));
}
}
});
jsp=new JScrollPane(jt);
editpanel = new EditPanel(deptPanel);
jsp.setBackground(new Color(241,250,255));
this.setBackground(new Color(241,250,255));
this.add(jsp);
this.add(editpanel);
}
/**
* 获取部门数据表格
* @return
*/
public JTable getJt() {
return jt;
}
/**
* 获取数据表模型
* @return
*/
public MyTableModel getModel() {
return model;
}
/**
* 获取数据编辑面板
* @return
*/
public EditPanel getEditpanel() {
return editpanel;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -