📄 workbench.java
字号:
}
/**
* This method initializes jTable
*
* @return javax.swing.JTable
*/
private JTable getMyTable() {
if (tab == null) {
mod = new MyTableModel("employee");
tab = new MyTable(mod) {
private static final long serialVersionUID = 1L;
public JPopupMenu getComponentPopupMenu() {
return getPopupmenu();
}
};
tab.setPreferredScrollableViewportSize(new Dimension(650, 400));
tab.setAutoResizeMode(JTable.AUTO_RESIZE_SUBSEQUENT_COLUMNS);
tab.addMouseListener(new MyJTableMouseLisener());
}
return tab;
}
private JPopupMenu getPopupmenu() {
jpm = new JPopupMenu();
Action act;
if(f==0) {
act = new CreateNewAction("添加");
jpm.add(act);
act = new ModifyAction("修改");
jpm.add(act);
act = new DeleteAction("删除");
jpm.add(act);
}else {
act=new SetAdminAction("设置管理员");
jpm.add(act);
}
return jpm;
}
class ModifyAction extends AbstractAction {
private static final long serialVersionUID = 1L;
public ModifyAction(String label) {
super(label);
}
public void actionPerformed(ActionEvent evt) {
ModifyActionPerformed(evt);
}
}
private void ModifyActionPerformed(ActionEvent evt) {
int r = tab.getSelectedRow();
updaterow.addElement(r);
tab.setCellEditable(true);
saveUpdate(updaterow);
}
class CreateNewAction extends AbstractAction {
/** */
/**
*
*/
private static final long serialVersionUID = 1L;
public CreateNewAction(String label) {
super(label);
}
public void actionPerformed(ActionEvent evt) {
createNewActionPerformed(evt);
}
}
private void createNewActionPerformed(ActionEvent evt) {
Vector v = new Vector();
mod.addRow(v);
rowid.addElement(mod.getRowCount() - 1);
v = mod.getDataVector();
repaint();
}
class DeleteAction extends AbstractAction {
/** */
/**
*
*/
private static final long serialVersionUID = 1L;
public DeleteAction(String label) {
super(label);
}
public void actionPerformed(ActionEvent evt) {
deleteActionPerformed(evt);
}
}
class SetAdminAction extends AbstractAction {
/** */
/**
*
*/
private static final long serialVersionUID = 1L;
public SetAdminAction(String label) {
super(label);
}
public void actionPerformed(ActionEvent evt) {
setAdminActionPerformed(evt);
}
}
public void setAdminActionPerformed(ActionEvent evt) {
int rowid=jTable.getSelectedRow();
if(rowid==-1)return;
String name=(String)jTable.getValueAt(rowid, 0);
String sql=" select empid from employee where empName='"+name+"'";
String empid="";
DBManager.getConnection();
ResultSet rs=DBManager.executeSelect(sql);
try {
if(rs.next()) {
empid=rs.getString("empid");
}
} catch (SQLException e) {
// TODO 自动生成 catch 块
System.out.println("不存在此员工!");
}
String opnum="";
sql="select operatenum from operator where empid='"+empid+"'";
rs=DBManager.executeSelect(sql);
try {
if(rs.next()) {
opnum=rs.getString("operatenum");
}
} catch (SQLException e) {
// TODO 自动生成 catch 块
System.out.println("不存在此操作员!");
}
sql="update priv set openAccount='1',lostAccount='1',storeMoney='1',cash='1',"
+"openAccountCard='1',openNetBank='1',disableAccount='1',searchEmpInfo='1',"
+"addEmp='1',modifyEmpInfo='1',emmPwdManage='1',iceCreditCard='1' where operatenum='"+opnum+"'";
DBManager.execUpdate(sql);
sql="update operator set isadmin='y' where operatenum='"+opnum+"'";
DBManager.execUpdate(sql);
System.out.print(sql);
}
public synchronized void deleteActionPerformed(ActionEvent evt) {
int row = mod.getRowCount();
row = tab.getSelectedRow();
System.out.println(row);
String num = (String) tab.getValueAt(row, 0);
mod.removeRow(row);
DBManager.getConnection();
int i = DBManager.executeQuery("select * from operator where empid='"
+ num + "'");
if (i == 0) {
JOptionPane.showMessageDialog(this,
"此员工是操作员,现在不能删除。如果确实要删除此员工,请先取消其操作员帐号。", "alert",
JOptionPane.ERROR_MESSAGE);
} else {
DBManager.getConnection();
DBManager.execDel("delete from employee where empID='" + num + "'");
System.out
.println("delete from employee where empID='" + num + "'");
DBManager.releaseCon();
}
}
public boolean doubleClick() {
long time = (new Date()).getTime();
if (time - clicktime < 300) {
clicktime = time;
return true;
}
clicktime = time;
return false;
}
class MyJTableMouseLisener implements MouseListener {
public void mouseClicked(MouseEvent me) {
if (doubleClick()) {
Point p = me.getPoint();
int i = tab.rowAtPoint(p);
int j = tab.columnAtPoint(p);
tab.setCellEditable(true);
tab.revalidate();
}
}
public void mouseEntered(MouseEvent e) {
// TODO 自动生成方法存根
}
public void mouseExited(MouseEvent e) {
// TODO 自动生成方法存根
}
public void mousePressed(MouseEvent e) {
// TODO 自动生成方法存根
}
public void mouseReleased(MouseEvent e) {
// TODO 自动生成方法存根
}
}
class TableTableModel extends DefaultTableModel {
/**
*
*/
private static final long serialVersionUID = 679265889547674796L;
public final String[] title = { "操作员", "开户", "帐号挂失", "存款", "取款",
"办理借记卡", "开通网上服务", "注销帐号", "查询员工资料", "录入员工资料", "修改员工资料",
"设置操作密码", "冻结信用卡" };
public Object[][] v;
private boolean cellEditable;
public TableTableModel() {
cellEditable = false;
}
public int getColumnCount() {
return title.length;
}
public String getColumnName(int columnIndex) {
return title[columnIndex];
}
// 将Table设成只读的
public boolean isCellEditable(int row, int column) {
return column != 0 && cellEditable;
}
/**
* @param cellEditable
* 要设置的 cellEditable
*/
public void setCellEditable(boolean cellEditable) {
this.cellEditable = cellEditable;
}
}
private TableTableModel mode = null;
private JTable jTable = null;
private JLabel jLabel = null;
public final String[] title = { "操作员", "开户", "帐号挂失", "存款", "取款", "办理借记卡",
"开通网上服务", "注销帐号", "查询员工资料", "录入员工资料", "修改员工资料", "设置操作密码", "冻结信用卡" };
private static Vector v = null;
Object[][] d = null;
int rowI = -1;
private JTable getJTable() {
if (jTable == null) {
System.out.println("priv");
getData();
jTable = new JTable(mode) {private static final long serialVersionUID = 1L;
public JPopupMenu getComponentPopupMenu() {
return getPopupmenu();
}
};
jTable.setToolTipText("双击要修改的行进行编辑。");
jTable.setDefaultEditor(jTable.getColumnClass(1),
new CheckBoxCellEditor());
try {
GridTableRender cellRenderer = new GridTableRender();
jTable.setDefaultRenderer(jTable.getColumnClass(1),
new CheckBoxCellRenderer());
} catch (Exception e) {
}
jTable.getColumn("操作员").setCellRenderer(new GridTableRender());
jTable.addMouseListener(new UserMouseAdapter() {
/** */
/**
* 鼠标单击事件
*
* @param e
* 事件源参数
*/
public void mouseSingleClicked(MouseEvent e) {
// System.out.println("Single Clicked!");
rowI = jTable.rowAtPoint(e.getPoint());// 得到table的行号
if (rowI > -1) {
System.out.println("单击鼠标 "
+ ((TableModel) jTable.getModel()).getValueAt(
rowI, 1));
}
}
/** */
/**
* 鼠标双击事件
*
* @param e
* 事件源参数
*/
public void mouseDoubleClicked(MouseEvent e) {
// System.out.println("Doublc Clicked!");
rowI = jTable.rowAtPoint(e.getPoint());// 得到table的行号
if (rowI > -1)
System.out.println("双击鼠标 "
+ ((TableModel) jTable.getModel()).getValueAt(
rowI, 2));
rowid.addElement(rowI);
mode.setCellEditable(true);
}
});
}
return jTable;
}
private void getData() {
String sql = "select * from priv_view";
DBManager.getConnection();
java.sql.ResultSet rs = DBManager.executeSelect(sql);
mode = new TableTableModel();
mode.setColumnIdentifiers(title);
// mode.setDataVector(d, title);
try {// System.out.println("rs.next()="+rs.next());
rs.afterLast();
rs.previous();
int r = rs.getRow();// System.out.println("rs.next()="+rs.next());
rs.beforeFirst();// System.out.println("rs.getRow()="+r);
d = new Object[r][title.length];
r = 0;
int i = 1;
while (rs.next()) {
System.out.println("rs.getRow()=" + r);
i = 2;
v = new Vector();
v.add(rs.getString(1));
d[r][i - 1] = rs.getString(1);// System.out.println(d[r][i-1]);
for (; i <= 13; i++) {
if (rs.getString(i).equals("1"))
d[r][i - 1] = new Boolean(true);
else
d[r][i - 1] = new Boolean(false);
System.out.print(rs.getString(i));
v.add(d[r][i - 1]);
}
mode.addRow(v);
System.out.println();
System.out.println(v);
r++;
}
} catch (SQLException e) {
// TODO 自动生成 catch 块
e.printStackTrace();
}
}
class GridTableRender extends DefaultTableCellRenderer {
public Component getTableCellRendererComponent(JTable table,
Object value, boolean isSelected, boolean hasFocus, int row,
int column) {
super.getTableCellRendererComponent(table, value, isSelected,
hasFocus, row, column);
String s = (String) value;
this.setValue(s);
if (hasFocus) {
this.setBackground(Color.blue);
this.setForeground(Color.black);
} else {
if ((row % 2) == 0) {
this.setBackground(Color.CYAN);
this.setForeground(Color.black);
} else {
this.setBackground(Color.white);
this.setForeground(Color.black);
}
}
return this;
}
}
} // @jve:decl-index=0:visual-constraint="10,10"
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -