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

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

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1778 - (show annotations) (download)
Sun Sep 28 20:38:36 2008 UTC (15 years, 6 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 /*
2 * JSampler - a java front-end for LinuxSampler
3 *
4 * Copyright (C) 2005-2008 Grigor Iliev <grigor@grigoriliev.com>
5 *
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 import java.awt.Dimension;
27 import java.awt.Insets;
28
29 import javax.swing.Action;
30 import javax.swing.BorderFactory;
31 import javax.swing.ImageIcon;
32 import javax.swing.JButton;
33
34 import javax.swing.plaf.basic.BasicButtonUI;
35
36
37 /**
38 *
39 * @author Grigor Iliev
40 */
41 public class PixmapButton extends JButton {
42 private Dimension size;
43
44 /** 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 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 setContentAreaFilled(false);
64 setFocusPainted(false);
65 setBorder(BorderFactory.createEmptyBorder(0, 0, 0, 0));
66 setMargin(new Insets(0, 0, 0, 0));
67
68 setIcon(icon);
69
70 if(rolloverIcon != null) {
71 setRolloverIcon(rolloverIcon);
72 setRolloverEnabled(true);
73 } else {
74 setRolloverEnabled(false);
75 }
76
77 size = new Dimension(icon.getIconWidth(), icon.getIconHeight());
78 setPreferredSize(size);
79 setMaximumSize(size);
80
81 setCursor(Cursor.getPredefinedCursor(Cursor.HAND_CURSOR));
82 }
83
84 public void
85 updateUI() { setUI(new BasicButtonUI()); }
86 }

  ViewVC Help
Powered by ViewVC