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

📄 connectdialog.java

📁 J2EE eclipse 下开发数据库一个插件
💻 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 + -