?? nsg.java
字號:
position.setText((new StringBuilder("Location : ( ")).append(j).append(", ").append(k).append(" )").toString());
}
{
this$0 = NSG.this;
//super();
}
});
env.addMouseListener(new MouseAdapter() {
final NSG this$0;
public void mousePressed(MouseEvent mouseevent)
{
int i = env.getHeight();
int j = (int)((float)(mouseevent.getX() + env.shiftX) / env.scale);
int l = (int)((float)((i - mouseevent.getY()) + env.shiftY) / env.scale);
if(mouseevent.getButton() == 3)
{
for(Iterator iterator = nodes.iterator(); iterator.hasNext();)
{
Node node = (Node)(Node)iterator.next();
if(Math.abs(node.getX() - j) < 10 && Math.abs(node.getY() - l) < 10)
{
src = node;
env.setSrc(node);
nodePopup.show(mouseevent.getComponent(), mouseevent.getX(), mouseevent.getY());
return;
}
}
if(src != null)
{
src = null;
env.clearSrc();
return;
} else
{
return;
}
}
for(Iterator iterator1 = nodes.iterator(); iterator1.hasNext();)
{
Node node1 = (Node)(Node)iterator1.next();
if(Math.abs(node1.getX() - j) < 10 && Math.abs(node1.getY() - l) < 10)
if(src == null)
{
src = node1;
env.setSrc(node1);
return;
} else
{
dst = node1;
addConnection(src, dst);
src = null;
return;
}
}
if(src != null)
{
src = null;
env.clearSrc();
return;
}
switch(nodePane.getSelectedIndex())
{
default:
break;
case 0: // '\0'
addNode(j, l);
break;
case 1: // '\001'
for(int k1 = 0; k1 < Integer.parseInt(h_chain_hops.getText()); k1++)
{
addNode(j, l);
j += Integer.parseInt(h_chain_dist.getText());
}
break;
case 2: // '\002'
for(int l1 = 0; l1 < Integer.parseInt(v_chain_hops.getText()); l1++)
{
addNode(j, l);
l -= Integer.parseInt(v_chain_dist.getText());
}
break;
case 3: // '\003'
int i2 = l;
for(int j2 = 0; j2 < Integer.parseInt(grid_column.getText()); j2++)
{
int i1 = i2;
for(int l2 = 0; l2 < Integer.parseInt(grid_row.getText()); l2++)
{
addNode(j, i1);
i1 -= Integer.parseInt(grid_dist.getText());
}
j += Integer.parseInt(grid_dist.getText());
}
break;
case 4: // '\004'
for(int k2 = 0; k2 < Integer.parseInt(random_number.getText()); k2++)
{
int k = (int)(Math.random() * (double)Integer.parseInt(random_width.getText()));
int j1 = (int)(Math.random() * (double)Integer.parseInt(random_height.getText()));
addNode(k, j1);
}
break;
}
repaint();
}
{
this$0 = NSG.this;
//super();
}
});
JTabbedPane jtabbedpane = new JTabbedPane(1);
jtabbedpane.setFont(systemFont);
JPanel jpanel = new JPanel();
jpanel.setBackground(Color.PINK);
jpanel.setLayout(new BorderLayout(5, 5));
JPanel jpanel1 = new JPanel();
jpanel1.setLayout(new BorderLayout(5, 5));
jpanel1.add(env, "Center");
jpanel1.add(shiftX, "North");
jpanel1.add(shiftY, "East");
jpanel.add(jpanel1, "Center");
jpanel.add(position, "South");
jtabbedpane.addTab("environment", jpanel);
jtabbedpane.addTab("tcl Script", new JScrollPane(tclArea));
jtabbedpane.addTab("analysis", new JScrollPane(analysisArea));
getContentPane().add(jtabbedpane, "Center");
shiftX.addChangeListener(new ChangeListener() {
final NSG this$0;
public void stateChanged(ChangeEvent changeevent)
{
env.setShiftX(shiftX.getValue());
}
{
this$0 = NSG.this;
//super();
}
});
shiftY.addChangeListener(new ChangeListener() {
final NSG this$0;
public void stateChanged(ChangeEvent changeevent)
{
env.setShiftY(shiftY.getValue());
}
{
this$0 = NSG.this;
//super();
}
});
}
private void addNode(int i, int j)
{
dirty = true;
normal_source.addItem(String.valueOf(sequence));
normal_dest.addItem(String.valueOf(sequence));
nodes.add(new Node(sequence, i, j));
sequence++;
node_no.setText(String.valueOf(nodes.size()));
env.setNodes(nodes);
}
private void removeNode(Node node)
{
dirty = true;
normal_source.removeItem(String.valueOf(src.getId()));
normal_dest.removeItem(String.valueOf(src.getId()));
for(Iterator iterator = links.iterator(); iterator.hasNext();)
{
Link link = (Link)(Link)iterator.next();
if(link.getDst() == node || link.getSrc() == node)
{
if(link.getType() == 0)
ftp_no.setText(String.valueOf(Integer.parseInt(ftp_no.getText()) - 1));
else
if(link.getType() == 2)
cbr_no.setText(String.valueOf(Integer.parseInt(cbr_no.getText()) - 1));
else
ping_no.setText(String.valueOf(Integer.parseInt(ping_no.getText()) - 1));
iterator.remove();
}
}
env.getNodes().remove(node);
env.clearSrc();
node_no.setText(String.valueOf(nodes.size()));
env.repaint();
}
private void addConnection(Node node, Node node1)
{
dirty = true;
switch(linkPane.getSelectedIndex())
{
case 0: // '\0'
addFTP(node, node1, Double.parseDouble(ftp_start.getText()), Double.parseDouble(ftp_stop.getText()));
ftp_no.setText(String.valueOf(Integer.parseInt(ftp_no.getText()) + 1));
break;
case 1: // '\001'
addCBR(node, node1, Double.parseDouble(cbr_start.getText()), Double.parseDouble(cbr_stop.getText()), Integer.parseInt(cbr_frame_size.getText()), (String)cbr_rate.getSelectedItem());
cbr_no.setText(String.valueOf(Integer.parseInt(cbr_no.getText()) + 1));
break;
case 2: // '\002'
addPING(node, node1, Double.parseDouble(ping_start.getText()));
ping_no.setText(String.valueOf(Integer.parseInt(ping_no.getText()) + 1));
break;
}
env.setLinks(links);
env.clearSrc();
}
private void addFTP(Node node, Node node1, double d, double d1)
{
dirty = true;
Link link = new Link(node, node1, 0, d, d1);
links.add(link);
}
private void addCBR(Node node, Node node1, double d, double d1, int i,
String s)
{
dirty = true;
Link link = new Link(node, node1, 2, d, d1);
link.setFrame_size(i);
link.setRate(s);
links.add(link);
}
private void addPING(Node node, Node node1, double d)
{
dirty = true;
Link link = new Link(node, node1, 1, d, 0.0D);
links.add(link);
}
private void createSetupPanel()
{
JPanel jpanel = new JPanel();
jpanel.setLayout(new GridLayout(7, 2));
jpanel.setBorder(BorderFactory.createTitledBorder("Simulation parameter"));
JLabel jlabel = new JLabel("no. of nodes", 4);
jlabel.setFont(systemFont);
jpanel.add(jlabel);
jpanel.add(node_no);
node_no.setFont(systemFont);
jlabel = new JLabel("no. of ftp", 4);
jlabel.setFont(systemFont);
jpanel.add(jlabel);
jpanel.add(ftp_no);
ftp_no.setFont(systemFont);
jlabel = new JLabel("no. of cbr", 4);
jlabel.setFont(systemFont);
jpanel.add(jlabel);
jpanel.add(cbr_no);
cbr_no.setFont(systemFont);
jlabel = new JLabel("no. of ping", 4);
jlabel.setFont(systemFont);
jpanel.add(jlabel);
jpanel.add(ping_no);
ping_no.setFont(systemFont);
jlabel = new JLabel("stop time", 4);
jlabel.setFont(systemFont);
jpanel.add(jlabel);
jpanel.add(simStopField);
simStopField.addKeyListener(new KeyAdapter() {
final NSG this$0;
public void keyPressed(KeyEvent keyevent)
{
dirty = true;
}
{
this$0 = NSG.this;
//super();
}
});
jlabel = new JLabel("MAC", 4);
jlabel.setFont(systemFont);
jpanel.add(jlabel);
macBox.setFont(systemFont);
jpanel.add(macBox);
macBox.addItemListener(new ItemListener() {
final NSG this$0;
public void itemStateChanged(ItemEvent itemevent)
{
dirty = true;
}
{
this$0 = NSG.this;
//super();
}
});
jlabel = new JLabel("Routing", 4);
jlabel.setFont(systemFont);
jpanel.add(jlabel);
routingBox.setFont(systemFont);
jpanel.add(routingBox);
routingBox.addItemListener(new ItemListener() {
final NSG this$0;
public void itemStateChanged(ItemEvent itemevent)
{
dirty = true;
}
{
this$0 = NSG.this;
//super();
}
});
linkPane = new JTabbedPane(2);
linkPane.setBorder(BorderFactory.createTitledBorder("Agent type"));
linkPane.setFont(systemFont);
JPanel jpanel1 = new JPanel();
jpanel1.setLayout(new GridLayout(5, 2));
jlabel = new JLabel("start time", 4);
jlabel.setFont(systemFont);
jpanel1.add(jlabel);
jpanel1.add(ftp_start);
jlabel = new JLabel("stop time", 4);
jlabel.setFont(systemFont);
jpanel1.add(jlabel);
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -