📄 handoutframe.java
字号:
tBar.add(tb4);
tBar.add(tb5);
tBar.add(tb6);
tBar.addSeparator();
tBar.add(tb7);
tBar.add(tb8);
tBar.add(tb9);
tBar.add(tb10);
tBar.add(tb11);
centPane = new SourcePane();
bottomPane = new CorePane();
tablePane = new TablePane();
tablePane.setVisible(false);
codePane = new CodePane();
lPane = new TreePane(centPane);
outPane = new OutPane(tablePane, codePane);
outPane.setContinuousLayout(true);
outPane.setDividerSize(0);
midPane = new JSplitPane(JSplitPane.HORIZONTAL_SPLIT, centPane, outPane);
midPane.setContinuousLayout(true);
midPane.setDividerSize(2);
rPane = new JSplitPane(JSplitPane.VERTICAL_SPLIT, midPane, bottomPane);
rPane.setContinuousLayout(true);
rPane.setDividerSize(2);
basePane = new JSplitPane(JSplitPane.HORIZONTAL_SPLIT, lPane, rPane);
basePane.setContinuousLayout(true);
basePane.setDividerSize(2);
basePane.setDividerLocation(180);
rPane.setDividerLocation(450);
midPane.setDividerLocation(630);
outPane.setDividerLocation(0);
mPane.add(basePane, BorderLayout.CENTER);
status = new StatusBar();
status.setPreferredSize(new Dimension(mPane.getWidth(), 25));
mPane.add(status, BorderLayout.SOUTH);
}
@SuppressWarnings("deprecation")
public void actionPerformed(ActionEvent e) {
if (e.getSource().equals(m11) || e.getSource().equals(tb1)) {
centPane.open(new File("File" + fileCount++ + ".txt"));
} else if (e.getSource().equals(m12)||e.getSource().equals(tb2)) {
JFileChooser fChooser = new JFileChooser();
fChooser.setDialogTitle("Open File");
fChooser.setMultiSelectionEnabled(false);
fChooser.setFileFilter(new FileFilter() {
public boolean accept(File f) {
return f.getName().toLowerCase().endsWith(".txt")
|| f.isDirectory();
};
public String getDescription() {
return "TXT File";
}
});
int result = fChooser.showOpenDialog(this);
if (result == 0) {
centPane.open(fChooser.getSelectedFile());
}
} else if (e.getSource().equals(m13) || e.getSource().equals(tb3)) {
SourcePane.savSlct();
} else if (e.getSource().equals(m14)) {
File f = SourcePane.savSlctAs();
centPane.remove(centPane.getSelectedComponent());
centPane.open(f);
} else if (e.getSource().equals(m15)) {
} else if (e.getSource().equals(m16)) {
System.exit(0);
} else if (e.getSource().equals(m21)) {
} else if (e.getSource().equals(m22)) {
} else if (e.getSource().equals(m23)) {
} else if (e.getSource().equals(m24)) {
} else if (e.getSource().equals(m25)) {
} else if (e.getSource().equals(m26)) {
} else if (e.getSource().equals(m31) || e.getSource().equals(tb7)) {
Lexer.setDebug(false);
fileBuf = SourcePane.selected.file;
Thread t = new ParserThread(SourcePane.selected.file);
t.start();
} else if (e.getSource().equals(m32)) {
if (fileBuf != null){
Lexer.setDebug(false);
Thread t = new ParserThread(fileBuf);
t.start();
}
} else if (e.getSource().equals(m33)) {
CorePane.clear();
} else if (e.getSource().equals(m34)) {
tb8.setEnabled(true);
Lexer.setDebug(true);
fileBuf = SourcePane.selected.file;
Thread t = new ParserThread(SourcePane.selected.file);
t.start();
tb11.setEnabled(true);
} else if (e.getSource().equals(m35)) {
CorePane.clear();
} else if (e.getSource().equals(m41) || e.getSource().equals(tb9)) {
CorePane.clear();
Interpreter.setDebug(false);
Thread t = new InterpretThread();
t.start();
tb11.setEnabled(true);
} else if (e.getSource().equals(m42)) {
CorePane.clear();
tb10.setEnabled(true);
Interpreter.setDebug(true);
Thread t = new InterpretThread();
t.start();
tb11.setEnabled(true);
} else if (e.getSource().equals(m43)) {
CorePane.clear();
} else if (e.getSource().equals(m511)) {
if (m521.isSelected())
basePane.setDividerLocation(180);
if (m522.isSelected())
rPane.setDividerLocation(450);
outPane.setDividerSize(0);
midPane.setDividerLocation(630);
outPane.setDividerLocation(0);
tablePane.setVisible(false);
outPane.setVisible(true);
midPane.validate();
if (bottomPane.hasWatch)
bottomPane.delWatch();
} else if (e.getSource().equals(m512)) {
if (m512.isSelected()) {
basePane.setDividerLocation(0);
rPane.setDividerLocation(rPane.getHeight());
outPane.setVisible(false);
midPane.setDividerLocation(0);
midPane.validate();
if (bottomPane.hasWatch)
bottomPane.delWatch();
}
} else if (e.getSource().equals(m513)) {
if (m513.isSelected()) {
basePane.setDividerLocation(0);
rPane.setDividerLocation(450);
outPane.setVisible(true);
midPane.setDividerLocation(400);
midPane.validate();
tablePane.setVisible(true);
outPane.setDividerSize(3);
outPane.setDividerLocation(400);
outPane.validate();
bottomPane.addWatch();
}
} else if (e.getSource().equals(m521)) {
if (m521.isSelected()) {
basePane.setDividerLocation(180);
midPane.setDividerLocation(630);
outPane.setDividerLocation(0);
midPane.validate();
outPane.validate();
} else {
basePane.setDividerLocation(0);
midPane.setDividerLocation(750);
outPane.setDividerLocation(0);
midPane.validate();
outPane.validate();
}
} else if (e.getSource().equals(m522)) {
if (m522.isSelected()) {
rPane.setDividerLocation(450);
} else {
rPane.setDividerLocation(rPane.getHeight());
}
} else if (e.getSource().equals(m53)) {
CorePane.clear();
} else if (e.getSource().equals(m61)) {
CorePane.clear();
} else if (e.getSource().equals(m62)) {
CorePane.clear();
} else if (e.getSource().equals(m63)) {
new MyInfoFrame();
} else if (e.getSource().equals(tb4)) {
} else if (e.getSource().equals(tb5)) {
} else if (e.getSource().equals(tb6)) {
} else if (e.getSource().equals(tb8)) {
ParseThr.resume();
} else if (e.getSource().equals(tb10)) {
IntepretThr.resume();
} else if (e.getSource().equals(tb11)) {
if (ParseThr.isAlive()) {
tb11.setEnabled(false);
tb8.setEnabled(false);
ParseThr.stop();
ProblemPane.write(ConstSet.COMPINTRUPT);
ConsolePane.write(ConstSet.COMPINTRUPT);
InfoPane.write(ConstSet.COMPINTRUPT);
}
if (IntepretThr.isAlive()) {
tb11.setEnabled(false);
tb10.setEnabled(false);
tb9.setEnabled(false);
IntepretThr.stop();
ProblemPane.write(ConstSet.INTEINTRUPT);
ConsolePane.write(ConstSet.INTEINTRUPT);
InfoPane.write(ConstSet.INTEINTRUPT);
}
}
}
public static void setParseThr(Thread t) {
ParseThr = t;
}
public static void setIntepretThr(Thread t) {
IntepretThr = t;
}
static Thread ParseThr;
static Thread IntepretThr;
private JMenuItem m11;
private JMenuItem m12;
private JMenuItem m13;
private JMenuItem m14;
private JMenuItem m15;
private JMenuItem m16;
private JMenuItem m21;
private JMenuItem m22;
private JMenuItem m23;
private JMenuItem m24;
private JMenuItem m25;
private JMenuItem m26;
private JMenuItem m27;
private JMenuItem m31;
private JMenuItem m32;
private JMenuItem m33;
private JMenuItem m34;
private JMenuItem m35;
private JMenuItem m41;
private JMenuItem m42;
private JMenuItem m43;
private JMenu m51;
private JMenuItem m511;
private JMenuItem m512;
private JMenuItem m513;
private JMenu m52;
private JMenuItem m521;
private JMenuItem m522;
private JMenuItem m53;
private JMenuItem m61;
private JMenuItem m62;
private JMenuItem m63;
private static JButton tb1;
private static JButton tb2;
private static JButton tb3;
private static JButton tb4;
private static JButton tb5;
private static JButton tb6;
public static JButton tb7;
public static JButton tb8;
public static JButton tb9;
public static JButton tb10;
public static JButton tb11;
private JToolBar tBar;
private JPanel mPane;
private TreePane lPane;
private JSplitPane basePane;
private JSplitPane rPane;
private JSplitPane midPane;
public static SourcePane centPane;
public static OutPane outPane;
public static CodePane codePane;
public static TablePane tablePane;
public static CorePane bottomPane;
private StatusBar status;
private int fileCount = 1;
private File fileBuf = null;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -