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

📄 serverlistimportwindow.java

📁 JMule是一个基于Java开发
💻 JAVA
字号:
/* *  JMule - Java file sharing client *  Copyright (C) 2007-2008 JMule team ( jmule@jmule.org / http://jmule.org ) * *  Any parts of this program derived from other projects, or contributed *  by third-party developers are copyrighted by their respective authors. * *  This program is free software; you can redistribute it and/or *  modify it under the terms of the GNU General Public License *  as published by the Free Software Foundation; either version 2 *  of the License, or (at your option) any later version. * *  This program is distributed in the hope that it will be useful, *  but WITHOUT ANY WARRANTY; without even the implied warranty of *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the *  GNU General Public License for more details. * *  You should have received a copy of the GNU General Public License *  along with this program; if not, write to the Free Software *  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA. * */package org.jmule.ui.swt.serverlistimportwindow;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.Composite;import org.eclipse.swt.widgets.Event;import org.eclipse.swt.widgets.FileDialog;import org.eclipse.swt.widgets.Group;import org.eclipse.swt.widgets.Label;import org.eclipse.swt.widgets.Listener;import org.eclipse.swt.widgets.Shell;import org.eclipse.swt.widgets.Text;import org.jmule.core.JMRunnable;import org.jmule.core.JMuleCoreFactory;import org.jmule.core.edonkey.ServerManager;import org.jmule.core.edonkey.ServerManagerException;import org.jmule.ui.JMuleUIComponent;import org.jmule.ui.JMuleUIManager;import org.jmule.ui.localizer._;import org.jmule.ui.swt.SWTImageRepository;import org.jmule.ui.swt.SWTThread;import org.jmule.ui.swt.Utils;import org.jmule.ui.swt.skin.SWTSkin;/** * Created on Aug 23, 2008 * @author binary256 * @version $Revision: 1.2 $ * Last changed by $Author: binary256_ $ on $Date: 2008/10/16 18:20:01 $ */public class ServerListImportWindow implements JMuleUIComponent{	private ServerManager server_manager;	private Shell shell;		private Button browse_button,ok_button, cancel_button;	private Text file_path;	private boolean allow_close = true;		public void getCoreComponents() {		server_manager = JMuleCoreFactory.getSingleton().getServerManager();	}	public void initUIComponents() {		SWTSkin skin = null;		try {		    skin = (SWTSkin)JMuleUIManager.getJMuleUI().getSkin();		}catch(Throwable t) {}				final Shell shell1=new Shell(SWTThread.getDisplay(),SWT.ON_TOP);		shell=new Shell(shell1,SWT.DIALOG_TRIM | SWT.APPLICATION_MODAL);				shell.setSize(400, 130);		Utils.centreWindow(shell);		shell.setText(_._("serverlistimportwindow.title"));		shell.setImage(SWTImageRepository.getImage("import.png"));						shell.setLayout(new GridLayout(1,false));				Group group = new Group(shell,SWT.NONE);		group.setLayoutData(new GridData(GridData.FILL_BOTH));		group.setLayout(new GridLayout(3,false));				Label label = new Label(group,SWT.NONE);		label.setText(_._("serverlistimportwindow.label.file_path")+" : ");				file_path = new Text(group,SWT.BORDER );		file_path.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));				browse_button = new Button(group,SWT.NONE);		browse_button.setFont(skin.getButtonFont());		browse_button.setText(_._("serverlistimportwindow.button.browse"));				browse_button.addSelectionListener(new SelectionAdapter() {			public void widgetSelected(final SelectionEvent e) {				FileDialog dialog = new FileDialog (shell, SWT.OPEN);				dialog.setFilterNames (new String [] {"Server.met(*.met)", "All Files (*.*)"});				dialog.setFilterExtensions (new String [] {"*.met", "*.*"});				String result = dialog.open();				if (result != null)					file_path.setText(result);		} });						Composite button_bar = new Composite(shell,SWT.NONE);		button_bar.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));				GridLayout layout = new GridLayout(2,false);		button_bar.setLayout(layout);				ok_button = new Button(button_bar,SWT.NONE);		ok_button.setFont(skin.getButtonFont());		ok_button.setText(_._("serverlistimportwindow.button.ok"));		ok_button.setImage(SWTImageRepository.getImage("accept.png"));		GridData grid_data = new GridData();		grid_data.horizontalAlignment = GridData.END;		grid_data.widthHint = 60;		grid_data.grabExcessHorizontalSpace = true;		ok_button.setLayoutData(grid_data);		ok_button.addSelectionListener(new SelectionAdapter() {			public void widgetSelected(final SelectionEvent e) {				importServerList();		} });						cancel_button = new Button(button_bar,SWT.NONE);		cancel_button.setFont(skin.getButtonFont());		cancel_button.setText(_._("serverlistimportwindow.button.cancel"));		cancel_button.setImage(SWTImageRepository.getImage("cancel2.png"));		grid_data = new GridData();		grid_data.widthHint = 80;		cancel_button.setLayoutData(grid_data);				cancel_button.addSelectionListener(new SelectionAdapter() {			public void widgetSelected(final SelectionEvent e) {				shell.close();		} });				shell.addListener(SWT.Close, new Listener() {			public void handleEvent(Event arg0) {				arg0.doit = allow_close;			}		});				shell.open();	}		private void importServerList() {		SWTThread.getDisplay().asyncExec(new JMRunnable() {			public void JMRun() {				setWindowStatus(false);				try {					server_manager.importList(file_path.getText());				} catch (ServerManagerException e) {					Utils.showWarningMessage(shell, _._("serverlistimportwindow.import_failed_title"), 							_._("serverlistimportwindow.import_failed")+"\n"+e.getLocalizedMessage());				}				setWindowStatus(true);				shell.close();			}		});	}	private void setWindowStatus(boolean status) {		allow_close = status;		browse_button.setEnabled(status);		ok_button.setEnabled(status);		cancel_button.setEnabled(status);		file_path.setEnabled(status);	}	}

⌨️ 快捷键说明

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