List of usage examples for java.awt GridBagConstraints SOUTH
int SOUTH
To view the source code for java.awt GridBagConstraints SOUTH.
Click Source Link
From source file:com.digitalgeneralists.assurance.ui.components.ComparisonResultPanel.java
protected void initializeComponent(ComparisonResult result) { if (!this.initialized) { this.merging = false; this.numberOfLines = 0; this.setOpaque(true); GridBagLayout gridbag = new GridBagLayout(); this.setLayout(gridbag); this.basePanelConstraints.anchor = GridBagConstraints.WEST; this.basePanelConstraints.fill = GridBagConstraints.BOTH; this.basePanelConstraints.gridx = 0; this.basePanelConstraints.gridy = 0; this.basePanelConstraints.weightx = 1.0; this.basePanelConstraints.weighty = 1.0; this.basePanelConstraints.gridheight = 1; this.basePanelConstraints.gridwidth = 1; this.basePanelConstraints.insets = new Insets(0, 0, 0, 0); this.standardPanel.setOpaque(false); GridBagLayout basePanelGridbag = new GridBagLayout(); this.standardPanel.setLayout(basePanelGridbag); this.add(this.standardPanel, this.basePanelConstraints); GridBagConstraints sourcePanelConstraints = new GridBagConstraints(); sourcePanelConstraints.anchor = GridBagConstraints.WEST; sourcePanelConstraints.fill = GridBagConstraints.BOTH; sourcePanelConstraints.gridx = 0; sourcePanelConstraints.gridy = 0; sourcePanelConstraints.weightx = 0.4; sourcePanelConstraints.weighty = 1.0; sourcePanelConstraints.gridheight = 1; sourcePanelConstraints.gridwidth = 1; sourcePanelConstraints.insets = new Insets(0, 0, 0, 0); JPanel sourcePanel = new JPanel(); sourcePanel.setOpaque(false);// ww w . ja va 2 s. c o m GridBagLayout sourcePanelGridbag = new GridBagLayout(); sourcePanel.setLayout(sourcePanelGridbag); this.standardPanel.add(sourcePanel, sourcePanelConstraints); GridBagConstraints sourceFileLabelConstraints = new GridBagConstraints(); sourceFileLabelConstraints.anchor = GridBagConstraints.WEST; sourceFileLabelConstraints.gridx = 0; sourceFileLabelConstraints.gridy = 0; sourceFileLabelConstraints.weightx = 1.0; sourceFileLabelConstraints.weighty = 1.0; sourceFileLabelConstraints.gridheight = 1; sourceFileLabelConstraints.gridwidth = 1; sourceFileLabelConstraints.insets = new Insets(5, 5, 5, 5); String sourcePath = "No File Specified"; if ((result != null) && (result.getSource() != null)) { File sourceFile = result.getSource().getFile(); if ((sourceFile == null) || (!sourceFile.exists())) { sourcePath = "File does not exist in source location."; } else { sourcePath = sourceFile.getPath(); } sourceFile = null; } JLabel sourceFileLabel = new JLabel(sourcePath); sourcePath = null; sourcePanel.add(sourceFileLabel, sourceFileLabelConstraints); GridBagConstraints sourceAttributesPanelConstraints = new GridBagConstraints(); sourceAttributesPanelConstraints.anchor = GridBagConstraints.WEST; sourceAttributesPanelConstraints.fill = GridBagConstraints.BOTH; sourceAttributesPanelConstraints.gridx = 0; sourceAttributesPanelConstraints.gridy = 1; sourceAttributesPanelConstraints.weightx = 1.0; sourceAttributesPanelConstraints.weighty = 1.0; sourceAttributesPanelConstraints.gridheight = 1; sourceAttributesPanelConstraints.gridwidth = 1; sourceAttributesPanelConstraints.insets = new Insets(0, 0, 0, 0); FileReference sourceReference = null; if (result != null) { sourceReference = result.getSource(); } FileReference targetReference = null; if (result != null) { targetReference = result.getTarget(); } JPanel sourceAttributesPanel = this.createFileAttributesPanel(sourceReference, targetReference, GridBagConstraints.WEST); sourcePanel.add(sourceAttributesPanel, sourceAttributesPanelConstraints); this.moreSourceAttributesButton.setHorizontalAlignment(SwingConstants.LEFT); this.moreSourceAttributesButton.setBorderPainted(false); this.moreSourceAttributesButton.setOpaque(false); this.moreSourceAttributesButton.setForeground(Color.blue); if (this.editable) { this.moreSourceAttributesButton.setText("All attributes..."); this.moreSourceAttributesButton.addActionListener(this); this.moreSourceAttributesButton.setEnabled(true); } else { this.moreSourceAttributesButton.setText(" "); this.moreSourceAttributesButton.setEnabled(false); } this.moreSourceAttributesButton.setActionCommand(AssuranceActions.sourceAttributesAction); GridBagConstraints moreSourceAttributesButtonConstraints = new GridBagConstraints(); moreSourceAttributesButtonConstraints.anchor = GridBagConstraints.WEST; moreSourceAttributesButtonConstraints.fill = GridBagConstraints.BOTH; moreSourceAttributesButtonConstraints.gridx = 0; moreSourceAttributesButtonConstraints.gridy = 2; moreSourceAttributesButtonConstraints.weightx = 1.0; moreSourceAttributesButtonConstraints.weighty = 1.0; moreSourceAttributesButtonConstraints.gridheight = 1; moreSourceAttributesButtonConstraints.gridwidth = 1; moreSourceAttributesButtonConstraints.insets = new Insets(0, 0, 0, 0); sourcePanel.add(this.moreSourceAttributesButton, moreSourceAttributesButtonConstraints); this.buildMergePanel(result); GridBagConstraints targetPanelConstraints = new GridBagConstraints(); targetPanelConstraints.anchor = GridBagConstraints.EAST; targetPanelConstraints.fill = GridBagConstraints.BOTH; targetPanelConstraints.gridx = 2; targetPanelConstraints.gridy = 0; targetPanelConstraints.weightx = 0.4; targetPanelConstraints.weighty = 1.0; targetPanelConstraints.gridheight = 1; targetPanelConstraints.gridwidth = 1; targetPanelConstraints.insets = new Insets(0, 0, 0, 0); JPanel targetPanel = new JPanel(); GridBagLayout targetPanelGridbag = new GridBagLayout(); targetPanel.setOpaque(false); targetPanel.setLayout(targetPanelGridbag); this.standardPanel.add(targetPanel, targetPanelConstraints); GridBagConstraints targetFileLabelConstraints = new GridBagConstraints(); targetFileLabelConstraints.anchor = GridBagConstraints.EAST; targetFileLabelConstraints.fill = GridBagConstraints.BOTH; targetFileLabelConstraints.gridx = 0; targetFileLabelConstraints.gridy = 0; targetFileLabelConstraints.weightx = 1.0; targetFileLabelConstraints.weighty = 1.0; targetFileLabelConstraints.gridheight = 1; targetFileLabelConstraints.gridwidth = 1; targetFileLabelConstraints.insets = new Insets(5, 5, 5, 5); // Create a label to put messages during an action event. String targetPath = "No File Specified"; if ((result != null) && (result.getTarget() != null)) { File targetFile = result.getTarget().getFile(); if ((targetFile == null) || (!targetFile.exists())) { targetPath = "File does not exist in target location."; } else { targetPath = targetFile.getPath(); } targetFile = null; } JLabel targetFileLabel = new JLabel(targetPath); targetPath = null; targetPanel.add(targetFileLabel, targetFileLabelConstraints); GridBagConstraints targetAttributesPanelConstraints = new GridBagConstraints(); targetAttributesPanelConstraints.anchor = GridBagConstraints.EAST; targetAttributesPanelConstraints.fill = GridBagConstraints.BOTH; targetAttributesPanelConstraints.gridx = 0; targetAttributesPanelConstraints.gridy = 1; targetAttributesPanelConstraints.weightx = 1.0; targetAttributesPanelConstraints.weighty = 1.0; targetAttributesPanelConstraints.gridheight = 1; targetAttributesPanelConstraints.gridwidth = 1; targetAttributesPanelConstraints.insets = new Insets(0, 0, 0, 0); JPanel targetAttributesPanel = this.createFileAttributesPanel(targetReference, sourceReference, GridBagConstraints.EAST); targetPanel.add(targetAttributesPanel, targetAttributesPanelConstraints); sourceReference = null; targetReference = null; this.moreTargetAttributesButton.setHorizontalAlignment(SwingConstants.RIGHT); this.moreTargetAttributesButton.setBorderPainted(false); this.moreTargetAttributesButton.setOpaque(false); this.moreTargetAttributesButton.setForeground(Color.blue); if (this.editable) { this.moreTargetAttributesButton.setText("All attributes..."); this.moreTargetAttributesButton.addActionListener(this); this.moreTargetAttributesButton.setEnabled(true); } else { this.moreTargetAttributesButton.setText(" "); this.moreTargetAttributesButton.setEnabled(false); } this.moreTargetAttributesButton.setActionCommand(AssuranceActions.targetAttributesAction); GridBagConstraints moreTargetAttributesButtonConstraints = new GridBagConstraints(); moreTargetAttributesButtonConstraints.anchor = GridBagConstraints.EAST; moreTargetAttributesButtonConstraints.fill = GridBagConstraints.BOTH; moreTargetAttributesButtonConstraints.gridx = 0; moreTargetAttributesButtonConstraints.gridy = 2; moreTargetAttributesButtonConstraints.weightx = 1.0; moreTargetAttributesButtonConstraints.weighty = 1.0; moreTargetAttributesButtonConstraints.gridheight = 1; moreTargetAttributesButtonConstraints.gridwidth = 1; moreTargetAttributesButtonConstraints.insets = new Insets(0, 0, 0, 0); targetPanel.add(this.moreTargetAttributesButton, moreTargetAttributesButtonConstraints); GridBagLayout mergingPanelGridbag = new GridBagLayout(); this.mergingPanel.setLayout(mergingPanelGridbag); GridBagConstraints mergingLabelConstraints = new GridBagConstraints(); mergingLabelConstraints.anchor = GridBagConstraints.NORTH; mergingLabelConstraints.fill = GridBagConstraints.BOTH; mergingLabelConstraints.gridx = 0; mergingLabelConstraints.gridy = 0; mergingLabelConstraints.weightx = 1.0; mergingLabelConstraints.weighty = 1.0; mergingLabelConstraints.gridheight = 1; mergingLabelConstraints.gridwidth = 1; mergingLabelConstraints.insets = new Insets(10, 10, 10, 10); this.mergingLabel.setHorizontalAlignment(JLabel.CENTER); mergingPanel.add(this.mergingLabel, mergingLabelConstraints); GridBagConstraints mergingStatusIndicatorConstraints = new GridBagConstraints(); mergingStatusIndicatorConstraints.anchor = GridBagConstraints.SOUTH; mergingStatusIndicatorConstraints.fill = GridBagConstraints.BOTH; mergingStatusIndicatorConstraints.gridx = 0; mergingStatusIndicatorConstraints.gridy = 1; mergingStatusIndicatorConstraints.weightx = 1.0; mergingStatusIndicatorConstraints.weighty = 1.0; mergingStatusIndicatorConstraints.gridheight = 1; mergingStatusIndicatorConstraints.gridwidth = 1; mergingStatusIndicatorConstraints.insets = new Insets(10, 10, 10, 10); this.mergingProgressIndicator.setIndeterminate(true); mergingPanel.add(this.mergingProgressIndicator, mergingStatusIndicatorConstraints); this.addAncestorListener(new AncestorListener() { public void ancestorAdded(AncestorEvent event) { if (applicationDelegate != null) { applicationDelegate.addEventObserver(ResultMergeStartedEvent.class, (IEventObserver) event.getSource()); applicationDelegate.addEventObserver(ResultMergeProgressEvent.class, (IEventObserver) event.getSource()); applicationDelegate.addEventObserver(ResultMergeCompletedEvent.class, (IEventObserver) event.getSource()); applicationDelegate.addEventObserver(DeletedItemRestoreStartedEvent.class, (IEventObserver) event.getSource()); applicationDelegate.addEventObserver(DeletedItemRestoreProgressEvent.class, (IEventObserver) event.getSource()); applicationDelegate.addEventObserver(DeletedItemRestoreCompletedEvent.class, (IEventObserver) event.getSource()); } } public void ancestorRemoved(AncestorEvent event) { if (applicationDelegate != null) { applicationDelegate.removeEventObserver(ResultMergeStartedEvent.class, (IEventObserver) event.getSource()); applicationDelegate.removeEventObserver(ResultMergeProgressEvent.class, (IEventObserver) event.getSource()); applicationDelegate.removeEventObserver(ResultMergeCompletedEvent.class, (IEventObserver) event.getSource()); applicationDelegate.removeEventObserver(DeletedItemRestoreStartedEvent.class, (IEventObserver) event.getSource()); applicationDelegate.removeEventObserver(DeletedItemRestoreProgressEvent.class, (IEventObserver) event.getSource()); applicationDelegate.removeEventObserver(DeletedItemRestoreCompletedEvent.class, (IEventObserver) event.getSource()); } } public void ancestorMoved(AncestorEvent event) { } }); this.initialized = true; } }
From source file:org.pentaho.reporting.engine.classic.core.modules.gui.commonswing.ExceptionDialog.java
private void init() { messages = new Messages(getLocale(), SwingCommonModule.BUNDLE_NAME, ObjectUtilities.getClassLoader(SwingCommonModule.class)); setModal(true);//w ww . ja v a 2s .c om detailsAction = new DetailsAction(); messageLabel = new JLabel(); backtraceArea = new JTextArea(); scroller = new JScrollPane(backtraceArea); scroller.setVisible(false); final JPanel detailPane = new JPanel(); detailPane.setLayout(new GridBagLayout()); GridBagConstraints gbc = new GridBagConstraints(); gbc.anchor = GridBagConstraints.CENTER; gbc.fill = GridBagConstraints.NONE; gbc.weightx = 0; gbc.weighty = 0; gbc.gridx = 0; gbc.gridy = 0; final JLabel icon = new JLabel(UIManager.getDefaults().getIcon("OptionPane.errorIcon")); //$NON-NLS-1$ icon.setBorder(BorderFactory.createEmptyBorder(10, 10, 10, 10)); detailPane.add(icon, gbc); gbc = new GridBagConstraints(); gbc.anchor = GridBagConstraints.WEST; gbc.fill = GridBagConstraints.NONE; gbc.weightx = 1; gbc.weighty = 1; gbc.gridx = 1; gbc.gridy = 0; detailPane.add(messageLabel); gbc = new GridBagConstraints(); gbc.anchor = GridBagConstraints.SOUTH; gbc.fill = GridBagConstraints.HORIZONTAL; gbc.weightx = 0; gbc.weighty = 0; gbc.gridx = 0; gbc.gridy = 2; gbc.gridwidth = 2; detailPane.add(createButtonPane(), gbc); filler = new JPanel(); filler.setPreferredSize(new Dimension(0, 0)); filler.setBackground(Color.green); gbc = new GridBagConstraints(); gbc.anchor = GridBagConstraints.NORTH; gbc.fill = GridBagConstraints.HORIZONTAL; gbc.weightx = 1; gbc.weighty = 5; gbc.gridx = 0; gbc.gridy = 3; gbc.gridwidth = 2; detailPane.add(filler, gbc); gbc = new GridBagConstraints(); gbc.anchor = GridBagConstraints.SOUTHWEST; gbc.fill = GridBagConstraints.BOTH; gbc.weightx = 1; gbc.weighty = 5; gbc.gridx = 0; gbc.gridy = 4; gbc.gridwidth = 2; detailPane.add(scroller, gbc); setContentPane(detailPane); }
From source file:org.pentaho.ui.xul.swing.SwingElement.java
public void layout() { super.layout(); double totalFlex = 0.0; if (isVisible() == false) { resetContainer();/*from w ww.j av a 2s .c om*/ return; } for (Element comp : getChildNodes()) { // if (comp.getManagedObject() == null) { // continue; // } if (((XulComponent) comp).getFlex() > 0) { flexLayout = true; totalFlex += ((XulComponent) comp).getFlex(); } } double currentFlexTotal = 0.0; Align alignment = (getAlign() != null) ? Align.valueOf(this.getAlign().toUpperCase()) : null; for (int i = 0; i < getChildNodes().size(); i++) { XulComponent comp = (XulComponent) getChildNodes().get(i); gc.fill = GridBagConstraints.BOTH; if (comp instanceof XulSplitter) { JPanel prevContainer = container; container = new ScrollablePanel(new GridBagLayout()); container.setOpaque(false); final JSplitPane splitter = new JSplitPane( (this.getOrientation() == Orient.VERTICAL) ? JSplitPane.VERTICAL_SPLIT : JSplitPane.HORIZONTAL_SPLIT, prevContainer, container); splitter.setContinuousLayout(true); final double splitterSize = currentFlexTotal / totalFlex; splitter.setResizeWeight(splitterSize); if (totalFlex > 0) { splitter.addComponentListener(new ComponentListener() { public void componentHidden(ComponentEvent arg0) { } public void componentMoved(ComponentEvent arg0) { } public void componentShown(ComponentEvent arg0) { } public void componentResized(ComponentEvent arg0) { splitter.setDividerLocation(splitterSize); splitter.removeComponentListener(this); } }); } if (!flexLayout) { if (this.getOrientation() == Orient.VERTICAL) { // VBox and such gc.weighty = 1.0; } else { gc.weightx = 1.0; } prevContainer.add(Box.createGlue(), gc); } setManagedObject(splitter); } Object maybeComponent = comp.getManagedObject(); if (maybeComponent == null || !(maybeComponent instanceof Component)) { continue; } if (this.getOrientation() == Orient.VERTICAL) { // VBox and such gc.gridheight = comp.getFlex() + 1; gc.gridwidth = GridBagConstraints.REMAINDER; gc.weighty = (totalFlex == 0) ? 0 : (comp.getFlex() / totalFlex); } else { gc.gridwidth = comp.getFlex() + 1; gc.gridheight = GridBagConstraints.REMAINDER; gc.weightx = (totalFlex == 0) ? 0 : (comp.getFlex() / totalFlex); } currentFlexTotal += comp.getFlex(); if (this.getOrientation() == Orient.VERTICAL) { // VBox and such if (alignment != null) { gc.fill = GridBagConstraints.NONE; switch (alignment) { case START: gc.anchor = GridBagConstraints.WEST; break; case CENTER: gc.anchor = GridBagConstraints.CENTER; break; case END: gc.anchor = GridBagConstraints.EAST; break; } } } else { if (alignment != null) { gc.fill = GridBagConstraints.NONE; switch (alignment) { case START: gc.anchor = GridBagConstraints.NORTH; break; case CENTER: gc.anchor = GridBagConstraints.CENTER; break; case END: gc.anchor = GridBagConstraints.SOUTH; break; } } } Component component = (Component) maybeComponent; if (comp.getWidth() > 0 || comp.getHeight() > 0) { Dimension minSize = component.getMinimumSize(); Dimension prefSize = component.getPreferredSize(); if (comp.getWidth() > 0) { minSize.width = comp.getWidth(); prefSize.width = comp.getWidth(); } if (comp.getHeight() > 0) { minSize.height = comp.getHeight(); prefSize.height = comp.getHeight(); } component.setMinimumSize(minSize); component.setPreferredSize(prefSize); } container.add(component, gc); if (i + 1 == getChildNodes().size() && !flexLayout) { if (this.getOrientation() == Orient.VERTICAL) { // VBox and such gc.weighty = 1.0; } else { gc.weightx = 1.0; } container.add(Box.createGlue(), gc); } } }
From source file:org.pentaho.ui.xul.swing.tags.SwingGrid.java
@Override public void layout() { if (this.getChildNodes().size() < 2) { logger.warn("Grid does not contain Column and Row children"); return;//w w w .ja v a 2 s . c o m } XulComponent columns = this.getChildNodes().get(0); XulComponent rows = this.getChildNodes().get(1); int colCount = 0; int rowCount = 0; float colFlexTotal = 0; float rowTotalFlex = 0; for (XulComponent col : columns.getChildNodes()) { if (col.getFlex() > 0) { colFlexTotal += col.getFlex(); } colCount++; } for (XulComponent row : rows.getChildNodes()) { if (row.getFlex() > 0) { rowTotalFlex += row.getFlex(); } rowCount++; } for (XulComponent row : rows.getChildNodes()) { gc.gridx = 0; for (XulComponent xulComp : row.getChildNodes()) { gc.weightx = 0.0; gc.gridwidth = 1; gc.gridheight = 1; gc.weighty = 0.0; gc.anchor = GridBagConstraints.NORTHWEST; gc.fill = GridBagConstraints.NONE; Component comp = (Component) xulComp.getManagedObject(); float colFlex = columns.getChildNodes().get(gc.gridx).getFlex(); int rowFlex = row.getFlex(); Align colAlignment = null; Align rowAlignment = null; String colAlignmentStr = xulComp.getAlign(); String rowAlignStr = row.getAlign(); if (colAlignmentStr != null) { colAlignment = Align.valueOf(colAlignmentStr); } if (rowAlignStr != null) { rowAlignment = Align.valueOf(rowAlignStr); } if (colFlex > 0) { gc.weightx = (colFlex / colFlexTotal); } if (rowFlex > 0) { gc.weighty = (rowFlex / rowTotalFlex); } if (colAlignment == Align.STRETCH && xulComp.getFlex() > 0) { gc.fill = GridBagConstraints.BOTH; } else if (colAlignment == Align.STRETCH) { gc.fill = GridBagConstraints.HORIZONTAL; } else if (xulComp.getFlex() > 0) { gc.fill = GridBagConstraints.VERTICAL; } if (row.getChildNodes().indexOf(xulComp) + 1 == row.getChildNodes().size()) { gc.gridwidth = GridBagConstraints.REMAINDER; } else { gc.gridwidth = 1; } if (rows.getChildNodes().indexOf(row) + 1 == rows.getChildNodes().size()) { gc.gridheight = GridBagConstraints.REMAINDER; } else { gc.gridheight = 1; } // gc.gridheight = row.getFlex() + 1; if (colAlignment != null && rowAlignment != null) { switch (rowAlignment) { case START: switch (colAlignment) { case START: gc.anchor = GridBagConstraints.NORTHWEST; break; case CENTER: gc.anchor = GridBagConstraints.NORTH; break; case END: gc.anchor = GridBagConstraints.NORTHEAST; break; } break; case CENTER: switch (colAlignment) { case START: gc.anchor = GridBagConstraints.WEST; break; case CENTER: gc.anchor = GridBagConstraints.CENTER; break; case END: gc.anchor = GridBagConstraints.EAST; break; } break; case END: switch (colAlignment) { case START: gc.anchor = GridBagConstraints.SOUTHWEST; break; case CENTER: gc.anchor = GridBagConstraints.SOUTH; break; case END: gc.anchor = GridBagConstraints.SOUTHEAST; break; } } } else if (rowAlignment != null) { switch (rowAlignment) { case START: gc.anchor = GridBagConstraints.NORTHWEST; break; case CENTER: gc.anchor = GridBagConstraints.WEST; break; case END: gc.anchor = GridBagConstraints.SOUTHWEST; break; } } else if (colAlignment != null) { switch (colAlignment) { case START: gc.anchor = GridBagConstraints.NORTHWEST; break; case CENTER: gc.anchor = GridBagConstraints.NORTH; break; case END: gc.anchor = GridBagConstraints.NORTHEAST; break; } } if (comp.getWidth() > 0 || comp.getHeight() > 0) { Dimension minSize = comp.getMinimumSize(); Dimension prefSize = comp.getPreferredSize(); if (comp.getWidth() > 0) { minSize.width = comp.getWidth(); prefSize.width = comp.getWidth(); } if (comp.getHeight() > 0) { minSize.height = comp.getHeight(); prefSize.height = comp.getHeight(); } comp.setMinimumSize(minSize); comp.setPreferredSize(prefSize); } else { comp.setPreferredSize(comp.getMinimumSize()); } grid.add(comp, gc); gc.gridx++; } gc.gridy++; } if (rowTotalFlex == 0) { // Add in an extra row at the bottom to push others up gc.gridy++; gc.weighty = 1; gc.fill = gc.REMAINDER; grid.add(Box.createGlue(), gc); } this.initialized = true; }
From source file:org.rapidcontext.app.ui.ControlPanel.java
/** * Initializes the panel UI.// w w w.j a v a2 s . co m */ private void initialize() { Rectangle bounds = new Rectangle(); GridBagConstraints c; JLabel label; Font font; Properties info; String str; // Set system UI looks if (SystemUtils.IS_OS_MAC_OSX || SystemUtils.IS_OS_WINDOWS) { try { UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName()); } catch (Exception ignore) { // Ah well... at least we tried. } } // Set title, menu & layout setDefaultCloseOperation(EXIT_ON_CLOSE); setTitle("RapidContext Server"); setMenuBar(menuBar); initializeMenu(); getContentPane().setLayout(new GridBagLayout()); try { logotype = ImageIO.read(getClass().getResource("logotype.png")); Image img = ImageIO.read(getClass().getResource("logotype-icon-256x256.png")); setIconImage(img); if (SystemUtils.IS_OS_MAC_OSX) { MacApplication.get().setDockIconImage(img); } } catch (Exception ignore) { // Again, we only do our best effort here } // Add logotype c = new GridBagConstraints(); c.gridheight = 5; c.insets = new Insets(6, 15, 10, 10); c.anchor = GridBagConstraints.NORTHWEST; Image small = logotype.getScaledInstance(128, 128, Image.SCALE_SMOOTH); getContentPane().add(new JLabel(new ImageIcon(small)), c); // Add link label c = new GridBagConstraints(); c.gridx = 1; c.insets = new Insets(10, 10, 2, 10); c.anchor = GridBagConstraints.WEST; getContentPane().add(new JLabel("Server URL:"), c); serverLink.setText("http://localhost:" + server.port + "/"); serverLink.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent evt) { try { AppUtils.openURL(serverLink.getText()); } catch (Exception e) { error(e.getMessage()); } } }); c = new GridBagConstraints(); c.gridx = 2; c.weightx = 1.0; c.insets = new Insets(10, 0, 2, 10); c.anchor = GridBagConstraints.WEST; getContentPane().add(serverLink, c); // Add login info label label = new JLabel("Login as 'admin' on a new server."); font = label.getFont(); font = font.deriveFont(Font.ITALIC, font.getSize() - 2); label.setFont(font); c = new GridBagConstraints(); c.gridx = 2; c.gridy = 1; c.gridwidth = 2; c.insets = new Insets(0, 0, 6, 10); c.anchor = GridBagConstraints.WEST; getContentPane().add(label, c); // Add status label c = new GridBagConstraints(); c.gridx = 1; c.gridy = 2; c.insets = new Insets(0, 10, 6, 10); c.anchor = GridBagConstraints.WEST; getContentPane().add(new JLabel("Status:"), c); c = new GridBagConstraints(); c.gridx = 2; c.gridy = 2; c.insets = new Insets(0, 0, 6, 10); c.anchor = GridBagConstraints.WEST; getContentPane().add(statusLabel, c); // Add version label c = new GridBagConstraints(); c.gridx = 1; c.gridy = 3; c.insets = new Insets(0, 10, 6, 10); c.anchor = GridBagConstraints.WEST; getContentPane().add(new JLabel("Version:"), c); c = new GridBagConstraints(); c.gridx = 2; c.gridy = 3; c.insets = new Insets(0, 0, 6, 10); c.anchor = GridBagConstraints.WEST; info = Main.buildInfo(); str = info.getProperty("build.version") + " (built " + info.getProperty("build.date") + ")"; getContentPane().add(new JLabel(str), c); // Add buttons startButton.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent evt) { start(); } }); c = new GridBagConstraints(); c.gridx = 1; c.gridy = 4; c.weighty = 1.0; c.insets = new Insets(0, 10, 10, 10); c.anchor = GridBagConstraints.SOUTH; getContentPane().add(startButton, c); stopButton.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent evt) { stop(); } }); c = new GridBagConstraints(); c.gridx = 2; c.gridy = 4; c.weighty = 1.0; c.insets = new Insets(0, 0, 10, 0); c.anchor = GridBagConstraints.SOUTHWEST; getContentPane().add(stopButton, c); // Set size & position pack(); bounds = this.getBounds(); bounds.width = 470; bounds.x = 100; bounds.y = 100; setBounds(bounds); }