⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 emppanel.java

📁 大型数据库课程设计源码
💻 JAVA
字号:
package com.vbank.admin.component;

import java.awt.BorderLayout;
import java.awt.GridBagLayout;
import java.awt.Point;

import javax.swing.AbstractAction;
import javax.swing.Action;
import javax.swing.JPanel;
import javax.swing.JPopupMenu;

import java.awt.Dimension;
import javax.swing.JScrollPane;
import java.awt.Rectangle;
import java.awt.event.ActionEvent;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
import java.util.Date;
import java.util.Vector;

import javax.swing.JTable;

import com.vbank.db.DBManager;

public class EmpPanel extends JScrollPane {

	private static final long serialVersionUID = 1L;
	//private JScrollPane jScrollPane = null;
	private MyTable tab;
	MyTableModel mod;
	
	long clicktime=0;
	JPopupMenu jpm=null;
	EmpDialog empdialog=null;

	/**
	 * This is the default constructor
	 */
	public EmpPanel(JTable ta) {
		super(ta);
		this.add(getJTable());
		initialize();
	}
	public EmpPanel() {
		getJTable();
		this.add(getJTable());
		initialize();
	}
	/**
	 * This method initializes this
	 * 
	 * @return void
	 */
	private void initialize() {
		this.setSize(497, 346);
		this.setLayout(null);
		//this.add(getJScrollPane(), null);
		this.setBounds(new Rectangle(3, 2, 586, 437));
		this.setViewportView(getJTable());
	}

	/**
	 * This method initializes jScrollPane	
	 * 	
	 * @return javax.swing.JScrollPane	
	 *
	private JScrollPane getJScrollPane() {
		if (jScrollPane == null) {
			jScrollPane = new JScrollPane();
			jScrollPane.setBounds(new Rectangle(3, 2, 586, 437));
			jScrollPane.setViewportView(getJTable());
		}
		return jScrollPane;
	}

	**
	 * This method initializes jTable	
	 * 	
	 * @return javax.swing.JTable	
	 */
	private JTable getJTable() {
		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);
				 
				//JScrollPane s = new JScrollPane(tab);
				this.add(tab);
				//this.add(s, BorderLayout.CENTER);
				tab.addMouseListener(new MyJTableMouseLisener());
		}
		return tab;
	}
	private JPopupMenu getPopupmenu() {
		jpm=new JPopupMenu();
		Action act = new CreateNewAction("添加");
        jpm.add(act);
         act = new  ModifyAction("modify");
        jpm.add(act);
        act = new DeleteAction("delete");
        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();
		 tab.setCellEditable(true);
	 }
	 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) {
		 //empdialog=new EmpDialog(this);
		 Vector v=new Vector();
		//v= new EmpDialog(this).getV();
		
		 mod.addRow(v);
		 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);
	        }
	    }
	    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();
	    	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()) {
			    	System.out.println("hhh");
			    	Point p=me.getPoint();
			    	int i=tab.rowAtPoint(p);
			    	int j=tab.columnAtPoint(p);
			    	tab.setCellEditable(true);
			    	tab.revalidate();
			    	System.out.println(tab.isCellEditable(0, 0));
			    }
		  }

		public void mouseEntered(MouseEvent e) {
			// TODO 自动生成方法存根
			
		}

		public void mouseExited(MouseEvent e) {
			// TODO 自动生成方法存根
			
		}

		public void mousePressed(MouseEvent e) {
			// TODO 自动生成方法存根
			
		}

		public void mouseReleased(MouseEvent e) {
			// TODO 自动生成方法存根
			
		}
	}

}  //  @jve:decl-index=0:visual-constraint="10,10"

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -