Search in sources :

Example 56 with GridLayout

use of java.awt.GridLayout in project JMRI by JMRI.

the class RosterGroupsPanel method getButtons.

private JToolBar getButtons() {
    JToolBar controls = new JToolBar();
    controls.setLayout(new GridLayout(1, 0, 0, 0));
    controls.setFloatable(false);
    final JToggleButton addGroupBtn = new JToggleButton(new ImageIcon(FileUtil.findURL("resources/icons/misc/gui3/Add.png")), false);
    final JToggleButton actGroupBtn = new JToggleButton(new ImageIcon(FileUtil.findURL("resources/icons/misc/gui3/Action.png")), false);
    addGroupBtn.addActionListener(new ActionListener() {

        @Override
        public void actionPerformed(ActionEvent e) {
            new CreateRosterGroupAction("", scrollPane.getTopLevelAncestor()).actionPerformed(e);
            addGroupBtn.setSelected(false);
        }
    });
    actGroupBtn.addItemListener(new ItemListener() {

        @Override
        public void itemStateChanged(ItemEvent ie) {
            if (ie.getStateChange() == ItemEvent.SELECTED) {
                TreePath g = new TreePath(_model.getPathToRoot(_groups));
                if (_tree.getSelectionPath() != null) {
                    if (_tree.getSelectionPath().getLastPathComponent().toString().equals(Roster.ALLENTRIES)) {
                        allEntriesMenu.show((JComponent) ie.getSource(), actGroupBtn.getX() - actGroupBtn.getWidth(), actGroupBtn.getY() - allEntriesMenu.getPreferredSize().height);
                    } else if (g.isDescendant(_tree.getSelectionPath()) && !_tree.getSelectionPath().isDescendant(g)) {
                        groupsMenu.show((JComponent) ie.getSource(), actGroupBtn.getX() - actGroupBtn.getWidth(), actGroupBtn.getY() - groupsMenu.getPreferredSize().height);
                    }
                }
            }
        }
    });
    PopupMenuListener PML = new PopupMenuListener() {

        @Override
        public void popupMenuWillBecomeVisible(PopupMenuEvent pme) {
        // do nothing
        }

        @Override
        public void popupMenuWillBecomeInvisible(PopupMenuEvent pme) {
            actGroupBtn.setSelected(false);
        }

        @Override
        public void popupMenuCanceled(PopupMenuEvent pme) {
            actGroupBtn.setSelected(false);
        }
    };
    allEntriesMenu.addPopupMenuListener(PML);
    groupsMenu.addPopupMenuListener(PML);
    controls.add(addGroupBtn);
    controls.add(actGroupBtn);
    return controls;
}
Also used : ImageIcon(javax.swing.ImageIcon) ItemEvent(java.awt.event.ItemEvent) ActionEvent(java.awt.event.ActionEvent) PopupMenuListener(javax.swing.event.PopupMenuListener) JComponent(javax.swing.JComponent) JToolBar(javax.swing.JToolBar) PopupMenuEvent(javax.swing.event.PopupMenuEvent) GridLayout(java.awt.GridLayout) JToggleButton(javax.swing.JToggleButton) ActionListener(java.awt.event.ActionListener) TreePath(javax.swing.tree.TreePath) ItemListener(java.awt.event.ItemListener)

Example 57 with GridLayout

use of java.awt.GridLayout in project JMRI by JMRI.

the class ControlPanelPropertyEditor method initGUI.

/**
     * Create, initilize, and place the GUI objects.
     */
private void initGUI() {
    this.setDefaultCloseOperation(JDialog.HIDE_ON_CLOSE);
    this.setTitle(Bundle.getMessage("TitleEditSpeedControlPanel"));
    JPanel mainPanel = new JPanel();
    this.setContentPane(mainPanel);
    mainPanel.setLayout(new BorderLayout());
    JPanel propertyPanel = new JPanel();
    propertyPanel.setLayout(new GridBagLayout());
    GridBagConstraints constraints = new GridBagConstraints();
    constraints.anchor = GridBagConstraints.WEST;
    constraints.fill = GridBagConstraints.HORIZONTAL;
    constraints.gridheight = 1;
    constraints.gridwidth = 1;
    constraints.ipadx = 0;
    constraints.ipady = 0;
    Insets insets = new Insets(2, 2, 2, 2);
    constraints.insets = insets;
    constraints.weightx = 1;
    constraints.weighty = 1;
    constraints.gridx = 0;
    constraints.gridy = 0;
    ButtonGroup modeSelectionButtons = new ButtonGroup();
    displaySlider = new JRadioButton(Bundle.getMessage("ButtonDisplaySpeedSlider"));
    displaySliderContinuous = new JRadioButton(Bundle.getMessage("ButtonDisplaySpeedSliderContinuous"));
    displaySteps = new JRadioButton(Bundle.getMessage("ButtonDisplaySpeedSteps"));
    modeSelectionButtons.add(displaySlider);
    modeSelectionButtons.add(displaySteps);
    modeSelectionButtons.add(displaySliderContinuous);
    _displaySlider = control.getDisplaySlider();
    constraints.anchor = GridBagConstraints.CENTER;
    constraints.gridy = 1;
    propertyPanel.add(displaySlider, constraints);
    constraints.gridy = 2;
    propertyPanel.add(displaySteps, constraints);
    constraints.gridy = 3;
    propertyPanel.add(displaySliderContinuous, constraints);
    trackBox = new JCheckBox(Bundle.getMessage("CheckBoxTrackSliderInRealTime"));
    constraints.gridy = 4;
    trackBox.setSelected(control.getTrackSlider());
    propertyPanel.add(trackBox, constraints);
    JLabel functionSwitchLabel = new JLabel(Bundle.getMessage("SwitchSliderOnFunction"));
    functionSwitchSlider = new JTextField(4);
    functionSwitchSlider.setText(control.getSwitchSliderFunction());
    constraints.gridy = 5;
    constraints.gridx = 0;
    propertyPanel.add(functionSwitchLabel, constraints);
    constraints.gridx = 1;
    propertyPanel.add(functionSwitchSlider, constraints);
    displaySlider.setSelected(_displaySlider == ControlPanel.SLIDERDISPLAY);
    displaySteps.setSelected(_displaySlider == ControlPanel.STEPDISPLAY);
    displaySliderContinuous.setSelected(_displaySlider == ControlPanel.SLIDERDISPLAYCONTINUOUS);
    displaySlider.addActionListener(new ActionListener() {

        @Override
        public void actionPerformed(ActionEvent e) {
            displaySlider.setSelected(true);
            displaySteps.setSelected(false);
            displaySliderContinuous.setSelected(false);
            _displaySlider = ControlPanel.SLIDERDISPLAY;
        }
    });
    displaySteps.addActionListener(new ActionListener() {

        @Override
        public void actionPerformed(ActionEvent e) {
            displaySlider.setSelected(false);
            displaySteps.setSelected(true);
            displaySliderContinuous.setSelected(false);
            _displaySlider = ControlPanel.STEPDISPLAY;
        }
    });
    displaySliderContinuous.addActionListener(new ActionListener() {

        @Override
        public void actionPerformed(ActionEvent e) {
            displaySlider.setSelected(false);
            displaySteps.setSelected(false);
            displaySliderContinuous.setSelected(true);
            _displaySlider = ControlPanel.SLIDERDISPLAYCONTINUOUS;
        }
    });
    // disable the speed controls if the control panel says they 
    // aren't possible
    displaySlider.setEnabled(control.isSpeedControllerAvailable(ControlPanel.SLIDERDISPLAY));
    displaySteps.setEnabled(control.isSpeedControllerAvailable(ControlPanel.STEPDISPLAY));
    displaySliderContinuous.setEnabled(control.isSpeedControllerAvailable(ControlPanel.SLIDERDISPLAYCONTINUOUS));
    JPanel buttonPanel = new JPanel();
    buttonPanel.setLayout(new GridLayout(1, 2, 4, 4));
    JButton saveButton = new JButton(Bundle.getMessage("ButtonOK"));
    saveButton.addActionListener(new ActionListener() {

        @Override
        public void actionPerformed(ActionEvent e) {
            saveProperties();
        }
    });
    JButton cancelButton = new JButton(Bundle.getMessage("ButtonCancel"));
    cancelButton.addActionListener(new ActionListener() {

        @Override
        public void actionPerformed(ActionEvent e) {
            finishEdit();
        }
    });
    buttonPanel.add(saveButton);
    buttonPanel.add(cancelButton);
    mainPanel.add(propertyPanel, BorderLayout.CENTER);
    mainPanel.add(buttonPanel, BorderLayout.SOUTH);
}
Also used : JPanel(javax.swing.JPanel) GridBagConstraints(java.awt.GridBagConstraints) Insets(java.awt.Insets) JRadioButton(javax.swing.JRadioButton) GridBagLayout(java.awt.GridBagLayout) ActionEvent(java.awt.event.ActionEvent) JButton(javax.swing.JButton) JLabel(javax.swing.JLabel) JTextField(javax.swing.JTextField) JCheckBox(javax.swing.JCheckBox) GridLayout(java.awt.GridLayout) BorderLayout(java.awt.BorderLayout) ActionListener(java.awt.event.ActionListener) ButtonGroup(javax.swing.ButtonGroup)

Example 58 with GridLayout

use of java.awt.GridLayout in project JMRI by JMRI.

the class DieselPane method initComponents.

@Override
public void initComponents() {
    listenerList = new javax.swing.event.EventListenerList();
    this.setLayout(new GridLayout(2, 0));
    //Setup the throttle slider.
    throttle_slider = new JSlider(JSlider.HORIZONTAL, THROTTLE_MIN, THROTTLE_MAX, THROTTLE_INIT);
    throttle_slider.setMajorTickSpacing(1);
    throttle_slider.setPaintTicks(true);
    throttle_slider.setMinimumSize(new Dimension(400, 0));
    throttle_slider.setSnapToTicks(true);
    throttle_slider.addChangeListener(new ChangeListener() {

        @Override
        public void stateChanged(ChangeEvent e) {
            throttleChange(e);
        }
    });
    this.add(throttle_slider);
    // Setup the start button
    start_button = new JToggleButton();
    start_button.setText("Engine Start");
    start_button.addActionListener(new ActionListener() {

        @Override
        public void actionPerformed(ActionEvent e) {
            startButtonChange(e);
        }
    });
    this.add(start_button);
    throttle_slider.setVisible(true);
    start_button.setVisible(true);
    this.setVisible(true);
    this.setBorder(BorderFactory.createEmptyBorder(5, 5, 5, 5));
}
Also used : GridLayout(java.awt.GridLayout) ChangeEvent(javax.swing.event.ChangeEvent) PropertyChangeEvent(java.beans.PropertyChangeEvent) JToggleButton(javax.swing.JToggleButton) ActionListener(java.awt.event.ActionListener) ActionEvent(java.awt.event.ActionEvent) JSlider(javax.swing.JSlider) ChangeListener(javax.swing.event.ChangeListener) Dimension(java.awt.Dimension)

Example 59 with GridLayout

use of java.awt.GridLayout in project JMRI by JMRI.

the class RosterFrame method bottomRight.

JPanel bottomRight() {
    JPanel panel = new JPanel();
    panel.setLayout(new BoxLayout(panel, BoxLayout.Y_AXIS));
    ButtonGroup progMode = new ButtonGroup();
    progMode.add(service);
    progMode.add(ops);
    progMode.add(edit);
    service.setEnabled(false);
    ops.setEnabled(false);
    edit.setEnabled(true);
    firePropertyChange("setprogservice", "setEnabled", false);
    firePropertyChange("setprogops", "setEnabled", false);
    firePropertyChange("setprogedit", "setEnabled", true);
    ops.setOpaque(false);
    service.setOpaque(false);
    edit.setOpaque(false);
    JPanel progModePanel = new JPanel();
    GridLayout buttonLayout = new GridLayout(3, 1, 0, 0);
    progModePanel.setLayout(buttonLayout);
    progModePanel.add(service);
    progModePanel.add(ops);
    progModePanel.add(edit);
    programModeListener = (ActionEvent e) -> {
        updateProgMode();
    };
    service.addActionListener(programModeListener);
    ops.addActionListener(programModeListener);
    edit.addActionListener(programModeListener);
    service.setVisible(false);
    ops.setVisible(false);
    panel.add(progModePanel);
    JPanel buttonHolder = new JPanel(new GridBagLayout());
    GridBagConstraints c = new GridBagConstraints();
    c.weightx = 1.0;
    c.fill = GridBagConstraints.HORIZONTAL;
    c.anchor = GridBagConstraints.NORTH;
    c.gridx = 0;
    c.ipady = 20;
    c.gridwidth = GridBagConstraints.REMAINDER;
    c.gridy = 0;
    c.insets = new Insets(2, 2, 2, 2);
    buttonHolder.add(prog1Button, c);
    c.weightx = 1;
    c.fill = GridBagConstraints.NONE;
    c.gridx = 0;
    c.gridy = 1;
    c.gridwidth = 1;
    c.ipady = 0;
    buttonHolder.add(rosterMedia, c);
    c.weightx = 1.0;
    c.fill = GridBagConstraints.NONE;
    c.gridx = 1;
    c.gridy = 1;
    c.gridwidth = 1;
    c.ipady = 0;
    buttonHolder.add(throttleLaunch, c);
    //buttonHolder.add(throttleLaunch);
    panel.add(buttonHolder);
    prog1Button.setEnabled(false);
    prog1Button.addActionListener((ActionEvent e) -> {
        if (log.isDebugEnabled()) {
            log.debug("Open programmer pressed");
        }
        startProgrammer(null, re, programmer1);
    });
    /*
         * prog2Button.setEnabled(false); prog2Button.addActionListener( new
         * ActionListener() { public void
         * actionPerformed(java.awt.event.ActionEvent e) { if
         * (log.isDebugEnabled()) log.debug("Open progDebugger pressed");
         * startProgrammer(null, re, programmer2); } });
         */
    /*
         * throttleLabels.setEnabled(false); throttleLabels.addActionListener(
         * new ActionListener() { public void
         * actionPerformed(java.awt.event.ActionEvent e) { if
         * (log.isDebugEnabled()) log.debug("Open progDebugger pressed");
         * editMediaButton(); } });
         */
    rosterMedia.setEnabled(false);
    rosterMedia.addActionListener((ActionEvent e) -> {
        if (log.isDebugEnabled()) {
            log.debug("Open programmer pressed");
        }
        edit.setSelected(true);
        startProgrammer(null, re, "dp3" + File.separator + "MediaPane");
    });
    throttleLaunch.setEnabled(false);
    throttleLaunch.addActionListener((ActionEvent e) -> {
        if (log.isDebugEnabled()) {
            log.debug("Launch Throttle pressed");
        }
        if (!checkIfEntrySelected()) {
            return;
        }
        ThrottleFrame tf = ThrottleFrameManager.instance().createThrottleFrame();
        tf.toFront();
        tf.getAddressPanel().setRosterEntry(re);
    });
    return panel;
}
Also used : JPanel(javax.swing.JPanel) GridLayout(java.awt.GridLayout) GridBagConstraints(java.awt.GridBagConstraints) Insets(java.awt.Insets) GridBagLayout(java.awt.GridBagLayout) ButtonGroup(javax.swing.ButtonGroup) ActionEvent(java.awt.event.ActionEvent) BoxLayout(javax.swing.BoxLayout) ThrottleFrame(jmri.jmrit.throttle.ThrottleFrame)

Example 60 with GridLayout

use of java.awt.GridLayout in project JMRI by JMRI.

the class VSDSoundsPanel method initComponents.

@Override
public void initComponents() {
    this.setLayout(new GridLayout(0, 3));
    if (main_pane.getDecoder() == null) {
        log.debug("No decoder!");
        return;
    }
    ArrayList<SoundEvent> elist = new ArrayList<SoundEvent>(main_pane.getDecoder().getEventList());
    for (SoundEvent e : elist) {
        if (e.getButton() != null) {
            log.debug("adding button " + e.getButton().toString());
        }
        this.add(e.getButton());
    }
}
Also used : GridLayout(java.awt.GridLayout) ArrayList(java.util.ArrayList)

Aggregations

GridLayout (java.awt.GridLayout)189 JPanel (javax.swing.JPanel)149 JLabel (javax.swing.JLabel)79 BorderLayout (java.awt.BorderLayout)67 Dimension (java.awt.Dimension)51 JButton (javax.swing.JButton)41 ActionEvent (java.awt.event.ActionEvent)36 JScrollPane (javax.swing.JScrollPane)34 ActionListener (java.awt.event.ActionListener)32 Insets (java.awt.Insets)28 JCheckBox (javax.swing.JCheckBox)28 JTextField (javax.swing.JTextField)28 GridBagConstraints (java.awt.GridBagConstraints)24 GridBagLayout (java.awt.GridBagLayout)23 ButtonGroup (javax.swing.ButtonGroup)22 FlowLayout (java.awt.FlowLayout)21 BoxLayout (javax.swing.BoxLayout)21 TitledBorder (javax.swing.border.TitledBorder)19 PlotCanvas (smile.plot.PlotCanvas)16 EmptyBorder (javax.swing.border.EmptyBorder)15