public void initializeComponents() { samplesPanel = new SamplesPanel(this, taxa); treesPanel = new TreesPanel(this, trees.get(0)); tabbedPane.addTab("Sample Dates", samplesPanel); tabbedPane.addTab("Analysis", treesPanel); JPanel panel = new JPanel(new BorderLayout(6, 6)); panel.setBorder(new BorderUIResource.EmptyBorderUIResource(new Insets(12, 12, 12, 12))); panel.add(tabbedPane, BorderLayout.CENTER); panel.add(statusLabel, BorderLayout.SOUTH); getContentPane().setLayout(new BorderLayout(0, 0)); getContentPane().add(panel, BorderLayout.CENTER); setSize(new Dimension(1024, 768)); setStatusMessage(); }
protected boolean readFromFile(File file) throws IOException { Reader reader = new FileReader(file); BufferedReader bufferedReader = new BufferedReader(reader); String line = bufferedReader.readLine(); while (line != null && line.length() == 0) { line = bufferedReader.readLine(); } boolean isNexus = (line != null && line.toUpperCase().contains("#NEXUS")); reader = new FileReader(file); Tree tree = null; try { if (isNexus) { NexusImporter importer = new NexusImporter(reader); tree = importer.importTree(taxa); } else { NewickImporter importer = new NewickImporter(reader); tree = importer.importTree(taxa); } } catch (Importer.ImportException ime) { JOptionPane.showMessageDialog( this, "Error parsing imported file: " + ime, "Error reading file", JOptionPane.ERROR_MESSAGE); ime.printStackTrace(); return false; } catch (IOException ioex) { JOptionPane.showMessageDialog( this, "File I/O Error: " + ioex, "File I/O Error", JOptionPane.ERROR_MESSAGE); ioex.printStackTrace(); return false; } catch (Exception ex) { JOptionPane.showMessageDialog( this, "Fatal exception: " + ex, "Error reading file", JOptionPane.ERROR_MESSAGE); ex.printStackTrace(); return false; } if (tree == null) { JOptionPane.showMessageDialog( this, "The file is not in a suitable format or contains no trees.", "Error reading file", JOptionPane.ERROR_MESSAGE); return false; } FlexibleTree binaryTree = new FlexibleTree(tree, true); binaryTree.resolveTree(); trees.add(binaryTree); if (taxa == null) { taxa = binaryTree; } getExportTreeAction().setEnabled(true); getExportDataAction().setEnabled(true); return true; }