Added focus, toggle, and disabled states to FButton and skins.

Note: Keyboard functionality had already been lost _before_ this commit.
This commit is contained in:
Doublestrike
2011-12-08 07:34:37 +00:00
parent 1c1f17d573
commit 83ffea0787
5 changed files with 92 additions and 32 deletions

Binary file not shown.

Before

Width:  |  Height:  |  Size: 91 KiB

After

Width:  |  Height:  |  Size: 100 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 75 KiB

After

Width:  |  Height:  |  Size: 81 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 91 KiB

After

Width:  |  Height:  |  Size: 100 KiB

View File

@@ -25,6 +25,8 @@ import java.awt.Graphics2D;
import java.awt.Image; import java.awt.Image;
import java.awt.Insets; import java.awt.Insets;
import java.awt.RenderingHints; import java.awt.RenderingHints;
import java.awt.event.FocusAdapter;
import java.awt.event.FocusEvent;
import javax.swing.BorderFactory; import javax.swing.BorderFactory;
import javax.swing.JButton; import javax.swing.JButton;
@@ -80,6 +82,7 @@ public class FButton extends JButton {
this.allImagesPresent = true; this.allImagesPresent = true;
} }
// Mouse events
this.addMouseListener(new java.awt.event.MouseAdapter() { this.addMouseListener(new java.awt.event.MouseAdapter() {
@Override @Override
public void mouseEntered(final java.awt.event.MouseEvent evt) { public void mouseEntered(final java.awt.event.MouseEvent evt) {
@@ -92,11 +95,16 @@ public class FButton extends JButton {
@Override @Override
public void mouseExited(final java.awt.event.MouseEvent evt) { public void mouseExited(final java.awt.event.MouseEvent evt) {
if (FButton.this.isEnabled()) { if (FButton.this.isEnabled() && !FButton.this.isFocusOwner()) {
FButton.this.imgL = FButton.this.skin.getImage("button.upLEFT"); FButton.this.imgL = FButton.this.skin.getImage("button.upLEFT");
FButton.this.imgM = FButton.this.skin.getImage("button.upCENTER"); FButton.this.imgM = FButton.this.skin.getImage("button.upCENTER");
FButton.this.imgR = FButton.this.skin.getImage("button.upRIGHT"); FButton.this.imgR = FButton.this.skin.getImage("button.upRIGHT");
} }
else if (FButton.this.isEnabled() && FButton.this.isFocusOwner()) {
FButton.this.imgL = FButton.this.skin.getImage("button.focusLEFT");
FButton.this.imgM = FButton.this.skin.getImage("button.focusCENTER");
FButton.this.imgR = FButton.this.skin.getImage("button.focusRIGHT");
}
} }
@Override @Override
@@ -107,7 +115,51 @@ public class FButton extends JButton {
FButton.this.imgR = FButton.this.skin.getImage("button.downRIGHT"); FButton.this.imgR = FButton.this.skin.getImage("button.downRIGHT");
} }
} }
@Override
public void mouseReleased(final java.awt.event.MouseEvent evt) {
if (FButton.this.isEnabled()) {
FButton.this.imgL = FButton.this.skin.getImage("button.downLEFT");
FButton.this.imgM = FButton.this.skin.getImage("button.downCENTER");
FButton.this.imgR = FButton.this.skin.getImage("button.downRIGHT");
}
}
}); });
// Focus events
this.addFocusListener(new FocusAdapter() {
public void focusGained(FocusEvent e) {
if (FButton.this.isEnabled()) {
FButton.this.imgL = FButton.this.skin.getImage("button.focusLEFT");
FButton.this.imgM = FButton.this.skin.getImage("button.focusCENTER");
FButton.this.imgR = FButton.this.skin.getImage("button.focusRIGHT");
}
}
public void focusLost(FocusEvent e) {
if (FButton.this.isEnabled()) {
FButton.this.imgL = FButton.this.skin.getImage("button.upLEFT");
FButton.this.imgM = FButton.this.skin.getImage("button.upCENTER");
FButton.this.imgR = FButton.this.skin.getImage("button.upRIGHT");
}
}
});
}
@Override
public void setEnabled(boolean b0) {
if (!b0) {
FButton.this.imgL = FButton.this.skin.getImage("button.disabledLEFT");
FButton.this.imgM = FButton.this.skin.getImage("button.disabledCENTER");
FButton.this.imgR = FButton.this.skin.getImage("button.disabledRIGHT");
}
else {
FButton.this.imgL = FButton.this.skin.getImage("button.upLEFT");
FButton.this.imgM = FButton.this.skin.getImage("button.upCENTER");
FButton.this.imgR = FButton.this.skin.getImage("button.upRIGHT");
}
super.setEnabled(b0);
} }
/* /*

View File

@@ -57,7 +57,7 @@ public class FSkin {
public static ArrayList<String> getSkins() { public static ArrayList<String> getSkins() {
ArrayList<String> mySkins = new ArrayList<String>(); ArrayList<String> mySkins = new ArrayList<String>();
for(int i = 0; i < SKINS.length; i++) { for (int i = 0; i < SKINS.length; i++) {
mySkins.add(SKINS[i]); mySkins.add(SKINS[i]);
} }
return mySkins; return mySkins;
@@ -161,6 +161,14 @@ public class FSkin {
this.setImage("button.focusLEFT", image.getSubimage(360, 120, 40, 40)); this.setImage("button.focusLEFT", image.getSubimage(360, 120, 40, 40));
this.setImage("button.focusCENTER", image.getSubimage(400, 120, 1, 40)); this.setImage("button.focusCENTER", image.getSubimage(400, 120, 1, 40));
this.setImage("button.focusRIGHT", image.getSubimage(440, 120, 40, 40)); this.setImage("button.focusRIGHT", image.getSubimage(440, 120, 40, 40));
this.setImage("button.toggleLEFT", image.getSubimage(360, 160, 40, 40));
this.setImage("button.toggleCENTER", image.getSubimage(400, 160, 1, 40));
this.setImage("button.toggleRIGHT", image.getSubimage(440, 160, 40, 40));
this.setImage("button.disabledLEFT", image.getSubimage(360, 200, 40, 40));
this.setImage("button.disabledCENTER", image.getSubimage(400, 200, 1, 40));
this.setImage("button.disabledRIGHT", image.getSubimage(440, 200, 40, 40));
} catch (final IOException e) { } catch (final IOException e) {
System.err.println(this.notfound + this.spriteFile); System.err.println(this.notfound + this.spriteFile);
} }