📄 nattestwindow.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 + -