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

📄 centerpanel.java

📁 模仿腾讯QQ的
💻 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 + -