Search in sources :

Example 41 with TitledBorder

use of javax.swing.border.TitledBorder in project JMRI by JMRI.

the class JTitledSeparator method adjustLook.

private void adjustLook() {
    if (label != null) {
        Color titleColor = UIManager.getColor("TitledBorder.titleColor");
        Font font = UIManager.getFont("TitledBorder.font");
        if (titleColor == null || font == null) {
            TitledBorder titledBorder = new TitledBorder("");
            titleColor = titledBorder.getTitleColor();
            font = titledBorder.getTitleFont();
        }
        label.setForeground(titleColor);
        label.setFont(font);
    }
}
Also used : Color(java.awt.Color) TitledBorder(javax.swing.border.TitledBorder) Font(java.awt.Font)

Example 42 with TitledBorder

use of javax.swing.border.TitledBorder in project JMRI by JMRI.

the class SwitchboardEditor method setupToolBar.

private void setupToolBar() {
    //Initial setup for both horizontal and vertical
    Container contentPane = getContentPane();
    //remove these (if present) so we can add them back (without duplicates)
    if (editToolBarContainer != null) {
        editToolBarContainer.setVisible(false);
        contentPane.remove(editToolBarContainer);
    }
    //        if (helpBarPanel != null) {
    //            contentPane.remove(helpBarPanel);
    //        }
    editToolBarPanel = new JPanel();
    editToolBarPanel.setLayout(new BoxLayout(editToolBarPanel, BoxLayout.PAGE_AXIS));
    JPanel innerBorderPanel = new JPanel();
    innerBorderPanel.setLayout(new BoxLayout(innerBorderPanel, BoxLayout.PAGE_AXIS));
    TitledBorder TitleBorder = BorderFactory.createTitledBorder(Bundle.getMessage("SwitchboardHelpTitle"));
    innerBorderPanel.setBorder(TitleBorder);
    innerBorderPanel.add(new JTextArea(Bundle.getMessage("Help1")));
    if (!hideUnconnected()) {
        innerBorderPanel.add(new JTextArea(Bundle.getMessage("Help2")));
    // TODO hide this panel when hideUnconnected() is set to false from menu or checkbox
    }
    contentPane.add(innerBorderPanel);
    //Dimension screenDim = Toolkit.getDefaultToolkit().getScreenSize();
    editToolBarScroll = new JScrollPane(editToolBarPanel);
    //editToolBarScroll.getPreferredSize().height;
    height = 60;
    editToolBarContainer = new JPanel();
    editToolBarContainer.setLayout(new BoxLayout(editToolBarContainer, BoxLayout.PAGE_AXIS));
    editToolBarContainer.add(editToolBarScroll);
    editToolBarContainer.setMinimumSize(new Dimension(width, height));
    editToolBarContainer.setPreferredSize(new Dimension(width, height));
//        helpBarPanel = new JPanel();
//        helpBarPanel.add(helpBar);
//        for (Component c : helpBar.getComponents()) {
//            if (c instanceof JTextArea) {
//                JTextArea j = (JTextArea) c;
//                //j.setSize(new Dimension(width, j.getSize().height));
//                j.setLineWrap(true);
//                j.setWrapStyleWord(true);
//            }
//        }
//        contentPane.setLayout(new BoxLayout(contentPane, false ? BoxLayout.LINE_AXIS : BoxLayout.PAGE_AXIS));
//        contentPane.add(editToolBarContainer);
//        contentPane.add(helpBarPanel);
//helpBarPanel.setVisible(isEditable() && showHelpBar);
}
Also used : JScrollPane(javax.swing.JScrollPane) JPanel(javax.swing.JPanel) Container(java.awt.Container) JTextArea(javax.swing.JTextArea) BoxLayout(javax.swing.BoxLayout) Dimension(java.awt.Dimension) TitledBorder(javax.swing.border.TitledBorder)

Example 43 with TitledBorder

use of javax.swing.border.TitledBorder in project JMRI by JMRI.

the class AddSignalMastPanel method turnoutUnLitPanel.

void turnoutUnLitPanel() {
    turnoutUnLitPanel.setLayout(new BoxLayout(turnoutUnLitPanel, BoxLayout.Y_AXIS));
    JPanel turnDetails = new JPanel();
    turnDetails.add(turnoutUnLitBox);
    turnDetails.add(new JLabel(Bundle.getMessage("SetState")));
    turnDetails.add(turnoutUnLitState);
    turnoutUnLitPanel.add(turnDetails);
    TitledBorder border = BorderFactory.createTitledBorder(BorderFactory.createLineBorder(Color.black));
    border.setTitle(Bundle.getMessage("TurnUnLitDetails"));
    turnoutUnLitPanel.setBorder(border);
}
Also used : JPanel(javax.swing.JPanel) BoxLayout(javax.swing.BoxLayout) JLabel(javax.swing.JLabel) TitledBorder(javax.swing.border.TitledBorder)

Example 44 with TitledBorder

use of javax.swing.border.TitledBorder in project JMRI by JMRI.

the class SpeedoConsoleFrame method initComponents.

// FIXME: Why does the if statement in this method include a direct false?
@SuppressWarnings("unused")
@Override
public void initComponents() throws Exception {
    setTitle(title());
    getContentPane().setLayout(new BoxLayout(getContentPane(), BoxLayout.Y_AXIS));
    // What services do we have?
    dccServices = BASIC;
    if (InstanceManager.getNullableDefault(jmri.ProgrammerManager.class) != null && InstanceManager.getDefault(jmri.ProgrammerManager.class).isGlobalProgrammerAvailable()) {
        prog = InstanceManager.getDefault(jmri.ProgrammerManager.class).getGlobalProgrammer();
        dccServices |= PROG;
    }
    if (InstanceManager.getNullableDefault(jmri.ThrottleManager.class) != null) {
        // otherwise we'll send speed commands
        log.info("Using Throttle interface for profiling");
        dccServices |= THROTTLE;
    }
    if (InstanceManager.getNullableDefault(jmri.PowerManager.class) != null) {
        pm = InstanceManager.getDefault(jmri.PowerManager.class);
        pm.addPropertyChangeListener(this);
    }
    /*
         * Setup pane for basic operations
         */
    JPanel basicPane = new JPanel();
    basicPane.setLayout(new BoxLayout(basicPane, BoxLayout.Y_AXIS));
    // Scale panel to hold the scale selector
    JPanel scalePanel = new JPanel();
    scalePanel.setBorder(BorderFactory.createTitledBorder(BorderFactory.createEtchedBorder(), rb.getString("SelectScale")));
    scalePanel.setLayout(new FlowLayout());
    scaleList.setToolTipText("Select the scale");
    scaleList.setSelectedIndex(defaultScale);
    selectedScale = scales[defaultScale];
    // Listen to selection of scale
    scaleList.addActionListener(new java.awt.event.ActionListener() {

        // action semantics pass an Object that must be a JComboBox<String>
        @SuppressWarnings("unchecked")
        @Override
        public void actionPerformed(java.awt.event.ActionEvent e) {
            JComboBox<String> cb = (JComboBox<String>) e.getSource();
            selectedScale = scales[cb.getSelectedIndex()];
        // *** check if -1 and enable text entry box
        }
    });
    scaleLabel.setText(rb.getString("Scale"));
    scaleLabel.setVisible(true);
    readerLabel.setText(rb.getString("UnknownReader"));
    readerLabel.setVisible(true);
    scalePanel.add(scaleLabel);
    scalePanel.add(scaleList);
    scalePanel.add(readerLabel);
    basicPane.add(scalePanel);
    // Mode panel for selection of profile mode
    JPanel modePanel = new JPanel();
    modePanel.setBorder(BorderFactory.createTitledBorder(BorderFactory.createEtchedBorder(), rb.getString("SelectMode")));
    modePanel.setLayout(new FlowLayout());
    // Buttons to select the mode
    modeGroup.add(progButton);
    modeGroup.add(mainButton);
    progButton.setSelected(true);
    progButton.setToolTipText(rb.getString("TTProg"));
    mainButton.setToolTipText(rb.getString("TTMain"));
    modePanel.add(progButton);
    modePanel.add(mainButton);
    // Listen to change of profile mode
    progButton.addActionListener(new java.awt.event.ActionListener() {

        @Override
        public void actionPerformed(java.awt.event.ActionEvent e) {
            if (((dccServices & PROG) == PROG)) {
                // Programmer is available to read back CVs
                readAddressButton.setEnabled(true);
                statusLabel.setText(rb.getString("StatProg"));
            }
        }
    });
    mainButton.addActionListener(new java.awt.event.ActionListener() {

        @Override
        public void actionPerformed(java.awt.event.ActionEvent e) {
            // no programmer available to read back CVs
            readAddressButton.setEnabled(false);
            statusLabel.setText(rb.getString("StatMain"));
        }
    });
    basicPane.add(modePanel);
    // Speed panel for the dial or digital speed display
    JPanel speedPanel = new JPanel();
    speedPanel.setBorder(BorderFactory.createTitledBorder(BorderFactory.createEtchedBorder(), rb.getString("MeasuredSpeed")));
    speedPanel.setLayout(new BoxLayout(speedPanel, BoxLayout.X_AXIS));
    // Display Panel which is a card layout with cards to show
    // numeric or dial type speed display
    final JPanel displayCards = new JPanel();
    displayCards.setLayout(new CardLayout());
    // Numeric speed card
    JPanel numericSpeedPanel = new JPanel();
    numericSpeedPanel.setLayout(new BoxLayout(numericSpeedPanel, BoxLayout.X_AXIS));
    Font f = new Font("", Font.PLAIN, 96);
    speedTextField.setFont(f);
    speedTextField.setHorizontalAlignment(JTextField.RIGHT);
    speedTextField.setColumns(3);
    speedTextField.setText("0.0");
    speedTextField.setVisible(true);
    speedTextField.setToolTipText(rb.getString("SpeedHere"));
    numericSpeedPanel.add(speedTextField);
    // Dial speed card
    JPanel dialSpeedPanel = new JPanel();
    dialSpeedPanel.setLayout(new BoxLayout(dialSpeedPanel, BoxLayout.X_AXIS));
    dialSpeedPanel.add(speedoDialDisplay);
    speedoDialDisplay.update(0.0F);
    // Add cards to panel
    displayCards.add(dialSpeedPanel, "DIAL");
    displayCards.add(numericSpeedPanel, "NUMERIC");
    CardLayout cl = (CardLayout) displayCards.getLayout();
    cl.show(displayCards, "DIAL");
    // button panel
    JPanel buttonPanel = new JPanel();
    buttonPanel.setLayout(new BoxLayout(buttonPanel, BoxLayout.Y_AXIS));
    speedGroup.add(mphButton);
    speedGroup.add(kphButton);
    mphButton.setSelected(true);
    mphButton.setToolTipText(rb.getString("TTDisplayMPH"));
    kphButton.setToolTipText(rb.getString("TTDisplayKPH"));
    displayGroup.add(numButton);
    displayGroup.add(dialButton);
    dialButton.setSelected(true);
    numButton.setToolTipText(rb.getString("TTDisplayNumeric"));
    dialButton.setToolTipText(rb.getString("TTDisplayDial"));
    buttonPanel.add(mphButton);
    buttonPanel.add(kphButton);
    buttonPanel.add(numButton);
    buttonPanel.add(dialButton);
    speedPanel.add(displayCards);
    speedPanel.add(buttonPanel);
    // Listen to change of units, convert current average and update display
    mphButton.addActionListener(new java.awt.event.ActionListener() {

        @Override
        public void actionPerformed(java.awt.event.ActionEvent e) {
            profileGraphPane.setUnitsMph();
            profileGraphPane.repaint();
            speedoDialDisplay.setUnitsMph();
            speedoDialDisplay.update(currentSpeed);
            speedoDialDisplay.repaint();
        }
    });
    kphButton.addActionListener(new java.awt.event.ActionListener() {

        @Override
        public void actionPerformed(java.awt.event.ActionEvent e) {
            profileGraphPane.setUnitsKph();
            profileGraphPane.repaint();
            speedoDialDisplay.setUnitsKph();
            speedoDialDisplay.update(currentSpeed);
            speedoDialDisplay.repaint();
        }
    });
    // Listen to change of display
    numButton.addActionListener(new java.awt.event.ActionListener() {

        @Override
        public void actionPerformed(java.awt.event.ActionEvent e) {
            display = DisplayType.NUMERIC;
            CardLayout cl = (CardLayout) displayCards.getLayout();
            cl.show(displayCards, "NUMERIC");
        }
    });
    dialButton.addActionListener(new java.awt.event.ActionListener() {

        @Override
        public void actionPerformed(java.awt.event.ActionEvent e) {
            display = DisplayType.DIAL;
            CardLayout cl = (CardLayout) displayCards.getLayout();
            cl.show(displayCards, "DIAL");
        }
    });
    basicPane.add(speedPanel);
    /*
         * Pane for profiling loco speed curve
         */
    JPanel profilePane = new JPanel();
    profilePane.setLayout(new BorderLayout());
    JPanel addrPane = new JPanel();
    GridBagLayout gLayout = new GridBagLayout();
    GridBagConstraints gConstraints = new GridBagConstraints();
    gConstraints.insets = new Insets(3, 3, 3, 3);
    Border addrPaneBorder = javax.swing.BorderFactory.createEtchedBorder();
    TitledBorder addrPaneTitle = javax.swing.BorderFactory.createTitledBorder(addrPaneBorder, rb.getString("LocoSelection"));
    addrPane.setLayout(gLayout);
    addrPane.setBorder(addrPaneTitle);
    setButton = new JButton(rb.getString("ButtonSet"));
    setButton.addActionListener(new ActionListener() {

        @Override
        public void actionPerformed(ActionEvent e) {
            changeOfAddress();
        }
    });
    addrSelector.setAddress(null);
    rosterBox = new GlobalRosterEntryComboBox();
    rosterBox.setNonSelectedItem(rb.getString("NoLocoSelected"));
    rosterBox.setToolTipText(rb.getString("TTSelectLocoFromRoster"));
    /*
         Using an ActionListener didn't select a loco from the ComboBox properly
         so changed it to a PropertyChangeListener approach modeled on the code
         in CombinedLocoSelPane class, layoutRosterSelection method, which is known to work.
         Not sure why the ActionListener didn't work properly, but this fixes the bug
         */
    rosterBox.addPropertyChangeListener(RosterEntrySelector.SELECTED_ROSTER_ENTRIES, new PropertyChangeListener() {

        @Override
        public void propertyChange(PropertyChangeEvent pce) {
            if (!disableRosterBoxActions) {
                //Have roster box actions been disabled?
                rosterItemSelected();
            }
        }
    });
    readAddressButton.setToolTipText(rb.getString("ReadLoco"));
    addrPane.add(addrSelector.getCombinedJPanel(), gConstraints);
    addrPane.add(new JLabel(" "), gConstraints);
    addrPane.add(setButton, gConstraints);
    addrPane.add(new JLabel(" "), gConstraints);
    addrPane.add(rosterBox, gConstraints);
    addrPane.add(new JLabel(" "), gConstraints);
    addrPane.add(readAddressButton, gConstraints);
    if (((dccServices & PROG) != PROG) || (mainButton.isSelected())) {
        // No programming facility so user must enter address
        addrSelector.setEnabled(false);
        readAddressButton.setEnabled(false);
    } else {
        addrSelector.setEnabled(true);
        readAddressButton.setEnabled(true);
    }
    // Listen to read button
    readAddressButton.addActionListener(new java.awt.event.ActionListener() {

        @Override
        public void actionPerformed(java.awt.event.ActionEvent e) {
            readAddress();
        }
    });
    profilePane.add(addrPane, BorderLayout.NORTH);
    // pane to hold the graph
    // 28 step plus step 0
    spFwd = new DccSpeedProfile(29);
    // 28 step plus step 0
    spRev = new DccSpeedProfile(29);
    // 28 step plus step 0
    spRef = new DccSpeedProfile(29);
    profileGraphPane = new GraphPane(spFwd, spRev, spRef);
    profileGraphPane.setPreferredSize(new Dimension(600, 300));
    profileGraphPane.setXLabel(rb.getString("SpeedStep"));
    profileGraphPane.setUnitsMph();
    profilePane.add(profileGraphPane, BorderLayout.CENTER);
    // pane to hold the buttons
    JPanel profileButtonPane = new JPanel();
    profileButtonPane.setLayout(new FlowLayout());
    profileButtonPane.add(trackPowerButton);
    trackPowerButton.setToolTipText(rb.getString("TTPower"));
    profileButtonPane.add(startProfileButton);
    startProfileButton.setToolTipText(rb.getString("TTStartProfile"));
    profileButtonPane.add(stopProfileButton);
    stopProfileButton.setToolTipText(rb.getString("TTStopProfile"));
    profileButtonPane.add(exportProfileButton);
    exportProfileButton.setToolTipText(rb.getString("TTSaveProfile"));
    profileButtonPane.add(printProfileButton);
    printProfileButton.setToolTipText(rb.getString("TTPrintProfile"));
    profileButtonPane.add(resetGraphButton);
    resetGraphButton.setToolTipText(rb.getString("TTResetGraph"));
    profileButtonPane.add(loadProfileButton);
    loadProfileButton.setToolTipText(rb.getString("TTLoadProfile"));
    // pane to hold the title
    JPanel profileTitlePane = new JPanel();
    profileTitlePane.setLayout(new BoxLayout(profileTitlePane, BoxLayout.X_AXIS));
    //       JTextArea profileTitle = new JTextArea("Title: ");
    //       profileTitlePane.add(profileTitle);
    printTitleText.setToolTipText(rb.getString("TTPrintTitle"));
    printTitleText.setText("Bachrus MTS-DCC profile for loco <unknown>");
    profileTitlePane.add(printTitleText);
    // pane to wrap buttons and title
    JPanel profileSouthPane = new JPanel();
    profileSouthPane.setLayout(new BoxLayout(profileSouthPane, BoxLayout.Y_AXIS));
    profileSouthPane.add(profileButtonPane);
    profileSouthPane.add(profileTitlePane);
    // Listen to track Power button
    trackPowerButton.addActionListener(new java.awt.event.ActionListener() {

        @Override
        public void actionPerformed(java.awt.event.ActionEvent e) {
            trackPower();
        }
    });
    // Listen to start button
    startProfileButton.addActionListener(new java.awt.event.ActionListener() {

        @Override
        public void actionPerformed(java.awt.event.ActionEvent e) {
            startProfile();
        }
    });
    // Listen to stop button
    stopProfileButton.addActionListener(new java.awt.event.ActionListener() {

        @Override
        public void actionPerformed(java.awt.event.ActionEvent e) {
            stopProfile();
        }
    });
    // Listen to grid button
    toggleGridButton.addActionListener(new java.awt.event.ActionListener() {

        @Override
        public void actionPerformed(java.awt.event.ActionEvent e) {
            profileGraphPane.showGrid(toggleGridButton.isSelected());
            profileGraphPane.repaint();
        }
    });
    // Listen to export button
    exportProfileButton.addActionListener(new java.awt.event.ActionListener() {

        @Override
        public void actionPerformed(java.awt.event.ActionEvent e) {
            if (dirFwdButton.isSelected() && dirRevButton.isSelected()) {
                DccSpeedProfile[] sp = { spFwd, spRev };
                DccSpeedProfile.export(sp, profileAddress, profileGraphPane.getUnits());
            } else if (dirFwdButton.isSelected()) {
                DccSpeedProfile.export(spFwd, profileAddress, "fwd", profileGraphPane.getUnits());
            } else if (dirRevButton.isSelected()) {
                DccSpeedProfile.export(spRev, profileAddress, "rev", profileGraphPane.getUnits());
            }
        }
    });
    // Listen to print button
    printProfileButton.addActionListener(new java.awt.event.ActionListener() {

        @Override
        public void actionPerformed(java.awt.event.ActionEvent e) {
            profileGraphPane.printProfile(printTitleText.getText());
        }
    });
    // Listen to reset graph button
    resetGraphButton.addActionListener(new java.awt.event.ActionListener() {

        @Override
        public void actionPerformed(java.awt.event.ActionEvent e) {
            spFwd.clear();
            spRev.clear();
            spRef.clear();
            speedoDialDisplay.reset();
            profileGraphPane.repaint();
        }
    });
    // Listen to Load Reference button
    loadProfileButton.addActionListener(new java.awt.event.ActionListener() {

        @Override
        public void actionPerformed(java.awt.event.ActionEvent e) {
            spRef.clear();
            int response = spRef.importDccProfile(profileGraphPane.getUnits());
            if (response == -1) {
                statusLabel.setText(rb.getString("StatFileError"));
            } else {
                statusLabel.setText(rb.getString("StatFileSuccess"));
            }
            profileGraphPane.repaint();
        }
    });
    profilePane.add(profileSouthPane, BorderLayout.SOUTH);
    // Pane to hold controls
    JPanel profileControlPane = new JPanel();
    profileControlPane.setLayout(new BoxLayout(profileControlPane, BoxLayout.Y_AXIS));
    dirFwdButton.setSelected(true);
    dirFwdButton.setToolTipText(rb.getString("TTMeasFwd"));
    dirRevButton.setToolTipText(rb.getString("TTMeasRev"));
    dirFwdButton.setForeground(Color.RED);
    dirRevButton.setForeground(Color.BLUE);
    profileControlPane.add(dirFwdButton);
    profileControlPane.add(dirRevButton);
    toggleGridButton.setSelected(true);
    profileControlPane.add(toggleGridButton);
    profileGraphPane.showGrid(toggleGridButton.isSelected());
    profilePane.add(profileControlPane, BorderLayout.EAST);
    /*
         * Create the tabbed pane and add the panes
         */
    //        JTabbedPane tabbedPane = new JTabbedPane();
    JPanel tabbedPane = new JPanel();
    tabbedPane.setLayout(new BoxLayout(tabbedPane, BoxLayout.X_AXIS));
    // make basic panel
    //        tabbedPane.addTab(rb.getString("Setup"), null, basicPane, "Basic Speedo Operation");
    tabbedPane.add(basicPane);
    if (((dccServices & THROTTLE) == THROTTLE) || ((dccServices & COMMAND) == COMMAND)) {
        //            tabbedPane.addTab(rb.getString("Profile"), null, profilePane, "Profile Loco");
        tabbedPane.add(profilePane);
    }
    // connect to TrafficController
    tc = _memo.getTrafficController();
    tc.addSpeedoListener(this);
    // add help menu to window
    addHelpMenu("package.jmri.jmrix.bachrus.SpeedoConsoleFrame", true);
    // Create a wrapper with a status line and add the main content
    JPanel statusWrapper = new JPanel();
    statusWrapper.setLayout(new BorderLayout());
    JPanel statusPanel = new JPanel();
    statusPanel.setLayout(new BorderLayout());
    statusPanel.add(statusLabel, BorderLayout.WEST);
    statusPanel.setBorder(BorderFactory.createEtchedBorder(EtchedBorder.RAISED));
    statusWrapper.add(tabbedPane, BorderLayout.CENTER);
    statusWrapper.add(statusPanel, BorderLayout.SOUTH);
    getContentPane().add(statusWrapper);
    // pack for display
    pack();
    speedoDialDisplay.scaleFace();
}
Also used : JPanel(javax.swing.JPanel) GridBagConstraints(java.awt.GridBagConstraints) FlowLayout(java.awt.FlowLayout) ActionListener(java.awt.event.ActionListener) Insets(java.awt.Insets) GridBagLayout(java.awt.GridBagLayout) PropertyChangeListener(java.beans.PropertyChangeListener) ActionEvent(java.awt.event.ActionEvent) BoxLayout(javax.swing.BoxLayout) JButton(javax.swing.JButton) TitledBorder(javax.swing.border.TitledBorder) Font(java.awt.Font) PowerManager(jmri.PowerManager) BorderLayout(java.awt.BorderLayout) GlobalRosterEntryComboBox(jmri.jmrit.roster.swing.GlobalRosterEntryComboBox) CardLayout(java.awt.CardLayout) PropertyChangeEvent(java.beans.PropertyChangeEvent) JComboBox(javax.swing.JComboBox) JLabel(javax.swing.JLabel) Dimension(java.awt.Dimension) ActionEvent(java.awt.event.ActionEvent) ActionListener(java.awt.event.ActionListener) Border(javax.swing.border.Border) TitledBorder(javax.swing.border.TitledBorder) EtchedBorder(javax.swing.border.EtchedBorder)

Example 45 with TitledBorder

use of javax.swing.border.TitledBorder in project cytoscape-api by cytoscape.

the class LookAndFeelUtil method createTitledBorder.

/**
	 * Use this method to create a Titled Border which looks native on the current Look and Feel.
	 * The major problem is that the default border created by {@link BorderFactory#createTitledBorder(String)}
	 * does not look good on the "Aqua" Look and Feel (Mac OS X).
	 * @return The proper {@link Border} for the current Look and Feel.
	 */
public static Border createTitledBorder(final String title) {
    final Border border;
    if (title == null || title.trim().isEmpty()) {
        final Border aquaBorder = isAquaLAF() ? UIManager.getBorder("InsetBorder.aquaVariant") : null;
        border = aquaBorder != null ? aquaBorder : BorderFactory.createTitledBorder("SAMPLE").getBorder();
    } else {
        final Border aquaBorder = isAquaLAF() ? UIManager.getBorder("TitledBorder.aquaVariant") : null;
        final TitledBorder tb = aquaBorder != null ? BorderFactory.createTitledBorder(aquaBorder, title) : BorderFactory.createTitledBorder(title);
        if (isAquaLAF())
            tb.setTitleFont(UIManager.getFont("Label.font").deriveFont(getSmallFontSize()));
        border = tb;
    }
    return border;
}
Also used : TitledBorder(javax.swing.border.TitledBorder) Border(javax.swing.border.Border) TitledBorder(javax.swing.border.TitledBorder)

Aggregations

TitledBorder (javax.swing.border.TitledBorder)143 JPanel (javax.swing.JPanel)94 GridBagConstraints (java.awt.GridBagConstraints)59 GridBagLayout (java.awt.GridBagLayout)50 JLabel (javax.swing.JLabel)50 BorderLayout (java.awt.BorderLayout)45 Insets (java.awt.Insets)43 JScrollPane (javax.swing.JScrollPane)34 Dimension (java.awt.Dimension)30 JButton (javax.swing.JButton)29 EtchedBorder (javax.swing.border.EtchedBorder)28 ActionEvent (java.awt.event.ActionEvent)25 EmptyBorder (javax.swing.border.EmptyBorder)25 Border (javax.swing.border.Border)23 ActionListener (java.awt.event.ActionListener)21 JCheckBox (javax.swing.JCheckBox)19 GridLayout (java.awt.GridLayout)18 JTextField (javax.swing.JTextField)16 Color (java.awt.Color)15 Box (javax.swing.Box)12