/[svn]/jsampler/trunk/src/org/jsampler/view/fantasia/PixmapButton.java
ViewVC logotype

Annotation of /jsampler/trunk/src/org/jsampler/view/fantasia/PixmapButton.java

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1778 - (hide annotations) (download)
Sun Sep 28 20:38:36 2008 UTC (15 years, 7 months ago) by iliev
File size: 2255 byte(s)
* Fantasia: Improved look and feel
* Fantasia: Added buttons for increasing/decreasing the key number
  of the MIDI keyboard (Ctrl+Up Arrow/Ctrl+Down Arrow)
* Fantasia: Added buttons for scrolling left/right on the MIDI keyboard
  (Ctrl+Left Arrow/Ctrl+Right Arrow)
* Added key bindings for triggering MIDI notes using the computer keyboard
  (from a to ' for the white keys and from 0 to 7 for changing the octaves)
* Notes are now triggered when dragging the mouse over the MIDI keyboard

1 iliev 912 /*
2     * JSampler - a java front-end for LinuxSampler
3     *
4 iliev 1743 * Copyright (C) 2005-2008 Grigor Iliev <grigor@grigoriliev.com>
5 iliev 912 *
6     * This file is part of JSampler.
7     *
8     * JSampler is free software; you can redistribute it and/or modify
9     * it under the terms of the GNU General Public License version 2
10     * as published by the Free Software Foundation.
11     *
12     * JSampler is distributed in the hope that it will be useful,
13     * but WITHOUT ANY WARRANTY; without even the implied warranty of
14     * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15     * GNU General Public License for more details.
16     *
17     * You should have received a copy of the GNU General Public License
18     * along with JSampler; if not, write to the Free Software
19     * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
20     * MA 02111-1307 USA
21     */
22    
23     package org.jsampler.view.fantasia;
24    
25     import java.awt.Cursor;
26 iliev 1285 import java.awt.Dimension;
27 iliev 912 import java.awt.Insets;
28    
29 iliev 1285 import javax.swing.Action;
30 iliev 912 import javax.swing.BorderFactory;
31     import javax.swing.ImageIcon;
32     import javax.swing.JButton;
33    
34 iliev 1743 import javax.swing.plaf.basic.BasicButtonUI;
35    
36 iliev 912
37     /**
38     *
39     * @author Grigor Iliev
40     */
41     public class PixmapButton extends JButton {
42 iliev 1285 private Dimension size;
43    
44 iliev 912 /** Creates a new instance of PixmapButton */
45     PixmapButton(ImageIcon icon) {
46     this(icon, null);
47     }
48    
49     /** Creates a new instance of PixmapButton */
50     PixmapButton(ImageIcon icon, ImageIcon rolloverIcon) {
51 iliev 1285 initPixmapButton(icon, rolloverIcon);
52     }
53    
54     /** Creates a new instance of PixmapButton */
55     PixmapButton(Action a, ImageIcon icon) {
56     super(a);
57     initPixmapButton(icon, null);
58     }
59    
60     private void
61     initPixmapButton(ImageIcon icon, ImageIcon rolloverIcon) {
62     setText("");
63 iliev 912 setContentAreaFilled(false);
64     setFocusPainted(false);
65 iliev 1285 setBorder(BorderFactory.createEmptyBorder(0, 0, 0, 0));
66 iliev 912 setMargin(new Insets(0, 0, 0, 0));
67 iliev 1743
68 iliev 912 setIcon(icon);
69    
70     if(rolloverIcon != null) {
71     setRolloverIcon(rolloverIcon);
72     setRolloverEnabled(true);
73     } else {
74     setRolloverEnabled(false);
75     }
76    
77 iliev 1285 size = new Dimension(icon.getIconWidth(), icon.getIconHeight());
78     setPreferredSize(size);
79     setMaximumSize(size);
80 iliev 912
81     setCursor(Cursor.getPredefinedCursor(Cursor.HAND_CURSOR));
82     }
83 iliev 1743
84     public void
85     updateUI() { setUI(new BasicButtonUI()); }
86 iliev 912 }

  ViewVC Help
Powered by ViewVC