protected void setPanel(MouseDelegator md) { if (titleButton != null) { remove(titleButton); } titleButton = new JButton(); titleButton.addActionListener(this); String activeMode = md.getActiveMouseModeID(); MapMouseMode[] modes = md.getMouseModes(); rbs = new JPopupMenu("Mouse Modes"); dim = titleButton.getMinimumSize(); for (int i = 0; i < modes.length; i++) { JMenuItem rb = new JMenuItem(modes[i].getID()); rb.setActionCommand(newMouseModeCmd); rb.setName(modes[i].getID()); rb.setBorderPainted(false); /* if (Debug.debugging("mousemode")){ Debug.output("MouseModePanel.setPanel(): Adding " + rb.getName() + " button to menu."); } */ rb.addActionListener(this); if (activeMode.equals(modes[i].getID())) { /* if (Debug.debugging("mousemode")){ Debug.output("MouseModePanel.setPanel: Setting " + activeMode + " to active"); } */ rb.setSelected(true); titleButton.setText(activeMode); } rbs.add(rb); } this.setMinimumSize(dim); if (modes.length > 0) { border = new TitledBorder(new EtchedBorder(), "Mouse Mode"); setBorder(border); } titleButton.setActionCommand(mouseModeCmd); titleButton.setBorderPainted(false); add(titleButton); // HACK - the button keeps changing size depending on which // choice is made. I'd like to set the size based on the // size of the largest mouse mode name, but I can't figure out // when that's available, before we actually have to present // the button. // this.setPreferredSize(new Dimension(140, 45)); this.setPreferredSize(new Dimension(105, 45)); this.revalidate(); }
public ValueRenderer(Color colors[]) { super(colors); buttonIconRenderer = new JButton(); buttonIconRenderer.setBorderPainted(false); buttonIconRenderer.setContentAreaFilled(false); buttonIconRenderer.setText("(for AbstractButtons only)"); radioIconRenderer = new JRadioButton(); radioIconRenderer.setBorderPainted(false); radioIconRenderer.setText("for JRadioButtons only)"); checkboxIconRenderer = new JCheckBox(); checkboxIconRenderer.setBorderPainted(false); checkboxIconRenderer.setText("for JCheckBoxes only)"); menuItemIconRenderer = new JMenuItem(); menuItemIconRenderer.setBorderPainted(false); menuItemIconRenderer.setText("(for JMenuItems only)"); }
/** Creates two button: upButton and downButton. */ private void createButtons() { upButton = new JMenuItem(DataViewer.getIcon("icons/up.gif")); Dimension d = new Dimension(50, 16); upButton.setPreferredSize(d); upButton.setBorderPainted(false); upButton.setFocusPainted(false); // upButton.setRolloverEnabled( true ); class Up extends MouseAdapter { /** * When mouse enters over the upbutton, timerUp starts the scrolling upwards. * * @param e MouseEvent */ public void mouseEntered(MouseEvent e) { try { timerUp.start(); } catch (Exception ekas) { } } /** * When mouse exites the upbutton, timerUp stops. * * @param e MouseEvent */ public void mouseExited(MouseEvent e) { try { timerUp.stop(); } catch (Exception ekas) { } } } MouseListener scrollUpListener = new Up(); upButton.addMouseListener(scrollUpListener); add(upButton); downButton = new JMenuItem(DataViewer.getIcon("icons/attach.gif")); downButton.setPreferredSize(d); downButton.setBorderPainted(false); downButton.setFocusPainted(false); class Down extends MouseAdapter { /** * When mouse enters over the downbutton, timerDown starts the scrolling downwards. * * @param e MouseEvent */ public void mouseEntered(MouseEvent e) { try { timerDown.start(); } catch (Exception ekas) { } } /** * When mouse exites the downbutton, timerDown stops. * * @param e MouseEvent */ public void mouseExited(MouseEvent e) { try { timerDown.stop(); } catch (Exception ekas) { } } } MouseListener scrollDownListener = new Down(); downButton.addMouseListener(scrollDownListener); add(downButton); }