?? 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);
}
/**添加輸入行*/
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 + -