📄 connectdialog.java
字号:
package com.tanghan.plugin.dbviews.dialog;//import java.util.ArrayList;import java.util.ArrayList;import java.util.List;import java.util.ResourceBundle;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.Label;import org.eclipse.swt.widgets.Shell;//import org.eclipse.swt.widgets.TabFolder;//import org.eclipse.swt.widgets.TabItem;import org.eclipse.swt.widgets.Text;import com.tanghan.plugin.TanghanPlugin;
public class ConnectDialog { private static ResourceBundle res = TanghanPlugin.getDefault().getResourceBundle();// private HashMap data = null;// private HashMap items = null; private Button okButton; /**驱动程序列表*/ private Combo schemasCombo; private List schemasList; private Shell shell; private String selectedSchema = ""; public ConnectDialog(Shell parent) { shell = new Shell(parent, SWT.TITLE | SWT.BORDER | SWT.PRIMARY_MODAL |SWT.CENTER ); shell.setLayout(new GridLayout()); } public String open(List schemasList) { if(schemasList!=null) this.schemasList = schemasList; else this.schemasList = new ArrayList(); createTextWidgets(); initData(); createControlButtons(); shell.pack(); shell.open(); Display display = shell.getDisplay(); while(!shell.isDisposed()){ if(!display.readAndDispatch()) display.sleep(); } return selectedSchema; } private void initData(){ //初始化驱动程序列表 for(int i =0;i<schemasList.size();i++){ schemasCombo.add((String)schemasList.get(i),i); } if(schemasList.size()>0){ schemasCombo.setText(schemasCombo.getItem(0)); selectedSchema = schemasCombo.getItem(0); } } private void createTextWidgets() { Composite composite = new Composite(shell, SWT.NULL); composite.getShell().setText(res.getString("TanghanPlugin.ConnectDialog.Title")); composite.setLayoutData(new GridData(GridData.FILL_HORIZONTAL)); GridLayout layout= new GridLayout(); layout.numColumns = 2; composite.setLayout(layout); addSchemaComboLine(composite,res.getString("TanghanPlugin.DB.Schemas")); } private void createControlButtons() { Composite composite = new Composite(shell, SWT.NULL); composite.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_CENTER)); GridLayout layout = new GridLayout(); layout.numColumns = 1; composite.setLayout(layout); okButton = new Button(composite, SWT.PUSH); okButton.setText(res.getString("OK")); okButton.addSelectionListener(new SelectionAdapter() { public void widgetSelected(SelectionEvent e) { shell.close(); } });/* Button cancelButton = new Button(composite, SWT.PUSH); cancelButton.setText(res.getString("Cancel")); cancelButton.addSelectionListener(new SelectionAdapter() { public void widgetSelected(SelectionEvent e) { shell.close(); } });*/ shell.setDefaultButton(okButton); } private void addSchemaComboLine(Composite composite,String lableText){ Label label = new Label(composite, SWT.RIGHT); label.setText(lableText); schemasCombo = new Combo(composite, SWT.READ_ONLY|SWT.DROP_DOWN); schemasCombo.addSelectionListener(new SelectionAdapter(){ public void widgetSelected(SelectionEvent e){ int select = schemasCombo.getSelectionIndex(); if(select>-1&&select<schemasList.size()){ selectedSchema = schemasCombo.getItem(select); } } }); } /**添加输入行*/ private Text addTextLine(Composite composite,String lableText,int textSize){ Label label = new Label(composite, SWT.RIGHT); label.setText(lableText); Text text = new Text(composite, SWT.BORDER); GridData gridData = new GridData(); gridData.widthHint = textSize; text.setLayoutData(gridData); return text; }}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -