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

📄 nattestwindow.java

📁 java 文件下载器。可自定义
💻 JAVA
字号:
// Decompiled by Jad v1.5.8e2. Copyright 2001 Pavel Kouznetsov.
// Jad home page: http://kpdus.tripod.com/jad.html
// Decompiler options: packimports(3) fieldsfirst ansi space 
// Source File Name:   NatTestWindow.java

package org.gudy.azureus2.ui.swt.nat;

import com.aelitis.azureus.core.AzureusCoreFactory;
import com.aelitis.azureus.core.networkmanager.admin.NetworkAdmin;
import org.eclipse.swt.custom.StyledText;
import org.eclipse.swt.layout.GridData;
import org.eclipse.swt.layout.GridLayout;
import org.eclipse.swt.widgets.*;
import org.gudy.azureus2.core3.config.COConfigurationManager;
import org.gudy.azureus2.core3.internat.MessageText;
import org.gudy.azureus2.core3.ipchecker.natchecker.NatChecker;
import org.gudy.azureus2.core3.util.AERunnable;
import org.gudy.azureus2.core3.util.AEThread;
import org.gudy.azureus2.ui.swt.Messages;
import org.gudy.azureus2.ui.swt.Utils;
import org.gudy.azureus2.ui.swt.components.shell.ShellFactory;

public class NatTestWindow
{
	public class Checker extends AEThread
	{

		private int TCPListenPort;
		final NatTestWindow this$0;

		public void runSupport()
		{
			printMessage((new StringBuilder()).append(MessageText.getString("configureWizard.nat.testing")).append(" ").append(TCPListenPort).append(" ... ").toString());
			NatChecker checker = new NatChecker(AzureusCoreFactory.getSingleton(), NetworkAdmin.getSingleton().getMultiHomedServiceBindAddresses(true)[0], TCPListenPort, false);
			switch (checker.getResult())
			{
			case 1: // '\001'
				printMessage((new StringBuilder()).append(MessageText.getString("configureWizard.nat.ok")).append("\n").append(checker.getAdditionalInfo()).toString());
				break;

			case 2: // '\002'
				printMessage((new StringBuilder()).append("\n").append(MessageText.getString("configureWizard.nat.ko")).append(" - ").append(checker.getAdditionalInfo()).append(".\n").toString());
				break;

			default:
				printMessage((new StringBuilder()).append("\n").append(MessageText.getString("configureWizard.nat.unable")).append(". \n(").append(checker.getAdditionalInfo()).append(").\n").toString());
				break;
			}
			if (display.isDisposed())
			{
				return;
			} else
			{
				display.asyncExec(new AERunnable() {

					final Checker this$1;

					public void runSupport()
					{
						if (bTest != null && !bTest.isDisposed())
							bTest.setEnabled(true);
					}

				
				{
					this$1 = Checker.this;
					super();
				}
				});
				return;
			}
		}

		public Checker(int tcp_listen_port)
		{
			this$0 = NatTestWindow.this;
			super("NAT Checker");
			TCPListenPort = tcp_listen_port;
		}
	}


	Display display;
	Button bTest;
	Button bApply;
	Button bCancel;
	StyledText textResults;
	Checker checker;
	int serverTCPListenPort;

	public NatTestWindow()
	{
		serverTCPListenPort = COConfigurationManager.getIntParameter("TCP.Listen.Port");
		final Shell shell = ShellFactory.createShell(2144);
		shell.setText(MessageText.getString("configureWizard.nat.title"));
		Utils.setShellIcon(shell);
		display = shell.getDisplay();
		GridLayout layout = new GridLayout();
		layout.numColumns = 1;
		shell.setLayout(layout);
		Composite panel = new Composite(shell, 0);
		GridData gridData = new GridData(772);
		panel.setLayoutData(gridData);
		layout = new GridLayout();
		layout.numColumns = 3;
		panel.setLayout(layout);
		Label label = new Label(panel, 64);
		gridData = new GridData();
		gridData.horizontalSpan = 3;
		gridData.widthHint = 400;
		label.setLayoutData(gridData);
		Messages.setLanguageText(label, "configureWizard.nat.message");
		label = new Label(panel, 0);
		label = new Label(panel, 0);
		label = new Label(panel, 0);
		label = new Label(panel, 0);
		Messages.setLanguageText(label, "configureWizard.nat.server.tcp_listen_port");
		final Text textServerTCPListen = new Text(panel, 2048);
		gridData = new GridData();
		gridData.grabExcessHorizontalSpace = true;
		gridData.horizontalAlignment = 4;
		textServerTCPListen.setLayoutData(gridData);
		textServerTCPListen.setText((new StringBuilder()).append("").append(serverTCPListenPort).toString());
		textServerTCPListen.addListener(25, new Listener() {

			final NatTestWindow this$0;

			public void handleEvent(Event e)
			{
				String text = e.text;
				char chars[] = new char[text.length()];
				text.getChars(0, chars.length, chars, 0);
				for (int i = 0; i < chars.length; i++)
					if ('0' > chars[i] || chars[i] > '9')
					{
						e.doit = false;
						return;
					}

			}

			
			{
				this$0 = NatTestWindow.this;
				super();
			}
		});
		textServerTCPListen.addListener(24, new Listener() {

			final Text val$textServerTCPListen;
			final NatTestWindow this$0;

			public void handleEvent(Event e)
			{
				int TCPListenPort = Integer.parseInt(textServerTCPListen.getText());
				serverTCPListenPort = TCPListenPort;
			}

			
			{
				this$0 = NatTestWindow.this;
				textServerTCPListen = text;
				super();
			}
		});
		bTest = new Button(panel, 8);
		Messages.setLanguageText(bTest, "configureWizard.nat.test");
		gridData = new GridData();
		gridData.widthHint = 70;
		bTest.setLayoutData(gridData);
		textResults = new StyledText(panel, 2626);
		gridData = new GridData();
		gridData.widthHint = 400;
		gridData.heightHint = 100;
		gridData.grabExcessVerticalSpace = true;
		gridData.verticalAlignment = 4;
		gridData.horizontalSpan = 3;
		textResults.setLayoutData(gridData);
		textResults.setBackground(panel.getDisplay().getSystemColor(1));
		bTest.addListener(13, new Listener() {

			final NatTestWindow this$0;

			public void handleEvent(Event event)
			{
				bTest.setEnabled(false);
				textResults.setText("");
				checker = new Checker(serverTCPListenPort);
				checker.start();
			}

			
			{
				this$0 = NatTestWindow.this;
				super();
			}
		});
		bApply = new Button(panel, 8);
		bApply.setText(MessageText.getString("Button.apply"));
		gridData = new GridData();
		gridData.widthHint = 70;
		gridData.grabExcessHorizontalSpace = true;
		gridData.horizontalAlignment = 0x20000;
		gridData.horizontalSpan = 2;
		bApply.setLayoutData(gridData);
		bApply.addListener(13, new Listener() {

			final Shell val$shell;
			final NatTestWindow this$0;

			public void handleEvent(Event event)
			{
				int old_tcp = COConfigurationManager.getIntParameter("TCP.Listen.Port");
				int old_udp = COConfigurationManager.getIntParameter("UDP.Listen.Port");
				int old_udp2 = COConfigurationManager.getIntParameter("UDP.NonData.Listen.Port");
				COConfigurationManager.setParameter("TCP.Listen.Port", serverTCPListenPort);
				if (old_tcp == old_udp)
					COConfigurationManager.setParameter("UDP.Listen.Port", serverTCPListenPort);
				if (old_tcp == old_udp2)
					COConfigurationManager.setParameter("UDP.NonData.Listen.Port", serverTCPListenPort);
				COConfigurationManager.save();
				shell.close();
			}

			
			{
				this$0 = NatTestWindow.this;
				shell = shell1;
				super();
			}
		});
		bCancel = new Button(panel, 8);
		bCancel.setText(MessageText.getString("Button.cancel"));
		gridData = new GridData();
		gridData.widthHint = 70;
		bCancel.setLayoutData(gridData);
		bCancel.addListener(13, new Listener() {

			final Shell val$shell;
			final NatTestWindow this$0;

			public void handleEvent(Event event)
			{
				shell.close();
			}

			
			{
				this$0 = NatTestWindow.this;
				shell = shell1;
				super();
			}
		});
		shell.setDefaultButton(bApply);
		shell.addListener(31, new Listener() {

			final Shell val$shell;
			final NatTestWindow this$0;

			public void handleEvent(Event e)
			{
				if (e.character == '\033')
					shell.close();
			}

			
			{
				this$0 = NatTestWindow.this;
				shell = shell1;
				super();
			}
		});
		shell.pack();
		Utils.centreWindow(shell);
		shell.open();
	}

	public void printMessage(final String message)
	{
		if (display == null || display.isDisposed())
		{
			return;
		} else
		{
			display.asyncExec(new AERunnable() {

				final String val$message;
				final NatTestWindow this$0;

				public void runSupport()
				{
					if (textResults == null || textResults.isDisposed())
					{
						return;
					} else
					{
						textResults.append(message);
						return;
					}
				}

			
			{
				this$0 = NatTestWindow.this;
				message = s;
				super();
			}
			});
			return;
		}
	}
}

⌨️ 快捷键说明

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