// Method to build the dialog box for help. private void buildDialogBox() { // Set the JDialog window properties. setTitle("Stack Trace Detail"); setResizable(false); setSize(dialogWidth, dialogHeight); // Append the stack trace output to the display area. displayArea.append(eStackTrace); // Create horizontal and vertical scrollbars for box. displayBox = Box.createHorizontalBox(); displayBox = Box.createVerticalBox(); // Add a JScrollPane to the Box. displayBox.add(new JScrollPane(displayArea)); // Define behaviors of container. c.setLayout(null); c.add(displayBox); c.add(okButton); // Set scroll pane bounds. displayBox.setBounds( (dialogWidth / 2) - ((displayAreaWidth / 2) + 2), (top + (offsetMargin / 2)), displayAreaWidth, displayAreaHeight); // Set the behaviors, bounds and action listener for the button. okButton.setBounds( (dialogWidth / 2) - (buttonWidth / 2), (displayAreaHeight + offsetMargin), buttonWidth, buttonHeight); // Set the font to the platform default Font for the object with the // properties of bold and font size of 11. okButton.setFont(new Font(okButton.getFont().getName(), Font.BOLD, 11)); // The class implements the ActionListener interface and therefore // provides an implementation of the actionPerformed() method. When a // class implements ActionListener, the instance handler returns an // ActionListener. The ActionListener then performs actionPerformed() // method on an ActionEvent. okButton.addActionListener(this); // Set the screen and display dialog window in relation to screen size. setLocation((dim.width / 2) - (dialogWidth / 2), (dim.height / 2) - (dialogHeight / 2)); // Display JDialog. show(); } // End of buildDialogBox method.
private void drawComponents() { GridBagConstraints con = new GridBagConstraints(); con.gridx = 0; con.gridy = 0; con.gridwidth = 1; con.gridheight = 1; con.anchor = GridBagConstraints.NORTH; con.fill = GridBagConstraints.HORIZONTAL; con.insets = new Insets(5, 5, 5, 5); con.weightx = 0; con.weighty = 0; Box btns = Box.createHorizontalBox(); btns.add(btnDetails); btns.add(Box.createHorizontalGlue()); btns.add(btnClose); // Set up content Container content = getContentPane(); content.setLayout(new GridBagLayout()); // Add message label con.weightx = 1; con.weighty = 1; content.add(lblMessage, con); // Add button box con.gridy = 1; con.weighty = 0; content.add(btns, con); // Add trace pane con.gridy = 2; content.add(srlTrace, con); // Set default button getRootPane().setDefaultButton(btnClose); }
// Center given button in a box, centered vertically and 6 pixels on left and right private Box createBoxForButton(JButton button) { Box buttonRow = Box.createHorizontalBox(); buttonRow.add(Box.createHorizontalStrut(6)); buttonRow.add(button); buttonRow.add(Box.createHorizontalStrut(6)); Box buttonBox = Box.createVerticalBox(); buttonBox.add(Box.createVerticalGlue()); buttonBox.add(buttonRow); buttonBox.add(Box.createVerticalGlue()); return buttonBox; }