private void setupToolBar() { // setup the buttons buttonRecord.setIcon(imageiconRecord); buttonRecord.setDisabledIcon(imageiconRecordDisabled); buttonRecord.setPressedIcon(imageiconRecordDisabled); buttonRecord.setBorderPainted(false); buttonPause.setIcon(imageiconPause); buttonPause.setDisabledIcon(imageiconPauseDisabled); buttonPause.setPressedIcon(imageiconPauseDisabled); buttonPause.setBorderPainted(false); buttonRecord.addActionListener( new ActionListener() { public void actionPerformed(ActionEvent event) { if (model.isRecord()) { model.setRecord(false); } else { model.setRecord(true); } } }); buttonPause.addActionListener( new ActionListener() { public void actionPerformed(ActionEvent event) { if (model.isPause()) { model.setPause(false); } else { model.setPause(true); } } }); buttonRecord.setEnabled(!model.isRecord()); buttonPause.setEnabled(!model.isPause()); // add the view to the toolbar setLayout(new GridLayout(1, 1)); add(panelMain); }
// Takes resource name and returns button public JButton createButton(String name, String toolTip) { // load the image String imagePath = "./resources/" + name + ".png"; ImageIcon iconRollover = new ImageIcon(imagePath); int w = iconRollover.getIconWidth(); int h = iconRollover.getIconHeight(); // get the cursor for this button Cursor cursor = Cursor.getPredefinedCursor(Cursor.HAND_CURSOR); // make translucent default image Image image = createCompatibleImage(w, h, Transparency.TRANSLUCENT); Graphics2D g = (Graphics2D) image.getGraphics(); Composite alpha = AlphaComposite.getInstance(AlphaComposite.SRC_OVER, .5f); g.setComposite(alpha); g.drawImage(iconRollover.getImage(), 0, 0, null); g.dispose(); ImageIcon iconDefault = new ImageIcon(image); // make a pressed image image = createCompatibleImage(w, h, Transparency.TRANSLUCENT); g = (Graphics2D) image.getGraphics(); g.drawImage(iconRollover.getImage(), 2, 2, null); g.dispose(); ImageIcon iconPressed = new ImageIcon(image); // create the button JButton button = new JButton(); button.addActionListener(this); button.setIgnoreRepaint(true); button.setFocusable(false); button.setToolTipText(toolTip); button.setBorder(null); button.setContentAreaFilled(false); button.setCursor(cursor); button.setIcon(iconDefault); button.setRolloverIcon(iconRollover); button.setPressedIcon(iconPressed); return button; }
Spacer(ZoneModel model, int index, SpacerHandle knobHandle) { this.model = model; this.index = index; this.knobHandle = knobHandle; knobPainter = new KnobPainter(this); setOpaque(false); setCursor(SliderCursor); initKeyMaps(); Icon icon = getIcon("unstick"); Icon pressedIcon = getIcon("unstickPressed"); Icon highlightIcon = getIcon("unstickHighlight"); unstickButton = new JButton(icon); unstickButton.setSize(icon.getIconWidth(), icon.getIconHeight()); unstickButton.setPressedIcon(pressedIcon); unstickButton.setRolloverEnabled(true); unstickButton.setRolloverIcon(highlightIcon); unstickButton.setBorder(null); unstickButton.putClientProperty(SubstanceLookAndFeel.BUTTON_PAINT_NEVER_PROPERTY, Boolean.TRUE); unstickButton.setBorderPainted(false); unstickButton.setRolloverEnabled(true); unstickButton.setOpaque(false); unstickButton.setCursor(ClickCursor); unstickButton.setFocusable(false); unstickButton.addActionListener( new ActionListener() { public void actionPerformed(ActionEvent event) { Spacer.this.model.removePoint(Spacer.this.index); } }); if (model.containsPoint(index)) { add(unstickButton); } model.addZoneModelListener(this); setFocusable(true); addFocusListener(this); addMouseListener(this); }
private void initPanel() { mapButtons = new HashMap<>(); for (Commontags commontags : CommontagsTools.getAll()) { mapAllTags.put(commontags.getText(), commontags); } int tagnum = 1; for (Commontags selectedTags : listSelectedTags) { if (tagnum % MAXLINE == 0) { add(createButton(selectedTags), RiverLayout.LINE_BREAK); } else { add(createButton(selectedTags), RiverLayout.LEFT); } tagnum++; } if (editmode) { txtTags = new JTextField(10); SelectAllUtils.install(txtTags); ac = new AutoCompletion(txtTags, mapAllTags.keySet().toArray(new String[] {})); ac.setStrict(false); ac.setStrictCompletion(false); txtTags.addActionListener(e -> cmbTagsActionPerformed(e)); txtTags.addFocusListener( new FocusAdapter() { @Override public void focusLost(FocusEvent e) { cmbTagsActionPerformed(null); } }); txtTags.addKeyListener( new KeyAdapter() { @Override public void keyTyped(KeyEvent e) { char c = e.getKeyChar(); if (Character.isAlphabetic(c) || Character.isDigit(c)) { super.keyTyped(e); } else { e.consume(); } } }); add(txtTags); btnPickTags = GUITools.getTinyButton("opde.tags.pnlcommontags.allTags", SYSConst.icon22checkbox); btnPickTags.setPressedIcon(SYSConst.icon22Pressed); btnPickTags.addActionListener( e -> { final JidePopup popup = new JidePopup(); JPanel pnl = new JPanel(new BorderLayout()); pnl.add(new JScrollPane(getClickableTagsPanel()), BorderLayout.CENTER); // JButton btnApply = new JButton(SYSConst.icon22apply); // pnl.add(btnApply, BorderLayout.SOUTH); // // btnApply.addActionListener(new ActionListener() { // @Override // public void actionPerformed(ActionEvent ae) { // popup.hidePopup(); // } // }); popup.setMovable(false); popup .getContentPane() .setLayout(new BoxLayout(popup.getContentPane(), BoxLayout.LINE_AXIS)); popup.setOwner(btnPickTags); popup.removeExcludedComponent(btnPickTags); pnl.setPreferredSize(new Dimension(400, 200)); popup.getContentPane().add(pnl); popup.setDefaultFocusComponent(pnl); popup.addPopupMenuListener( new PopupMenuListener() { @Override public void popupMenuWillBecomeVisible(PopupMenuEvent e) { OPDE.debug("popupMenuWillBecomeVisible"); } @Override public void popupMenuWillBecomeInvisible(PopupMenuEvent e) { SwingUtilities.invokeLater( () -> { removeAll(); add(txtTags); if (btnPickTags != null) { add(btnPickTags); } int tagnum1 = 1; for (JButton btn : mapButtons.values()) { if (tagnum1 % MAXLINE == 0) { add(btn, RiverLayout.LINE_BREAK); } else { add(btn, RiverLayout.LEFT); } tagnum1++; } revalidate(); repaint(); }); } @Override public void popupMenuCanceled(PopupMenuEvent e) { OPDE.debug("popupMenuCanceled"); } }); GUITools.showPopup(popup, SwingConstants.WEST); }); add(btnPickTags); } }