📄 driverinfodialog.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); } /**添加输入行*/ protected 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; } /**添加输入行*/ protected 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 + -