public void doInit() { String version = JCPPropertyHandler.getInstance(true).getVersion(); String s1 = "JChemPaint " + version + "\n"; s1 += GT._("An open-source editor for 2D chemical structures."); String s2 = GT._("An OpenScience project.")+"\n"; s2 += GT._("See 'http://jchempaint.github.com' for more information."); getContentPane().setLayout(new BorderLayout()); getContentPane().setBackground(Color.white); JLabel label1 = new JLabel(); try { JCPPropertyHandler jcpph = JCPPropertyHandler.getInstance(true); URL url = jcpph.getResource("jcplogo" + JCPAction.imageSuffix); ImageIcon icon = new ImageIcon(url); //ImageIcon icon = new ImageIcon(../resources/); label1 = new JLabel(icon); } catch (Exception exception) { logger.error("Cannot add JCP logo: " + exception.getMessage()); logger.debug(exception); } label1.setBackground(Color.white); Border lb = BorderFactory.createLineBorder(Color.white, 5); JTextArea jtf1 = new JTextArea(s1); jtf1.setBorder(lb); jtf1.setEditable(false); JTextArea jtf2 = new JTextArea(s2); jtf2.setEditable(false); jtf2.setBorder(lb); getContentPane().add("Center", label1); getContentPane().add("North", jtf1); getContentPane().add("South", jtf2); pack(); setVisible(true); }
@SuppressWarnings("static-access") public static void main(String[] args) { try { final String vers = System.getProperty("java.version"); final String requiredJVM = "1.5.0"; final Package self = Package .getPackage("org.openscience.jchempaint"); String version = GT._("Could not determine JCP version"); if (self != null) { version = JCPPropertyHandler.getInstance(true).getVersion(); } if (vers.compareTo(requiredJVM) < 0) { System.err .println(GT ._("WARNING: JChemPaint {0} must be run with a Java VM version {1} or higher.", new String[] { version, requiredJVM })); System.err.println(GT._("Your JVM version is {0}", vers)); System.exit(1); } final Options options = new Options(); options.addOption("h", "help", false, GT._("gives this help page")); options.addOption("v", "version", false, GT._("gives JChemPaints version number")); options.addOption("d", "debug", false, "switches on various debug options"); options.addOption(OptionBuilder.withArgName("property=value") .hasArg().withValueSeparator() .withDescription(GT._("supported options are given below")) .create("D")); CommandLine line = null; try { final CommandLineParser parser = new PosixParser(); line = parser.parse(options, args); } catch (final UnrecognizedOptionException exception) { System.err.println(exception.getMessage()); System.exit(-1); } catch (final ParseException exception) { System.err.println("Unexpected exception: " + exception.toString()); } if (line.hasOption("v")) { System.out.println("JChemPaint v." + version + "\n"); System.exit(0); } if (line.hasOption("h")) { System.out.println("JChemPaint v." + version + "\n"); final HelpFormatter formatter = new HelpFormatter(); formatter.printHelp("JChemPaint", options); // now report on the -D options System.out.println(); System.out .println("The -D options are as follows (defaults in parathesis):"); System.out.println(" cdk.debugging [true|false] (false)"); System.out.println(" cdk.debug.stdout [true|false] (false)"); System.out .println(" user.language [ar|ca|cs|de|en|es|hu|nb|nl|pl|pt|ru|th] (en)"); System.out .println(" user.language [ar|ca|cs|de|hu|nb|nl|pl|pt_BR|ru|th] (EN)"); System.exit(0); } boolean debug = false; if (line.hasOption("d")) { debug = true; } // Set Look&Feel final Properties props = JCPPropertyHandler.getInstance(true) .getJCPProperties(); try { UIManager.setLookAndFeel(props.getProperty("LookAndFeelClass")); } catch (final Throwable e) { final String sys = UIManager.getSystemLookAndFeelClassName(); UIManager.setLookAndFeel(sys); props.setProperty("LookAndFeelClass", sys); } // Language props.setProperty("General.language", System.getProperty("user.language", "en")); // Process command line arguments String modelFilename = ""; args = line.getArgs(); if (args.length > 0) { modelFilename = args[0]; final File file = new File(modelFilename); if (!file.exists()) { System.err.println(GT._("File does not exist") + ": " + modelFilename); System.exit(-1); } showInstance(file, null, null, debug); } else { showEmptyInstance(debug); } } catch (final Throwable t) { System.err.println("uncaught exception: " + t); t.printStackTrace(System.err); } }