📄 societytool.java
字号:
protected JMenuItem sessions, load, save, close, forward, rewind,
fforward, frewind, stop, forward_step, rewind_step,
forward_last, rewind_first, delete, purge;
protected JMenuItem cc, update, un_cc;
protected JMenuItem filter, animation_speed, player_speed;
protected JMenuItem collapse, expand, recompute, redraw;
protected JMenuItem select, selectAll, hide, show;
protected JMenuItem help, about;
protected JMenuItem onOff;
protected JRadioButtonMenuItem letterAnim, arrowAnim;
protected static final int CHECK = 0;
protected static final int PLAIN = 1;
protected static final int RADIO = 2;
public SocietyMenuBar() {
add(fileMenu());
add(onlineMenu());
add(playbackMenu());
add(optionsMenu());
add(viewMenu());
add(helpMenu());
}
private JMenu fileMenu() {
JMenu menu = new JMenu("File");
menu.setMnemonic('F');
connect = createMenuItem(menu,PLAIN,"Connect to namservers", 'C');
disconnect=createMenuItem(menu,PLAIN,"Disconnect from nameservers",'D');
exit = createMenuItem(menu, PLAIN, "Quit", 'Q');
return menu;
}
private JMenu onlineMenu() {
JMenu menu = new JMenu("Online");
menu.setMnemonic('O');
update = createMenuItem(menu, PLAIN, "Update relations", 'U');
cc = createMenuItem(menu, PLAIN, "Request messages", 'R');
un_cc = createMenuItem(menu, PLAIN, "Un-request messages", 'N');
return menu;
}
private JMenu playbackMenu() {
JMenu menu = new JMenu("Playback");
menu.setMnemonic('P');
sessions = createMenuItem(menu, PLAIN, "Request saved sessions", 0);
delete = createMenuItem(menu, PLAIN, "Delete session", 0);
purge = createMenuItem(menu, PLAIN, "Purge database", 0);
menu.addSeparator();
load = createMenuItem(menu, PLAIN, "Load session", 0);
save = createMenuItem(menu, PLAIN, "Save session", 0);
close = createMenuItem(menu, PLAIN, "Close session", 0);
menu.addSeparator();
forward = createMenuItem(menu, PLAIN, "Forward", 0);
rewind = createMenuItem(menu, PLAIN, "Rewind", 0);
fforward = createMenuItem(menu, PLAIN, "Fast forward", 0);
frewind = createMenuItem(menu, PLAIN, "Fast rewind", 0);
forward_step = createMenuItem(menu, PLAIN, "Step forward", 0);
rewind_step = createMenuItem(menu, PLAIN, "Step backward", 0);
forward_last = createMenuItem(menu, PLAIN, "Forward to end", 0);
rewind_first = createMenuItem(menu, PLAIN, "Rewind to beginning", 0);
stop = createMenuItem(menu, PLAIN, "Stop", 0);
return menu;
}
private JMenu optionsMenu() {
JMenu menu = new JMenu("Options");
menu.setMnemonic('T');
filter = createMenuItem(menu, PLAIN, "Filter messages", 0);
player_speed = createMenuItem(menu, PLAIN, "Player speed...", 0);
animation_speed = createMenuItem(menu,PLAIN,"Animation speed...",0);
JMenu animMenu = new JMenu("Animation mode");
menu.add(animMenu);
int mode = SocietyTool.this.animationManager.getMode();
arrowAnim = new JRadioButtonMenuItem("Arrow",
mode == AnimationQueue.ARROWS);
arrowAnim.addActionListener(this);
letterAnim = new JRadioButtonMenuItem("Letter",
mode == AnimationQueue.LETTER);
letterAnim.addActionListener(this);
animMenu.add(letterAnim);
animMenu.add(arrowAnim);
ButtonGroup animGroup = new ButtonGroup();
animGroup.add(arrowAnim);
animGroup.add(letterAnim);
onOff = createMenuItem(menu, CHECK, "Animation", 0);
((JCheckBoxMenuItem)onOff).setState(SocietyTool.this.state.animating);
return menu;
}
private JMenu viewMenu() {
JMenu menu = new JMenu("View");
menu.setMnemonic('V');
collapse = createMenuItem(menu, PLAIN, "Collapse", 0);
expand = createMenuItem(menu, PLAIN, "Expand", 0);
recompute = createMenuItem(menu, PLAIN, "Recompute", 0);
redraw = createMenuItem(menu, PLAIN, "Redraw", 0);
menu.addSeparator();
select = createMenuItem(menu, PLAIN, "Select", 0);
selectAll = createMenuItem(menu, PLAIN, "Select all", 0);
menu.addSeparator();
hide = createMenuItem(menu, PLAIN, "Hide", 0);
show = createMenuItem(menu, PLAIN, "Show", 0);
return menu;
}
private JMenu helpMenu() {
JMenu menu = new JMenu("Help");
menu.setMnemonic('H');
help = createMenuItem(menu, PLAIN, "Using the society tool", 'U');
about = createMenuItem(menu, PLAIN, "About ZEUS...", 'A');
return menu;
}
private JMenuItem createMenuItem(JMenu menu, int type,
String text, int accelKey) {
JMenuItem item;
switch(type) {
case CHECK :
item = new JCheckBoxMenuItem();
((JCheckBoxMenuItem) item).setState(false);
item.addItemListener(this);
break;
case RADIO :
item = new JRadioButtonMenuItem();
item.addActionListener(this);
default :
item = new JMenuItem();
item.addActionListener(this);
break;
}
item.setText(text);
if(accelKey > 0)
item.setMnemonic(accelKey);
menu.add(item);
return item;
}
public void actionPerformed(ActionEvent event) {
Object source = event.getSource();
if ( source == connect )
Connect(true);
else if ( source == disconnect )
Connect(false);
else if ( source == exit )
Exit();
else if ( source == cc)
StreamMessages(true);
else if ( source == update )
UpdateRelations();
else if ( source == un_cc )
StreamMessages(false);
else if ( source == sessions)
Sessions();
else if ( source == delete)
Delete();
else if ( source == purge)
Purge();
else if ( source == load)
Load();
else if ( source == save )
Record();
else if ( source == close )
Close();
else if ( source == forward )
Forward();
else if ( source == rewind )
Rewind();
else if ( source == fforward )
FForward();
else if ( source == frewind )
FRewind();
else if ( source == stop )
Stop();
else if ( source == forward_step )
StepForward();
else if ( source == forward_last )
ForwardEnd();
else if ( source == rewind_step )
StepRewind();
else if ( source == rewind_first )
RewindBegin();
else if ( source == filter )
Filter();
else if ( source == player_speed )
PlayerSpeed();
else if ( source == animation_speed )
AnimationSpeed();
// The animation choice radio buttons
else if( source == arrowAnim )
setAnimationMode(AnimationQueue.ARROWS);
else if( source == letterAnim )
setAnimationMode(AnimationQueue.LETTER);
else if ( source == collapse )
graph.collapse();
else if ( source == expand )
graph.expand();
else if ( source == recompute )
graph.recompute();
else if ( source == redraw )
graph.redraw();
else if ( source == select )
graph.select();
else if ( source == selectAll )
graph.selectAll();
else if ( source == hide )
graph.hide();
else if ( source == show )
graph.show();
else if ( source == help )
Help();
else if ( source == about )
About();
}
public void itemStateChanged(ItemEvent event) {
Object source = event.getSource();
if ( source == onOff ) {
boolean b = ((JCheckBoxMenuItem)onOff).getState();
animation_speed.setEnabled(b);
letterAnim.setEnabled(b);
arrowAnim.setEnabled(b);
Animation(b);
}
}
public void update(int mode) {
boolean b = mode == SocietyTool.this.PLAYBACK;
cc.setEnabled(!b);
update.setEnabled(!b);
forward.setEnabled(b);
rewind.setEnabled(b);
fforward.setEnabled(b);
frewind.setEnabled(b);
stop.setEnabled(b);
forward_step.setEnabled(b);
rewind_step.setEnabled(b);
forward_last.setEnabled(b);
rewind_first.setEnabled(b);
}
}
private void debug (String str) {
// System.out.println("SocietyTool>> " + str);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -