JTSTestBuilder-运行框架
开始主类:
/**Main method*/ public static void main(String[] args) { try { readArgs(args); setLookAndFeel(); app = new JTSTestBuilder(); app.initFrame(); } catch (Exception e) { e.printStackTrace(); } }
InitFrame
private void initFrame() { JTSTestBuilderFrame frame = new JTSTestBuilderFrame(); frame.setModel(model()); //Validate frames that have preset sizes //Pack frames that have useful preferred size info, e.g. from their layout if (packFrame) { frame.pack(); } else { frame.validate(); } //Center the window Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize(); Dimension frameSize = frame.getSize(); if (frameSize.height > screenSize.height) { frameSize.height = screenSize.height; } if (frameSize.width > screenSize.width) { frameSize.width = screenSize.width; } frame.setLocation( (screenSize.width - frameSize.width) / 2, (screenSize.height - frameSize.height) / 2); frame.setVisible(true); }
JTSTestBuilderFrame:The main frame for the JTS Test Builder.
主框架
由:JTSTestBuilderMenuBar(菜单栏)、JTSTestBuilderToolBar(工具栏)、ResultController(结果控制面板)
其它的面板控件:JPanel、BorderLayout、Border、JSplitPane、TestCasePanel、JTabbedPane、WKTPanel、InspectorPanel、TestListPanel、LayerListPanel、GridBagLayout、GridLayout、ResultWKTPanel、ResultValuePanel、StatsPanel、InfoPanel、ZoomTool。初始化如下↓
点击左侧的tab(相交分析,不知道为什么tab名叫Predicates?明明是关联分析或者叫相交分析才对啊。主要用到的模型就是九交模型吧?Intersection Matrix。。)
查找
在RelatePanel.java
结果发现,RelatePanel并没有直接加到JTSTestBuilderFrame中,而是先加到了TestCasePanel中。。然后又把testcasepanel加到了主frame中。以这种方式完成了RelatePanel的加入。