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

📄 driverinfodialog.java

📁 J2EE eclipse 下开发数据库一个插件
💻 JAVA
字号:
package com.tanghan.plugin.dbviews.dialog;


import java.util.ResourceBundle;

//import org.eclipse.core.runtime.IStatus;
//import org.eclipse.core.runtime.Status;
import org.eclipse.jface.dialogs.MessageDialog;
import org.eclipse.jface.util.Assert;
import org.eclipse.swt.SWT;
import org.eclipse.swt.events.SelectionAdapter;
import org.eclipse.swt.events.SelectionEvent;
import org.eclipse.swt.layout.GridData;
import org.eclipse.swt.layout.GridLayout;
import org.eclipse.swt.widgets.Button;
//import org.eclipse.swt.widgets.Combo;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Display;
import org.eclipse.swt.widgets.FileDialog;
import org.eclipse.swt.widgets.Label;
import org.eclipse.swt.widgets.Shell;
import org.eclipse.swt.widgets.Text;

import com.tanghan.db.util.Driver;
import com.tanghan.plugin.TanghanPlugin;
import com.tanghan.util.DealString;

public class DriverInfoDialog {
	private static ResourceBundle res = TanghanPlugin.getDefault().getResourceBundle();
//	private HashMap data = null;
//	private HashMap items = null;

//	private DBConnection dbConn = null;
	
	/**输入框*/
	private Text driverNameText = null;
	private Text jarFileNameText = null; 
	private Text driverClassText = null;
	private Text urlPrefixText = null;
	
	private Button okButton =null;
	
	private Driver driver;
	Shell shell = null;
	
	public DriverInfoDialog(Shell parent) {
		shell = new Shell(parent, SWT.DIALOG_TRIM | SWT.PRIMARY_MODAL );
		shell.setLayout(new GridLayout());
	}


	public Driver open(Driver data) {
		createTextWidgets();
		createControlButtons();
		
		if(data!=null){
			driver = (Driver)data.clone();
			initData();
		}else{
			driver = new Driver();
		}
		
		shell.pack();
		shell.open();

		Display display = shell.getDisplay();
		
		while(!shell.isDisposed()){
			if(!display.readAndDispatch())
				display.sleep();
		}
		
		return driver;
	}
	private void initData(){
 		driverNameText.setText(driver.getDriverName());
		jarFileNameText.setText(driver.getJarFileName());
		driverClassText.setText(driver.getDriverClass());
		urlPrefixText.setText(driver.getURLPrefix());
	}
	
	private void createTextWidgets() {
		Composite composite = new Composite(shell, SWT.NULL);
		composite.getShell().setText(res.getString("Tree.View.Action.NewDriver.Name"));
		composite.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
		GridLayout layout= new GridLayout();
		layout.numColumns = 3;
		composite.setLayout(layout);
	
		driverNameText = addTextLine(composite,res.getString("Driver.Name"),100,2);
		driverNameText.setTextLimit(50);
		jarFileNameText = addTextFileButtonLine(composite,res.getString("Driver.JarFileName"),200,2,res.getString("Browser"));
		driverClassText = addTextLine(composite,res.getString("Driver.ClassName"),200,2);
		urlPrefixText = addTextLine(composite,res.getString("Driver.URLPrefix"),200,2);
	}
	private void createControlButtons() {
		Composite composite = new Composite(shell, SWT.NULL);
		composite.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_CENTER));
		GridLayout layout = new GridLayout();
		layout.numColumns = 2;
		composite.setLayout(layout);
		
		okButton = new Button(composite, SWT.PUSH);
		okButton.setText(res.getString("OK"));
		okButton.addSelectionListener(new SelectionAdapter() {
			public void widgetSelected(SelectionEvent e) {
				if(checkData()){
					driver.setDriverName(driverNameText.getText());
					driver.setJarFileName(jarFileNameText.getText());
					driver.setDriverClass(driverClassText.getText());
					driver.setURLPrefix(urlPrefixText.getText());
					shell.close();
				}
			}
		});
		
		Button cancelButton = new Button(composite, SWT.PUSH);
		cancelButton.setText(res.getString("Cancel"));
		cancelButton.addSelectionListener(new SelectionAdapter() {
			public void widgetSelected(SelectionEvent e) {
				driver = null;
				shell.close();
			}
		});
		shell.setDefaultButton(okButton);
	}


	/**添加输入行*/
	private Text addTextLine(Composite composite,String lableText,int textSize,int span){
		Label label = new Label(composite, SWT.RIGHT);
		label.setText(lableText);
		Text text = new Text(composite, SWT.BORDER);
		GridData gridData = new GridData();
		if(span>0){
			gridData.verticalAlignment = GridData.FILL;
			gridData.horizontalSpan = span;
		}
		gridData.widthHint = textSize;
		text.setLayoutData(gridData);
		return text;
	}
	/**添加输入行*/
	private Text addTextFileButtonLine(final Composite composite,String lableText,int textSize,int span,String txt){
		Assert.isTrue(span>1);
		Label label = new Label(composite, SWT.RIGHT);
		label.setText(lableText);
		final Text text = new Text(composite, SWT.BORDER);
		GridData gridData = new GridData();
		if(span>1){
			gridData.horizontalAlignment = GridData.FILL;
			gridData.horizontalSpan = span-1;
		}
		gridData.widthHint = textSize;
		text.setLayoutData(gridData);
		Button bButton = new Button(composite, SWT.CENTER|SWT.PUSH);
		bButton.setText(txt);
		gridData = new GridData();
		gridData.horizontalAlignment = GridData.FILL;
		bButton.setLayoutData(gridData);
		bButton.addSelectionListener(new SelectionAdapter(){
			private FileDialog fileDlg;
			public void widgetSelected(SelectionEvent e){
				if(fileDlg==null){
					fileDlg = new FileDialog(composite.getShell(),SWT.CENTER);
				}
				//fileDlg.setFileName("*.jar");
				fileDlg.setFilterExtensions(new String[]{"*.jar"});
				String str = fileDlg.open();
				if(str!=null){
					text.setText(str);
				}
			}
		});
		return text;
	}
	/**数据检查*/
	private boolean checkData(){
		if(DealString.equalsIgnoreCase(this.driverNameText.getText(),"")){
			MessageDialog.openError(this.shell,res.getString("TanghanPlugin.DataInput.Error"),res.getString("TanghanPlugin.Error.Driver.Name.Null"));
			return false;
		}
		return true;
	}
	
}

⌨️ 快捷键说明

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