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

📄 commonpanel.java

📁 参考了JAVA方面MIS系统开发的书籍做的一个 电力收费的系统,包里面是可以直接运行的JAR文件了...SRC是源文件可一些需要的包...数据库是用的MSQLserver2000,"java程序数据
💻 JAVA
字号:
//import java.io.*;
import java.text.*;
import javax.swing.*;     
import java.awt.*;
import java.awt.event.*;
import java.sql.*;
import javax.swing.table.*;
import edu.njust.cs.*;
public abstract class CommonPanel extends JPanel{	
	NumberFormat nf = NumberFormat.getNumberInstance();
	DecimalFormat df= (DecimalFormat)nf;  //数值格式化	
	JButton btnAdd=new TextAndPicButton(
				"image/addrow20.gif"," 新  增 ");
	JButton btnDelete=new TextAndPicButton(
				"image/deleterow20.gif"," 删  除 ");
	JButton btnEdit=new TextAndPicButton(
				"image/editrow20.gif"," 编  辑 ");	
	JButton btnSearch=new TextAndPicButton(
			    "image/search20.gif"," 查  找 ");	
	JButton btnExport=new TextAndPicButton(
				"image/exportdata20.gif"," 导  出 ");
	JButton btnClear=new TextAndPicButton(
				"image/cleartable20.gif"," 清  空 ");
	JButton btnBack=new TextAndPicButton(
				"image/back20.gif"," 返  回 ");
	JToolBar toolbar=new JToolBar();	
	//表格列名
	String [] columnNames;
	//表格每列的数据类型
	Class []dataType;	
	CustomTableModel model=null;
	JTable table=null;	
	Connection con=null;	
	//等待对话框
	JDialog waitingScreen=null;
	JProgressBar progressBar=new JProgressBar();
	JLabel labProgress=new JLabel("");	
	MainApp father;
	TransferFocusListener tfl=new TransferFocusListener();
	public CommonPanel(MainApp f,Connection c){
		father=f;
		con=c;
		df.applyPattern("##########0.00");//保留到小数点后2位
		btnAdd.setToolTipText("添加一条记录");
        btnDelete.setToolTipText("删除指定的记录");
		btnEdit.setToolTipText("编辑指定的记录");
		btnSearch.setToolTipText("数据库搜索");
		btnClear.setToolTipText("清空表格中的记录");
		 btnBack.setToolTipText("返回导航面板");	
	    //定制各个按钮的功能		
		this.btnAdd.addActionListener(new ActionListener(){
				public void actionPerformed(ActionEvent e){
				add();
				}				
			});
		this.btnEdit.addActionListener(new ActionListener(){
				public void actionPerformed(ActionEvent e){
					modify();
				}				
			});
		btnDelete.addActionListener(new ActionListener(){
				public void actionPerformed(ActionEvent e){
					delete();
				}				
			});
		btnSearch.addActionListener(new ActionListener(){
				public void actionPerformed(ActionEvent e){
					search();
				}				
			});
		btnClear.addActionListener(new ActionListener(){
				public void actionPerformed(ActionEvent e){
					SqlUtil.clearAllRowsInTable(model);
				}
			});       	
		btnBack.addActionListener(new ActionListener(){
				public void actionPerformed(ActionEvent e){
					father.setSelectedPanel(new NavigatorPanel(father));
				}
			});
		BorderLayout border=new BorderLayout();		
		this.setLayout(border);				
		toolbar.setFloatable(false);
		toolbar.add(btnAdd);
		toolbar.add(btnEdit);
		toolbar.add(btnDelete);
		toolbar.add(btnSearch);
		toolbar.add(btnClear);
		toolbar.add(btnBack);
		this.add(toolbar,"North");
	}	
	//创建表格
	public void createTable(){	   
		model=new CustomTableModel(0,
				   columnNames.length,columnNames,dataType);        table = new JTable(model);            
        add(new JScrollPane(table));
		//设置表格属性
		table.setAutoResizeMode(JTable.AUTO_RESIZE_OFF);
		table.setSelectionMode(ListSelectionModel.SINGLE_SELECTION );
		table.addMouseListener(new MouseAdapter(){
				public void mouseClicked(MouseEvent e){
					int clickCount=e.getClickCount();
					if(clickCount>1)
							modify();
				}
			});
	}
	//以下4个抽象方法由子类具体实现
	public abstract void modify();
	public abstract void add();
	public abstract void delete();
	public abstract void search();	
	//设置表格指定列的宽度
	public void setTableColumnWidth(int column,int width){		
		if(column<columnNames.length){
			TableColumn col=table.getColumn(columnNames[column]);
			col.setPreferredWidth(width);
		}
	}
	//将对话框窗口定位在父窗口的居中位置
	public void setSizeAndPosition(JDialog jd ,int w,int h){
		jd.setSize(w,h);
		Dimension d=father.getSize();
		Point pp=father.getLocation();
		jd.setLocation(pp.x+(d.width-w)/2,pp.y+(d.height-h)/2);
	}	
	public void showWaitingScreen(){
		if(this.waitingScreen==null){
			waitingScreen=new JDialog(father,true);
			waitingScreen.getContentPane().add(this.labProgress,"North");
			waitingScreen.getContentPane().add(this.progressBar,"South");		
			waitingScreen.setSize(300,70);
			Dimension d=father.getSize();
		    Point p=father.getLocation();
		    waitingScreen.setLocation(
					p.x+(d.width-300)/2,p.y+(d.height-70)/2);
	        waitingScreen.setResizable(false);
			waitingScreen.setDefaultCloseOperation(0);
		}
		waitingScreen.show();
	}
	public void hideWaitingScreen(){
		if(waitingScreen!=null)	waitingScreen.setVisible(false);
		father.toFront();
	}
}

⌨️ 快捷键说明

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