?? nsg.java
字號:
// FrontEnd Plus GUI for JAD
// DeCompiled : NSG.class
package Generator;
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Cursor;
import java.awt.FlowLayout;
import java.awt.Font;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.ItemEvent;
import java.awt.event.ItemListener;
import java.awt.event.KeyAdapter;
import java.awt.event.KeyEvent;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import java.awt.event.MouseMotionAdapter;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.io.OutputStreamWriter;
import java.util.Iterator;
import java.util.Vector;
import javax.swing.BorderFactory;
import javax.swing.BoxLayout;
import javax.swing.JButton;
import javax.swing.JCheckBoxMenuItem;
import javax.swing.JComboBox;
import javax.swing.JFileChooser;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JPopupMenu;
import javax.swing.JScrollPane;
import javax.swing.JSlider;
import javax.swing.JTabbedPane;
import javax.swing.JTextArea;
import javax.swing.JTextField;
import javax.swing.JToolBar;
import javax.swing.KeyStroke;
import javax.swing.event.ChangeEvent;
import javax.swing.event.ChangeListener;
import javax.swing.filechooser.FileFilter;
import Analyser.Analyser;
import System.Tools;
// Referenced classes of package ns2.Generator:
// Environment, Node, Link, SmallView
public class NSG extends JFrame
{
static final long serialVersionUID = 0L;
boolean dirty;
JComboBox macBox;
JComboBox routingBox;
Environment env;
JLabel position;
JLabel node_no;
JLabel ftp_no;
JLabel cbr_no;
JLabel ping_no;
SmallView view;
JTextArea tclArea;
JTextArea analysisArea;
JTextArea messageArea;
JPanel configPane;
JTextField tclFilePath;
JTextField scnFilePath;
JTextField traceFileName;
JTextField namFileName;
JTextField noNodes;
Vector nodes;
Vector links;
int envWidth;
int envHeight;
Node src;
Node dst;
int sequence;
File tclFile;
File scnFile;
JTextField simStopField;
JSlider scale;
JSlider shiftX;
JSlider shiftY;
JFileChooser tcljfc;
JFileChooser scnjfc;
JFileChooser trjfc;
JPopupMenu nodePopup;
Font systemFont;
JTabbedPane linkPane;
JTextField ftp_start;
JTextField ftp_stop;
JTextField ping_start;
JTextField cbr_start;
JTextField cbr_stop;
JTextField cbr_frame_size;
String rates[] = {
"100Mb", "50Mb", "20Mb", "10Mb", "5Mb", "2Mb", "1Mb", "512Kb", "256Kb", "128Kb",
"64Kb", "32Kb", "16Kb", "8Kb", "4Kb", "2Kb", "1Kb"
};
JComboBox cbr_rate;
JTabbedPane nodePane;
JTextField grid_row;
JTextField grid_column;
JTextField grid_dist;
JTextField v_chain_hops;
JTextField v_chain_dist;
JTextField h_chain_hops;
JTextField h_chain_dist;
JTextField random_width;
JTextField random_height;
JTextField random_number;
JComboBox normal_source;
JComboBox normal_dest;
private void createNodePopup()
{
nodePopup = new JPopupMenu();
JMenuItem jmenuitem = new JMenuItem("Delete");
jmenuitem.addActionListener(new ActionListener() {
final NSG this$0;
public void actionPerformed(ActionEvent actionevent)
{
if(src == null)
{
return;
} else
{
removeNode(src);
src = null;
return;
}
}
{
this$0 = NSG.this;
//super();
}
});
nodePopup.add(jmenuitem);
jmenuitem = new JMenuItem("Move(unsupported)");
nodePopup.add(jmenuitem);
}
public NSG()
{
super("NSG beta version <wupl@cse.nsysu.edu.tw>");
dirty = false;
macBox = new JComboBox(new String[] {
"802_11"
});
routingBox = new JComboBox(new String[] {
"DSDV", "DSR", "AODV", "TORA"
});
env = new Environment();
position = new JLabel();
node_no = new JLabel("0", 0);
ftp_no = new JLabel("0", 0);
cbr_no = new JLabel("0", 0);
ping_no = new JLabel("0", 0);
tclArea = new JTextArea();
analysisArea = new JTextArea();
messageArea = new JTextArea();
configPane = new JPanel();
tclFilePath = new JTextField();
scnFilePath = new JTextField();
traceFileName = new JTextField("test.tr");
namFileName = new JTextField("test.nam");
noNodes = new JTextField(5);
nodes = new Vector();
links = new Vector();
src = null;
dst = null;
sequence = 0;
simStopField = new JTextField("10.0");
scale = new JSlider(0, 10, 500, 50);
shiftX = new JSlider(0, 0, 9000, 0);
shiftY = new JSlider(1, 0, 9000, 0);
tcljfc = new JFileChooser();
scnjfc = new JFileChooser();
trjfc = new JFileChooser();
systemFont = new Font("Verdana", 0, 10);
ftp_start = new JTextField("1.0");
ftp_stop = new JTextField("2.0");
ping_start = new JTextField("1.0");
cbr_start = new JTextField("1.0");
cbr_stop = new JTextField("2.0");
cbr_frame_size = new JTextField("1000");
cbr_rate = new JComboBox(rates);
grid_row = new JTextField("5");
grid_column = new JTextField("5");
grid_dist = new JTextField("200");
v_chain_hops = new JTextField("5");
v_chain_dist = new JTextField("200");
h_chain_hops = new JTextField("5");
h_chain_dist = new JTextField("200");
random_width = new JTextField("1000");
random_height = new JTextField("1000");
random_number = new JTextField("10");
normal_source = new JComboBox();
normal_dest = new JComboBox();
tcljfc.addChoosableFileFilter(new FileFilter() {
final NSG this$0;
public boolean accept(File file)
{
if(file.isDirectory())
return true;
return file.getName().endsWith(".tcl");
}
public String getDescription()
{
return "TCL\u6A94 (*.tcl)";
}
{
this$0 = NSG.this;
//super();
}
});
trjfc.addChoosableFileFilter(new FileFilter() {
final NSG this$0;
public boolean accept(File file)
{
if(file.isDirectory())
return true;
return file.getName().endsWith(".tr");
}
public String getDescription()
{
return "Trace\u6A94 (*.tr)";
}
{
this$0 = NSG.this;
//super();
}
});
scnjfc.addChoosableFileFilter(new FileFilter() {
final NSG this$0;
public boolean accept(File file)
{
if(file.isDirectory())
return true;
if(file.getName().endsWith(".s"))
return true;
return file.getName().endsWith(".scn");
}
public String getDescription()
{
return "\u5287\u672C\u6A94 *.scn";
}
{
this$0 = NSG.this;
//super();
}
});
getContentPane().setLayout(new BorderLayout(5, 5));
createMenuBar();
createToolBar();
createSetupPanel();
createCentralPanel();
createScalePanel();
createNodePopup();
init();
}
private void createScalePanel()
{
scale.addChangeListener(new ChangeListener() {
final NSG this$0;
public void stateChanged(ChangeEvent changeevent)
{
env.setScale((float)scale.getValue() / 100F);
shiftX.setMaximum((int)(9000F * env.scale));
shiftY.setMaximum((int)(9000F * env.scale));
}
{
this$0 = NSG.this;
//super();
}
});
env.setScale((float)scale.getValue() / 100F);
shiftX.setMaximum((int)(9000F * env.scale));
shiftY.setMaximum((int)(9000F * env.scale));
getContentPane().add(scale, "South");
}
private void analysis()
{
trjfc.setDialogTitle("\u8ACB\u9078\u64C7\u8981\u5206\u6790\u7684\u6A94\u6848");
trjfc.setMultiSelectionEnabled(true);
int i = trjfc.showOpenDialog(this);
if(i == 0)
{
File afile[] = trjfc.getSelectedFiles();
for(int j = 0; j < afile.length; j++)
{
analysisArea.append((new StringBuilder("=====")).append(afile[j].getAbsolutePath()).append(")=====\n").toString());
Analyser.analysisFile(afile[j], analysisArea, messageArea);
}
}
}
private void createMenuBar()
{
JMenuBar jmenubar = new JMenuBar();
setJMenuBar(jmenubar);
JMenu jmenu = new JMenu("System");
jmenu.setFont(systemFont);
jmenu.setMnemonic(83);
JMenuItem jmenuitem = new JMenuItem("New TCL", 78);
jmenuitem.setFont(systemFont);
jmenuitem.setAccelerator(KeyStroke.getKeyStroke(78, 2));
jmenuitem.addActionListener(new ActionListener() {
final NSG this$0;
public void actionPerformed(ActionEvent actionevent)
{
init();
}
{
this$0 = NSG.this;
//super();
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -