Added gui and fixes for Guitar hero controller

git-svn-id: http://wiiusej.googlecode.com/svn/trunk@184 ae48ae66-6a45-0410-b38e-211266189506
This commit is contained in:
guilhem.duche
2008-06-15 13:15:24 +00:00
parent 1aed557012
commit 3fcd80e3c0
12 changed files with 731 additions and 24 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 51 KiB

View File

@@ -0,0 +1,165 @@
/**
* This file is part of WiiuseJ.
*
* WiiuseJ is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* WiiuseJ is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with WiiuseJ. If not, see <http://www.gnu.org/licenses/>.
*/
package wiiusej.test;
import wiiusej.Wiimote;
import wiiusej.utils.ClassicControllerButtonsEventPanel;
import wiiusej.wiiusejevents.physicalevents.ClassicControllerEvent;
import wiiusej.wiiusejevents.physicalevents.ExpansionEvent;
import wiiusej.wiiusejevents.physicalevents.IREvent;
import wiiusej.wiiusejevents.physicalevents.MotionSensingEvent;
import wiiusej.wiiusejevents.physicalevents.WiimoteButtonsEvent;
import wiiusej.wiiusejevents.utils.WiimoteListener;
import wiiusej.wiiusejevents.wiiuseapievents.ClassicControllerInsertedEvent;
import wiiusej.wiiusejevents.wiiuseapievents.ClassicControllerRemovedEvent;
import wiiusej.wiiusejevents.wiiuseapievents.DisconnectionEvent;
import wiiusej.wiiusejevents.wiiuseapievents.GuitarHeroInsertedEvent;
import wiiusej.wiiusejevents.wiiuseapievents.GuitarHeroRemovedEvent;
import wiiusej.wiiusejevents.wiiuseapievents.NunchukInsertedEvent;
import wiiusej.wiiusejevents.wiiuseapievents.NunchukRemovedEvent;
import wiiusej.wiiusejevents.wiiuseapievents.StatusEvent;
/**
* This frame is used to display events from a classic controller.
*
* @author guiguito
*/
public class ClassicControllerGuiTest extends javax.swing.JFrame implements WiimoteListener{
private Wiimote wiimote;
private static int MAX_SHOULDER = 100;
/** Creates new form ClassicControllerGuiTest */
public ClassicControllerGuiTest(Wiimote wiimote) {
initComponents();
this.wiimote = wiimote;
registerListeners();
leftShoulderBar.setMaximum(MAX_SHOULDER);
rightShoulderBar.setMaximum(MAX_SHOULDER);
}
private void registerListeners() {
wiimote.addWiiMoteEventListeners(this);
wiimote.addWiiMoteEventListeners((ClassicControllerButtonsEventPanel)classicControllerPanel);
}
public void unRegisterListeners() {
wiimote.removeWiiMoteEventListeners(this);
wiimote.removeWiiMoteEventListeners((ClassicControllerButtonsEventPanel)classicControllerPanel);
}
/** This method is called from within the constructor to
* initialize the form.
* WARNING: Do NOT modify this code. The content of this method is
* always regenerated by the Form Editor.
*/
// <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents
private void initComponents() {
shouldersPanel = new javax.swing.JPanel();
leftShoulderBar = new javax.swing.JProgressBar();
rightShoulderBar = new javax.swing.JProgressBar();
classicControllerPanel = new wiiusej.utils.ClassicControllerButtonsEventPanel();
setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
setTitle("WiiuseJ Classic Controller Test GUI");
setResizable(false);
getContentPane().setLayout(new javax.swing.BoxLayout(getContentPane(), javax.swing.BoxLayout.Y_AXIS));
shouldersPanel.setLayout(new javax.swing.BoxLayout(shouldersPanel, javax.swing.BoxLayout.LINE_AXIS));
shouldersPanel.add(leftShoulderBar);
shouldersPanel.add(rightShoulderBar);
getContentPane().add(shouldersPanel);
javax.swing.GroupLayout classicControllerPanelLayout = new javax.swing.GroupLayout(classicControllerPanel);
classicControllerPanel.setLayout(classicControllerPanelLayout);
classicControllerPanelLayout.setHorizontalGroup(
classicControllerPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGap(0, 400, Short.MAX_VALUE)
);
classicControllerPanelLayout.setVerticalGroup(
classicControllerPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGap(0, 284, Short.MAX_VALUE)
);
getContentPane().add(classicControllerPanel);
pack();
}// </editor-fold>//GEN-END:initComponents
public void onButtonsEvent(WiimoteButtonsEvent arg0) {
// nothing to do
}
public void onIrEvent(IREvent arg0) {
// nothing to do
}
public void onMotionSensingEvent(MotionSensingEvent arg0) {
// nothing to do
}
public void onExpansionEvent(ExpansionEvent arg0) {
if (arg0 instanceof ClassicControllerEvent){
ClassicControllerEvent classicController = (ClassicControllerEvent)arg0;
float leftShoulder = classicController.getLeftShoulder();
float rightShoulder = classicController.getRightShoulder();
leftShoulderBar.setValue(Math.round(leftShoulder*MAX_SHOULDER));
rightShoulderBar.setValue(Math.round(rightShoulder*MAX_SHOULDER));
}
}
public void onStatusEvent(StatusEvent arg0) {
// nothing to do
}
public void onDisconnectionEvent(DisconnectionEvent arg0) {
// nothing to do
}
public void onNunchukInsertedEvent(NunchukInsertedEvent arg0) {
// nothing to do
}
public void onNunchukRemovedEvent(NunchukRemovedEvent arg0) {
// nothing to do
}
public void onGuitarHeroInsertedEvent(GuitarHeroInsertedEvent arg0) {
// nothing to do
}
public void onGuitarHeroRemovedEvent(GuitarHeroRemovedEvent arg0) {
// nothing to do
}
public void onClassicControllerInsertedEvent(ClassicControllerInsertedEvent arg0) {
// nothing to do
}
public void onClassicControllerRemovedEvent(ClassicControllerRemovedEvent arg0) {
// nothing to do
}
// Variables declaration - do not modify//GEN-BEGIN:variables
private javax.swing.JPanel classicControllerPanel;
private javax.swing.JProgressBar leftShoulderBar;
private javax.swing.JProgressBar rightShoulderBar;
private javax.swing.JPanel shouldersPanel;
// End of variables declaration//GEN-END:variables
}

View File

@@ -0,0 +1,172 @@
/*
* GuitarHeroGUITest.java
*
* Created on 12 juin 2008, 23:10
*/
package wiiusej.test;
import wiiusej.Wiimote;
import wiiusej.utils.GuitarHero3ButtonsEventPanel;
import wiiusej.utils.GuitarHeroJoystickEventPanel;
import wiiusej.wiiusejevents.physicalevents.ExpansionEvent;
import wiiusej.wiiusejevents.physicalevents.GuitarHeroButtonsEvent;
import wiiusej.wiiusejevents.physicalevents.GuitarHeroEvent;
import wiiusej.wiiusejevents.physicalevents.IREvent;
import wiiusej.wiiusejevents.physicalevents.MotionSensingEvent;
import wiiusej.wiiusejevents.physicalevents.WiimoteButtonsEvent;
import wiiusej.wiiusejevents.utils.WiimoteListener;
import wiiusej.wiiusejevents.wiiuseapievents.ClassicControllerInsertedEvent;
import wiiusej.wiiusejevents.wiiuseapievents.ClassicControllerRemovedEvent;
import wiiusej.wiiusejevents.wiiuseapievents.DisconnectionEvent;
import wiiusej.wiiusejevents.wiiuseapievents.GuitarHeroInsertedEvent;
import wiiusej.wiiusejevents.wiiuseapievents.GuitarHeroRemovedEvent;
import wiiusej.wiiusejevents.wiiuseapievents.NunchukInsertedEvent;
import wiiusej.wiiusejevents.wiiuseapievents.NunchukRemovedEvent;
import wiiusej.wiiusejevents.wiiuseapievents.StatusEvent;
/**
* This frame is used to display events from a Guitar Hero 3.
* @author guiguito
*/
public class GuitarHero3GuiTest extends javax.swing.JFrame implements WiimoteListener {
private Wiimote wiimote;
private static int MAX_WHAMMY_BAR = 100;
/** Creates new form GuitarHeroGUITest */
public GuitarHero3GuiTest(Wiimote wiimote) {
initComponents();
this.wiimote = wiimote;
whammyProgressBar.setMaximum(MAX_WHAMMY_BAR);
registerListeners();
}
private void registerListeners() {
wiimote.addWiiMoteEventListeners(this);
//register panel buttons
wiimote.addWiiMoteEventListeners(guitarHero3ButtonsEventPanel);
//register joystick panel
wiimote.addWiiMoteEventListeners(guitarHero3JoystickPanel);
}
public void unRegisterListeners() {
wiimote.removeWiiMoteEventListeners(this);
wiimote.removeWiiMoteEventListeners(guitarHero3ButtonsEventPanel);
wiimote.removeWiiMoteEventListeners(guitarHero3JoystickPanel);
}
/** This method is called from within the constructor to
* initialize the form.
* WARNING: Do NOT modify this code. The content of this method is
* always regenerated by the Form Editor.
*/
// <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents
private void initComponents() {
buttonsEventPanel = new javax.swing.JPanel();
guitarHero3ButtonsEventPanel = new wiiusej.utils.GuitarHero3ButtonsEventPanel();
bottomPanel = new javax.swing.JPanel();
guitarHero3JoystickPanel = new wiiusej.utils.GuitarHeroJoystickEventPanel();
whammyProgressBar = new javax.swing.JProgressBar();
setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
setTitle("WiiuseJ Guitar Hero 3 Test GUI");
getContentPane().setLayout(new javax.swing.BoxLayout(getContentPane(), javax.swing.BoxLayout.Y_AXIS));
buttonsEventPanel.setBackground(new java.awt.Color(0, 0, 0));
javax.swing.GroupLayout buttonsEventPanelLayout = new javax.swing.GroupLayout(buttonsEventPanel);
buttonsEventPanel.setLayout(buttonsEventPanelLayout);
buttonsEventPanelLayout.setHorizontalGroup(
buttonsEventPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGap(0, 448, Short.MAX_VALUE)
.addGroup(buttonsEventPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(buttonsEventPanelLayout.createSequentialGroup()
.addGap(0, 0, Short.MAX_VALUE)
.addComponent(guitarHero3ButtonsEventPanel, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(0, 0, Short.MAX_VALUE)))
);
buttonsEventPanelLayout.setVerticalGroup(
buttonsEventPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGap(0, 111, Short.MAX_VALUE)
.addGroup(buttonsEventPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(buttonsEventPanelLayout.createSequentialGroup()
.addGap(0, 0, Short.MAX_VALUE)
.addComponent(guitarHero3ButtonsEventPanel, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(0, 0, Short.MAX_VALUE)))
);
getContentPane().add(buttonsEventPanel);
bottomPanel.setBackground(new java.awt.Color(0, 0, 0));
bottomPanel.setLayout(new javax.swing.BoxLayout(bottomPanel, javax.swing.BoxLayout.X_AXIS));
bottomPanel.add(guitarHero3JoystickPanel);
whammyProgressBar.setBackground(new java.awt.Color(255, 255, 255));
whammyProgressBar.setForeground(new java.awt.Color(255, 0, 255));
bottomPanel.add(whammyProgressBar);
getContentPane().add(bottomPanel);
pack();
}// </editor-fold>//GEN-END:initComponents
public void onButtonsEvent(WiimoteButtonsEvent arg0) {
// nothing to do
}
public void onIrEvent(IREvent arg0) {
// nothing to do
}
public void onMotionSensingEvent(MotionSensingEvent arg0) {
// nothing to do
}
public void onExpansionEvent(ExpansionEvent arg0) {
if (arg0 instanceof GuitarHeroEvent) {
GuitarHeroEvent guitar = (GuitarHeroEvent) arg0;
//move progress bar for whammy bar
whammyProgressBar.setValue(Math.round(MAX_WHAMMY_BAR*guitar.getWhammyBar()));
}
}
public void onStatusEvent(StatusEvent arg0) {
// nothing to do
}
public void onDisconnectionEvent(DisconnectionEvent arg0) {
// nothing to do
}
public void onNunchukInsertedEvent(NunchukInsertedEvent arg0) {
// nothing to do
}
public void onNunchukRemovedEvent(NunchukRemovedEvent arg0) {
// nothing to do
}
public void onGuitarHeroInsertedEvent(GuitarHeroInsertedEvent arg0) {
// nothing to do
}
public void onGuitarHeroRemovedEvent(GuitarHeroRemovedEvent arg0) {
// nothing to do
}
public void onClassicControllerInsertedEvent(ClassicControllerInsertedEvent arg0) {
// nothing to do
}
public void onClassicControllerRemovedEvent(ClassicControllerRemovedEvent arg0) {
// nothing to do
}
// Variables declaration - do not modify//GEN-BEGIN:variables
private javax.swing.JPanel bottomPanel;
private javax.swing.JPanel buttonsEventPanel;
private wiiusej.utils.GuitarHero3ButtonsEventPanel guitarHero3ButtonsEventPanel;
private wiiusej.utils.GuitarHeroJoystickEventPanel guitarHero3JoystickPanel;
private javax.swing.JProgressBar whammyProgressBar;
// End of variables declaration//GEN-END:variables
}

View File

@@ -363,18 +363,22 @@ public class NunchukGuiTest extends javax.swing.JFrame implements
if (arg0 instanceof NunchukEvent) {
NunchukEvent nunchuk = (NunchukEvent) arg0;
NunchukButtonsEvent buttons = nunchuk.getButtonsEvent();
//C button
if (buttons.isButtonCJustPressed()) {
cButton.setEnabled(false);
}
if (buttons.isButtonCJustReleased()) {
}else if (buttons.isButtonCJustReleased()) {
cButton.setEnabled(true);
}
if (buttons.isButtonZJustPressed()) {
//Z button
if(buttons.isButtonZJustPressed()) {
zButton.setEnabled(false);
}
if (buttons.isButtonZJustReleased()) {
}else if (buttons.isButtonZJustReleased()) {
zButton.setEnabled(true);
}
if (isThresholdsRequested) {
MotionSensingEvent evt = nunchuk.getNunchukMotionSensingEvent();
nunchukAccelerationTextField.setText(evt

View File

@@ -87,11 +87,13 @@ public class WiiuseJGuiTest extends javax.swing.JFrame implements
public void windowActivated(WindowEvent e) {
showExpansionWiimoteButton.setEnabled(false);
showExpansionWiimoteButton.setText("Hide Nunchuk");
//@TODO adapt to the connected Expansion
}
public void windowDeactivated(WindowEvent e) {
showExpansionWiimoteButton.setEnabled(true);
showExpansionWiimoteButton.setText("Show Nunchuk");
//@TODO adapt to the connected Expansion
}
};
@@ -235,10 +237,27 @@ public class WiiuseJGuiTest extends javax.swing.JFrame implements
showExpansionWiimoteButton.setText("Show Nunchuk");
expansionFrame = new NunchukGuiTest(wiimote);
expansionFrame
.setDefaultCloseOperation(NunchukGuiTest.HIDE_ON_CLOSE);
.setDefaultCloseOperation(JFrame.HIDE_ON_CLOSE);
expansionFrame.addWindowListener(buttonSetter);
isFirstStatusGot = true;
}
}else if(arg0.isClassicControllerConnected()){
showExpansionWiimoteButton.setEnabled(true);
showExpansionWiimoteButton.setText("Show Classic Controller");
expansionFrame = new ClassicControllerGuiTest(wiimote);
expansionFrame
.setDefaultCloseOperation(JFrame.HIDE_ON_CLOSE);
expansionFrame.addWindowListener(buttonSetter);
isFirstStatusGot = true;
}
else if(arg0.isClassicControllerConnected()){
showExpansionWiimoteButton.setEnabled(true);
showExpansionWiimoteButton.setText("Show Guitar Hero 3 Controller");
expansionFrame = new GuitarHero3GuiTest(wiimote);
expansionFrame
.setDefaultCloseOperation(JFrame.HIDE_ON_CLOSE);
expansionFrame.addWindowListener(buttonSetter);
isFirstStatusGot = true;
}
}
messageText.setText("Status received !");
batteryLevelText.setText(arg0.getBatteryLevel() + " %");
@@ -247,7 +266,7 @@ public class WiiuseJGuiTest extends javax.swing.JFrame implements
led3Button.setEnabled(arg0.isLed3Set());
led4Button.setEnabled(arg0.isLed4Set());
if (arg0.isNunchukConnected()) {
((NunchukGuiTest) expansionFrame).requestThresholdsUpdate();
((NunchukGuiTest) expansionFrame).requestThresholdsUpdate();
}
// attachments
int eventType = arg0.getEventType();
@@ -279,7 +298,7 @@ public class WiiuseJGuiTest extends javax.swing.JFrame implements
showExpansionWiimoteButton.setEnabled(true);
showExpansionWiimoteButton.setText("Show nunchuk");
expansionFrame = new NunchukGuiTest(wiimote);
expansionFrame.setDefaultCloseOperation(NunchukGuiTest.HIDE_ON_CLOSE);
expansionFrame.setDefaultCloseOperation(JFrame.HIDE_ON_CLOSE);
expansionFrame.addWindowListener(buttonSetter);
}
@@ -299,21 +318,55 @@ public class WiiuseJGuiTest extends javax.swing.JFrame implements
}
public void onGuitarHeroInsertedEvent(GuitarHeroInsertedEvent arg0) {
// nothing
messageText.setText("Guitar Hero 3 connected !");
expansionText.setText("Expansion connected : Guitar Hero 3.");
showExpansionWiimoteButton.setEnabled(true);
showExpansionWiimoteButton.setText("Show Guitar Hero 3");
expansionFrame = new GuitarHero3GuiTest(wiimote);
expansionFrame.setDefaultCloseOperation(JFrame.HIDE_ON_CLOSE);
expansionFrame.addWindowListener(buttonSetter);
}
public void onGuitarHeroRemovedEvent(GuitarHeroRemovedEvent arg0) {
// nothing
messageText.setText("Guitar Hero 3 disconnected !");
expansionText.setText("No expansion connected.");
showExpansionWiimoteButton.setEnabled(false);
showExpansionWiimoteButton.setText("No expansion");
if (expansionFrame != null) {
if (expansionFrame instanceof GuitarHero3GuiTest) {
((GuitarHero3GuiTest) expansionFrame).unRegisterListeners();
}
expansionFrame.setEnabled(false);
expansionFrame.dispose();
expansionFrame = null;
}
}
public void onClassicControllerInsertedEvent(
ClassicControllerInsertedEvent arg0) {
// nothing
messageText.setText("Nunchuk connected !");
expansionText.setText("Expansion connected : Classic Controller.");
showExpansionWiimoteButton.setEnabled(true);
showExpansionWiimoteButton.setText("Show Classic Controller");
expansionFrame = new ClassicControllerGuiTest(wiimote);
expansionFrame.setDefaultCloseOperation(JFrame.HIDE_ON_CLOSE);
expansionFrame.addWindowListener(buttonSetter);
}
public void onClassicControllerRemovedEvent(
ClassicControllerRemovedEvent arg0) {
// nothing
messageText.setText("Classic controller disconnected !");
expansionText.setText("No expansion connected.");
showExpansionWiimoteButton.setEnabled(false);
showExpansionWiimoteButton.setText("No expansion");
if (expansionFrame != null) {
if (expansionFrame instanceof ClassicControllerGuiTest) {
((ClassicControllerGuiTest) expansionFrame).unRegisterListeners();
}
expansionFrame.setEnabled(false);
expansionFrame.dispose();
expansionFrame = null;
}
}
/**
@@ -1222,6 +1275,8 @@ public class WiiuseJGuiTest extends javax.swing.JFrame implements
if (expansionFrame != null) {
if (expansionFrame instanceof NunchukGuiTest) {
((NunchukGuiTest) expansionFrame).unRegisterListeners();
}else if (expansionFrame instanceof ClassicControllerGuiTest) {
((ClassicControllerGuiTest) expansionFrame).unRegisterListeners();
}
expansionFrame.setEnabled(false);
expansionFrame.dispose();

View File

@@ -55,7 +55,7 @@ public class ButtonsEventPanel extends javax.swing.JPanel implements
private Color pressedColor = Color.RED;
private Color heldColor = Color.ORANGE;
private Color releasedColor = Color.YELLOW;
private Shape shape;
private Shape shape = new java.awt.geom.Ellipse2D.Double(0, 0, 13, 13);
/**
* Default constructor. Red : button just pressed. Orange : button held.
@@ -66,7 +66,6 @@ public class ButtonsEventPanel extends javax.swing.JPanel implements
java.net.URL url = ButtonsEventPanel.class
.getResource("/img/wiimote.png");
wiimoteImage = toolkit.createImage(url);
shape = new java.awt.geom.Ellipse2D.Double(0, 0, 13, 13);
initComponents();
}
@@ -89,8 +88,7 @@ public class ButtonsEventPanel extends javax.swing.JPanel implements
releasedColor = relColor;
shape = sh;
Toolkit toolkit = java.awt.Toolkit.getDefaultToolkit();
wiimoteImage = toolkit.createImage("img\\wiimote.png");
shape = new java.awt.geom.Ellipse2D.Double(0, 0, 13, 13);
wiimoteImage = toolkit.createImage("img\\wiimote.png");
initComponents();
}
@@ -295,8 +293,7 @@ public class ButtonsEventPanel extends javax.swing.JPanel implements
}
public void onDisconnectionEvent(DisconnectionEvent arg0) {
buttons = null;
repaint();
clearView();
}
public void onNunchukInsertedEvent(NunchukInsertedEvent e) {

View File

@@ -0,0 +1,274 @@
/**
* This file is part of WiiuseJ.
*
* WiiuseJ is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* WiiuseJ is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with WiiuseJ. If not, see <http://www.gnu.org/licenses/>.
*/
package wiiusej.utils;
import wiiusej.wiiusejevents.physicalevents.ExpansionEvent;
import wiiusej.wiiusejevents.physicalevents.GuitarHeroButtonsEvent;
import wiiusej.wiiusejevents.physicalevents.GuitarHeroEvent;
import wiiusej.wiiusejevents.physicalevents.IREvent;
import wiiusej.wiiusejevents.physicalevents.MotionSensingEvent;
import wiiusej.wiiusejevents.physicalevents.WiimoteButtonsEvent;
import wiiusej.wiiusejevents.utils.WiimoteListener;
import wiiusej.wiiusejevents.wiiuseapievents.ClassicControllerInsertedEvent;
import wiiusej.wiiusejevents.wiiuseapievents.ClassicControllerRemovedEvent;
import wiiusej.wiiusejevents.wiiuseapievents.DisconnectionEvent;
import wiiusej.wiiusejevents.wiiuseapievents.GuitarHeroInsertedEvent;
import wiiusej.wiiusejevents.wiiuseapievents.GuitarHeroRemovedEvent;
import wiiusej.wiiusejevents.wiiuseapievents.NunchukInsertedEvent;
import wiiusej.wiiusejevents.wiiuseapievents.NunchukRemovedEvent;
import wiiusej.wiiusejevents.wiiuseapievents.StatusEvent;
/**
* This panel is used to display what happens on the buttons of the
* Guitar Hero 3 controller.
* @author guiguito
*/
public class GuitarHero3ButtonsEventPanel extends javax.swing.JPanel implements WiimoteListener {
/** Creates new form GuitarHero3ButtonsEventPanel */
public GuitarHero3ButtonsEventPanel() {
initComponents();
}
/** This method is called from within the constructor to
* initialize the form.
* WARNING: Do NOT modify this code. The content of this method is
* always regenerated by the Form Editor.
*/
// <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents
private void initComponents() {
leftPanel = new javax.swing.JPanel();
plusButton = new javax.swing.JToggleButton();
minusButton = new javax.swing.JToggleButton();
strumPanel = new javax.swing.JPanel();
strumUpButton = new javax.swing.JToggleButton();
strumDownButton = new javax.swing.JToggleButton();
RightPanel = new javax.swing.JPanel();
coloredButtonsPanel = new javax.swing.JPanel();
orangeButton = new javax.swing.JToggleButton();
blueButton = new javax.swing.JToggleButton();
yellowButton = new javax.swing.JToggleButton();
redButton = new javax.swing.JToggleButton();
greenButton = new javax.swing.JToggleButton();
setBackground(new java.awt.Color(0, 0, 0));
setLayout(new javax.swing.BoxLayout(this, javax.swing.BoxLayout.X_AXIS));
leftPanel.setBackground(new java.awt.Color(0, 0, 0));
leftPanel.setLayout(new javax.swing.BoxLayout(leftPanel, javax.swing.BoxLayout.LINE_AXIS));
plusButton.setBackground(new java.awt.Color(255, 255, 255));
plusButton.setFont(new java.awt.Font("Arial", 1, 24));
plusButton.setText("+");
leftPanel.add(plusButton);
minusButton.setBackground(new java.awt.Color(255, 255, 255));
minusButton.setFont(new java.awt.Font("Arial", 1, 24));
minusButton.setText("-");
leftPanel.add(minusButton);
strumPanel.setBackground(new java.awt.Color(0, 0, 0));
strumPanel.setLayout(new javax.swing.BoxLayout(strumPanel, javax.swing.BoxLayout.Y_AXIS));
strumUpButton.setBackground(new java.awt.Color(255, 255, 255));
strumUpButton.setFont(new java.awt.Font("Arial", 1, 24));
strumUpButton.setText("Strum UP");
strumPanel.add(strumUpButton);
strumDownButton.setBackground(new java.awt.Color(255, 255, 255));
strumDownButton.setFont(new java.awt.Font("Arial", 1, 24));
strumDownButton.setText("Strum DOWN");
strumPanel.add(strumDownButton);
leftPanel.add(strumPanel);
add(leftPanel);
RightPanel.setBackground(new java.awt.Color(0, 0, 0));
RightPanel.setLayout(new javax.swing.BoxLayout(RightPanel, javax.swing.BoxLayout.LINE_AXIS));
coloredButtonsPanel.setLayout(new javax.swing.BoxLayout(coloredButtonsPanel, javax.swing.BoxLayout.LINE_AXIS));
orangeButton.setBackground(new java.awt.Color(255, 153, 0));
orangeButton.setFont(new java.awt.Font("Arial", 1, 24));
orangeButton.setText("O");
coloredButtonsPanel.add(orangeButton);
blueButton.setBackground(new java.awt.Color(0, 0, 204));
blueButton.setFont(new java.awt.Font("Arial", 1, 24));
blueButton.setText("O");
coloredButtonsPanel.add(blueButton);
yellowButton.setBackground(new java.awt.Color(255, 255, 0));
yellowButton.setFont(new java.awt.Font("Arial", 1, 24));
yellowButton.setText("O");
coloredButtonsPanel.add(yellowButton);
redButton.setBackground(new java.awt.Color(255, 0, 0));
redButton.setFont(new java.awt.Font("Arial", 1, 24));
redButton.setText("O");
coloredButtonsPanel.add(redButton);
greenButton.setBackground(new java.awt.Color(51, 255, 0));
greenButton.setFont(new java.awt.Font("Arial", 1, 24));
greenButton.setText("O");
coloredButtonsPanel.add(greenButton);
RightPanel.add(coloredButtonsPanel);
add(RightPanel);
}// </editor-fold>//GEN-END:initComponents
public void onButtonsEvent(WiimoteButtonsEvent arg0) {
//do nothing
}
public void onIrEvent(IREvent arg0) {
//do nothing
}
public void onMotionSensingEvent(MotionSensingEvent arg0) {
//do nothing
}
public void onExpansionEvent(ExpansionEvent arg0) {
if (arg0 instanceof GuitarHeroEvent) {
GuitarHeroEvent guitar = (GuitarHeroEvent) arg0;
GuitarHeroButtonsEvent buttons = guitar.getButtonsEvent();
//orange button
if (buttons.isButtonOrangeJustPressed()) {
orangeButton.setSelected(true);
orangeButton.setText("X");
} else if (buttons.isButtonOrangeJustReleased()) {
orangeButton.setSelected(false);
orangeButton.setText("O");
}
//blue button
if (buttons.isButtonBlueJustPressed()) {
blueButton.setSelected(true);
orangeButton.setText("X");
} else if (buttons.isButtonBlueJustReleased()) {
blueButton.setSelected(false);
orangeButton.setText("O");
}
//Yellow button
if (buttons.isButtonYellowJustPressed()) {
yellowButton.setSelected(true);
yellowButton.setText("X");
} else if (buttons.isButtonYellowJustReleased()) {
yellowButton.setSelected(false);
yellowButton.setText("O");
}
//Red button
if (buttons.isButtonRedJustPressed()) {
redButton.setSelected(true);
redButton.setText("X");
} else if (buttons.isButtonRedJustReleased()) {
redButton.setSelected(false);
redButton.setText("O");
}
//Green button
if (buttons.isButtonGreenJustPressed()) {
greenButton.setSelected(true);
greenButton.setText("X");
} else if (buttons.isButtonGreenJustReleased()) {
greenButton.setSelected(false);
greenButton.setText("O");
}
//Plus button
if (buttons.isButtonPlusJustPressed()) {
plusButton.setSelected(true);
} else if (buttons.isButtonPlusJustReleased()) {
plusButton.setSelected(false);
}
//Minus button
if (buttons.isButtonMinusJustPressed()) {
minusButton.setSelected(true);
} else if (buttons.isButtonMinusJustReleased()) {
minusButton.setSelected(false);
}
//Strum up button
if (buttons.isButtonStrumUpJustPressed()) {
strumUpButton.setSelected(true);
} else if (buttons.isButtonStrumUpJustReleased()) {
strumUpButton.setSelected(false);
}
//Strum down button
if (buttons.isButtonStrumDownJustPressed()) {
strumDownButton.setSelected(true);
} else if (buttons.isButtonStrumDownJustReleased()) {
strumDownButton.setSelected(false);
}
}
}
public void onStatusEvent(StatusEvent arg0) {
//do nothing
}
public void onDisconnectionEvent(DisconnectionEvent arg0) {
//do nothing
}
public void onNunchukInsertedEvent(NunchukInsertedEvent arg0) {
//do nothing
}
public void onNunchukRemovedEvent(NunchukRemovedEvent arg0) {
//do nothing
}
public void onGuitarHeroInsertedEvent(GuitarHeroInsertedEvent arg0) {
//do nothing
}
public void onGuitarHeroRemovedEvent(GuitarHeroRemovedEvent arg0) {
//do nothing
}
public void onClassicControllerInsertedEvent(ClassicControllerInsertedEvent arg0) {
//do nothing
}
public void onClassicControllerRemovedEvent(ClassicControllerRemovedEvent arg0) {
//do nothing
}
// Variables declaration - do not modify//GEN-BEGIN:variables
private javax.swing.JPanel RightPanel;
private javax.swing.JToggleButton blueButton;
private javax.swing.JPanel coloredButtonsPanel;
private javax.swing.JToggleButton greenButton;
private javax.swing.JPanel leftPanel;
private javax.swing.JToggleButton minusButton;
private javax.swing.JToggleButton orangeButton;
private javax.swing.JToggleButton plusButton;
private javax.swing.JToggleButton redButton;
private javax.swing.JToggleButton strumDownButton;
private javax.swing.JPanel strumPanel;
private javax.swing.JToggleButton strumUpButton;
private javax.swing.JToggleButton yellowButton;
// End of variables declaration//GEN-END:variables
}

View File

@@ -0,0 +1,39 @@
/**
* This file is part of WiiuseJ.
*
* WiiuseJ is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* WiiuseJ is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
*
* You should have received a copy of the GNU General Public License
* along with WiiuseJ. If not, see <http://www.gnu.org/licenses/>.
*/
package wiiusej.utils;
import wiiusej.wiiusejevents.physicalevents.ExpansionEvent;
import wiiusej.wiiusejevents.physicalevents.GuitarHeroEvent;
import wiiusej.wiiusejevents.physicalevents.JoystickEvent;
/**
* Panel to display Guitar Hero 3 controller joystick events.
*
* @author guiguito
*/
public class GuitarHeroJoystickEventPanel extends JoystickEventPanel{
@Override
public JoystickEvent getJoystickEvent(ExpansionEvent e) {
if (e instanceof GuitarHeroEvent){
return ((GuitarHeroEvent)e).getGuitarHeroJoystickEvent();
}
return null;
}
}

View File

@@ -155,7 +155,7 @@ public abstract class JoystickEventPanel extends javax.swing.JPanel implements
}
public void onExpansionEvent(ExpansionEvent arg0) {
JoystickEvent joy = getJoystikEvent(arg0);
JoystickEvent joy = getJoystickEvent(arg0);
if (joy != null) {
lastJoystickEvent = joy;
}
@@ -228,7 +228,7 @@ public abstract class JoystickEventPanel extends javax.swing.JPanel implements
this.shape = shape;
}
public abstract JoystickEvent getJoystikEvent(ExpansionEvent e);
public abstract JoystickEvent getJoystickEvent(ExpansionEvent e);
/**
* This method is called from within the constructor to initialize the form.

View File

@@ -11,6 +11,7 @@
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
*
* You should have received a copy of the GNU General Public License
* along with WiiuseJ. If not, see <http://www.gnu.org/licenses/>.
*/
@@ -28,7 +29,7 @@ import wiiusej.wiiusejevents.physicalevents.NunchukEvent;
public class NunchukJoystickEventPanel extends JoystickEventPanel {
@Override
public JoystickEvent getJoystikEvent(ExpansionEvent e) {
public JoystickEvent getJoystickEvent(ExpansionEvent e) {
if (e instanceof NunchukEvent) {
return ((NunchukEvent) e).getNunchukJoystickEvent();
}

View File

@@ -164,7 +164,7 @@ public class ClassicControllerEvent extends ExpansionEvent {
public String toString() {
String out = "";
/* Status */
out += "/*********** Classis Controller EVENT : WIIMOTE ID :"
out += "/*********** Classic Controller EVENT : WIIMOTE ID :"
+ getWiimoteId() + " ********/\n";
out += buttonsEvent;
out += "Left shoulder : " + leftShoulder + "\n";

View File

@@ -108,7 +108,7 @@ public class GuitarHeroEvent extends ExpansionEvent{
public String toString() {
String out = "";
/* Status */
out += "/*********** Classis Controller EVENT : WIIMOTE ID :" + getWiimoteId()
out += "/*********** Guitar Hero 3 EVENT : WIIMOTE ID :" + getWiimoteId()
+ " ********/\n";
out += buttonsEvent;
out += "Whammy Bar : "+whammyBar+"\n";