git-svn-id: http://wiiusej.googlecode.com/svn/trunk@135 ae48ae66-6a45-0410-b38e-211266189506
838 lines
39 KiB
Java
838 lines
39 KiB
Java
/**
|
|
* 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 java.awt.AWTException;
|
|
import java.awt.Robot;
|
|
import java.awt.event.InputEvent;
|
|
import java.util.logging.Level;
|
|
import java.util.logging.Logger;
|
|
|
|
import wiiusej.Wiimote;
|
|
import wiiusej.utils.AccelerationPanel;
|
|
import wiiusej.utils.ButtonsEventPanel;
|
|
import wiiusej.utils.GForcePanel;
|
|
import wiiusej.utils.IRPanel;
|
|
import wiiusej.utils.OrientationPanel;
|
|
import wiiusej.wiiusejevents.physicalevents.IREvent;
|
|
import wiiusej.wiiusejevents.physicalevents.MotionSensingEvent;
|
|
import wiiusej.wiiusejevents.physicalevents.WiimoteButtonsEvent;
|
|
import wiiusej.wiiusejevents.utils.WiimoteListener;
|
|
import wiiusej.wiiusejevents.wiiusejapievents.DisconnectionEvent;
|
|
import wiiusej.wiiusejevents.wiiusejapievents.StatusEvent;
|
|
|
|
/**
|
|
* Gui class to test WiiuseJ.
|
|
* @author guiguito
|
|
*/
|
|
public class WiiuseJGuiTest extends javax.swing.JFrame implements WiimoteListener {
|
|
|
|
private Wiimote wiimote;
|
|
private Robot robot = null;
|
|
private boolean statusMotionRequested = false;
|
|
private boolean statusIRRequested = false;
|
|
|
|
/** Creates new form WiiuseJGuiTest */
|
|
public WiiuseJGuiTest(Wiimote wiimote) {
|
|
initComponents();
|
|
this.wiimote = wiimote;
|
|
wiimote.addWiiMoteEventListeners((IRPanel) irViewPanel);
|
|
wiimote.addWiiMoteEventListeners((ButtonsEventPanel) buttonsPanel);
|
|
wiimote.addWiiMoteEventListeners((OrientationPanel) motionSensingPanel);
|
|
wiimote.addWiiMoteEventListeners((GForcePanel) gForcePanel);
|
|
wiimote.addWiiMoteEventListeners((AccelerationPanel) accelerationPanel);
|
|
wiimote.addWiiMoteEventListeners(this);
|
|
wiimote.deactivateContinuous();
|
|
wiimote.deactivateSmoothing();
|
|
wiimote.setScreenAspectRatio169();
|
|
wiimote.setSensorBarBelowScreen();
|
|
getStatusButtonMousePressed(null);
|
|
this.addWindowListener(new CloseGuiTestCleanly(wiimote));
|
|
}
|
|
|
|
public void onButtonsEvent(WiimoteButtonsEvent arg0) {
|
|
if (robot != null) {
|
|
if (arg0.isButtonAPressed()) {
|
|
robot.mousePress(InputEvent.BUTTON1_MASK);
|
|
|
|
}
|
|
if (arg0.isButtonBPressed()) {
|
|
robot.mousePress(InputEvent.BUTTON2_MASK);
|
|
|
|
}
|
|
if (arg0.isButtonOnePressed()) {
|
|
robot.mousePress(InputEvent.BUTTON3_MASK);
|
|
|
|
}
|
|
if (arg0.isButtonAJustReleased()) {
|
|
robot.mouseRelease(InputEvent.BUTTON1_MASK);
|
|
|
|
}
|
|
if (arg0.isButtonBJustReleased()) {
|
|
robot.mouseRelease(InputEvent.BUTTON2_MASK);
|
|
|
|
}
|
|
if (arg0.isButtonOneJustReleased()) {
|
|
robot.mouseRelease(InputEvent.BUTTON3_MASK);
|
|
|
|
}
|
|
if (arg0.isButtonUpPressed()) {//mouse wheel up
|
|
robot.mouseWheel(-1);
|
|
}
|
|
if (arg0.isButtonDownPressed()) {//mouse wheel down
|
|
robot.mouseWheel(1);
|
|
}
|
|
|
|
if (arg0.isButtonTwoPressed()) {//stop mouse control
|
|
mouseIRControlButtonMousePressed(null);
|
|
}
|
|
}
|
|
}
|
|
|
|
public void onIrEvent(IREvent arg0) {
|
|
if (robot != null) {//if mouse control activated
|
|
robot.mouseMove(arg0.getX(), arg0.getY());
|
|
}
|
|
if (statusIRRequested){
|
|
xResolutionTextField.setText(""+arg0.getXVRes());
|
|
yResolutionTextField.setText(""+arg0.getYVRes());
|
|
statusIRRequested = false;
|
|
}
|
|
}
|
|
|
|
public void onMotionSensingEvent(MotionSensingEvent arg0) {
|
|
if (statusMotionRequested){//Status requested
|
|
accelerationThresholdTextField.setText(""+arg0.getAccelerationThreshold());
|
|
orientationThresholdTextField.setText(""+arg0.getOrientationThreshold());
|
|
alphaSmoothingTextField.setText(""+arg0.getAlphaSmoothing());
|
|
statusMotionRequested = false;
|
|
}
|
|
}
|
|
|
|
public void onStatusEvent(StatusEvent arg0) {
|
|
messageText.setText("Status received !");
|
|
batteryLevelText.setText(arg0.getBatteryLevel() + " %");
|
|
led1Button.setEnabled(arg0.isLed1Set());
|
|
led2Button.setEnabled(arg0.isLed2Set());
|
|
led3Button.setEnabled(arg0.isLed3Set());
|
|
led4Button.setEnabled(arg0.isLed4Set());
|
|
//attachments
|
|
int eventType = arg0.getEventType();
|
|
if (eventType == StatusEvent.WIIUSE_CLASSIC_CTRL_INSERTED){
|
|
expansionText.setText("Classic control connected.");
|
|
}else
|
|
if (eventType == StatusEvent.WIIUSE_CLASSIC_CTRL_REMOVED){
|
|
expansionText.setText("Classic control removed.");
|
|
}else
|
|
if (eventType == StatusEvent.WIIUSE_NUNCHUK_INSERTED){
|
|
expansionText.setText("Nunchuk connected.");
|
|
}else
|
|
if (eventType == StatusEvent.WIIUSE_NUNCHUK_REMOVED){
|
|
expansionText.setText("Nunchuk removed.");
|
|
}else
|
|
if (eventType == StatusEvent.WIIUSE_GUITAR_HERO_3_CTRL_INSERTED){
|
|
expansionText.setText("Guitar Hero 3 control connected.");
|
|
}else
|
|
if (eventType == StatusEvent.WIIUSE_GUITAR_HERO_3_CTRL_REMOVED){
|
|
expansionText.setText("Guitar Hero 3 control removed.");
|
|
}
|
|
}
|
|
|
|
public void onDisconnectionEvent(DisconnectionEvent arg0) {
|
|
messageText.setText("Wiimote Disconnected !");
|
|
}
|
|
|
|
/** 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();
|
|
irViewPanel = new IRPanel();
|
|
jTabbedPane1 = new javax.swing.JTabbedPane();
|
|
motionSensingPanel = new OrientationPanel();
|
|
gForcePanel = new wiiusej.utils.GForcePanel();
|
|
accelerationPanel = new AccelerationPanel();
|
|
rightPanel = new javax.swing.JPanel();
|
|
fixedWiimotePanel = new javax.swing.JPanel();
|
|
buttonsPanel = new ButtonsEventPanel();
|
|
controlsPanel = new javax.swing.JPanel();
|
|
activateRumblePanel = new javax.swing.JPanel();
|
|
toggleRumbleButton = new javax.swing.JButton();
|
|
deactivateRumblePanel = new javax.swing.JPanel();
|
|
toggleIRTrackingButton = new javax.swing.JButton();
|
|
activateIRtrackingPanel = new javax.swing.JPanel();
|
|
toggleMotionSensingTrackingButton = new javax.swing.JButton();
|
|
deactivateIRTrackingPanel = new javax.swing.JPanel();
|
|
toggleSmoothingButton = new javax.swing.JButton();
|
|
activateMotionSensingTrackingPanel = new javax.swing.JPanel();
|
|
toggleContinuousButton = new javax.swing.JButton();
|
|
deactivateMotionSensingTrackingPanel = new javax.swing.JPanel();
|
|
led1Button = new javax.swing.JButton();
|
|
led2Button = new javax.swing.JButton();
|
|
led3Button = new javax.swing.JButton();
|
|
led4Button = new javax.swing.JButton();
|
|
setLedsButton = new javax.swing.JButton();
|
|
activateSmoothingPanel = new javax.swing.JPanel();
|
|
alphaSmoothingTextField = new javax.swing.JTextField();
|
|
alphaSmoothingButton = new javax.swing.JButton();
|
|
deactivateSmoothingPanel = new javax.swing.JPanel();
|
|
orientationThresholdTextField = new javax.swing.JTextField();
|
|
orientationThresholdButton = new javax.swing.JButton();
|
|
activateContinuousPanel = new javax.swing.JPanel();
|
|
accelerationThresholdTextField = new javax.swing.JTextField();
|
|
accelerationThresholdButton = new javax.swing.JButton();
|
|
deactivateContinuousPanel = new javax.swing.JPanel();
|
|
getStatusButton = new javax.swing.JButton();
|
|
batteryText = new javax.swing.JLabel();
|
|
batteryLevelText = new javax.swing.JLabel();
|
|
ledsPanel = new javax.swing.JPanel();
|
|
toggleSensorBarPositionButton = new javax.swing.JButton();
|
|
alphaSmoothingPanel = new javax.swing.JPanel();
|
|
toggleScreenAspectRatioButton = new javax.swing.JButton();
|
|
orientationThresholdPanel = new javax.swing.JPanel();
|
|
xLabel = new javax.swing.JLabel();
|
|
xResolutionTextField = new javax.swing.JTextField();
|
|
yLabel = new javax.swing.JLabel();
|
|
yResolutionTextField = new javax.swing.JTextField();
|
|
setVirtualResolutionButton = new javax.swing.JButton();
|
|
accelerationThresholdPanel = new javax.swing.JPanel();
|
|
mouseIRControlButton = new javax.swing.JButton();
|
|
batteryPanel = new javax.swing.JPanel();
|
|
expansionText = new javax.swing.JLabel();
|
|
messagesPanel = new javax.swing.JPanel();
|
|
messageLabelText = new javax.swing.JLabel();
|
|
messageText = new javax.swing.JLabel();
|
|
|
|
setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
|
|
setTitle("WiiuseJ Test GUI");
|
|
setName("WiiuseJ Test GUI"); // NOI18N
|
|
|
|
leftPanel.setBorder(javax.swing.BorderFactory.createEtchedBorder());
|
|
|
|
irViewPanel.setBackground(new java.awt.Color(0, 0, 0));
|
|
irViewPanel.setBorder(javax.swing.BorderFactory.createTitledBorder(new javax.swing.border.LineBorder(new java.awt.Color(0, 153, 153), 2, true), "IR View", javax.swing.border.TitledBorder.DEFAULT_JUSTIFICATION, javax.swing.border.TitledBorder.DEFAULT_POSITION, new java.awt.Font("Tahoma", 0, 11), new java.awt.Color(255, 0, 51)));
|
|
|
|
javax.swing.GroupLayout irViewPanelLayout = new javax.swing.GroupLayout(irViewPanel);
|
|
irViewPanel.setLayout(irViewPanelLayout);
|
|
irViewPanelLayout.setHorizontalGroup(
|
|
irViewPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
|
|
.addGap(0, 272, Short.MAX_VALUE)
|
|
);
|
|
irViewPanelLayout.setVerticalGroup(
|
|
irViewPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
|
|
.addGap(0, 299, Short.MAX_VALUE)
|
|
);
|
|
|
|
javax.swing.GroupLayout motionSensingPanelLayout = new javax.swing.GroupLayout(motionSensingPanel);
|
|
motionSensingPanel.setLayout(motionSensingPanelLayout);
|
|
motionSensingPanelLayout.setHorizontalGroup(
|
|
motionSensingPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
|
|
.addGap(0, 279, Short.MAX_VALUE)
|
|
);
|
|
motionSensingPanelLayout.setVerticalGroup(
|
|
motionSensingPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
|
|
.addGap(0, 213, Short.MAX_VALUE)
|
|
);
|
|
|
|
jTabbedPane1.addTab("Orientation", motionSensingPanel);
|
|
|
|
javax.swing.GroupLayout gForcePanelLayout = new javax.swing.GroupLayout(gForcePanel);
|
|
gForcePanel.setLayout(gForcePanelLayout);
|
|
gForcePanelLayout.setHorizontalGroup(
|
|
gForcePanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
|
|
.addGap(0, 279, Short.MAX_VALUE)
|
|
);
|
|
gForcePanelLayout.setVerticalGroup(
|
|
gForcePanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
|
|
.addGap(0, 213, Short.MAX_VALUE)
|
|
);
|
|
|
|
jTabbedPane1.addTab("GForce", gForcePanel);
|
|
|
|
javax.swing.GroupLayout accelerationPanelLayout = new javax.swing.GroupLayout(accelerationPanel);
|
|
accelerationPanel.setLayout(accelerationPanelLayout);
|
|
accelerationPanelLayout.setHorizontalGroup(
|
|
accelerationPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
|
|
.addGap(0, 279, Short.MAX_VALUE)
|
|
);
|
|
accelerationPanelLayout.setVerticalGroup(
|
|
accelerationPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
|
|
.addGap(0, 213, Short.MAX_VALUE)
|
|
);
|
|
|
|
jTabbedPane1.addTab("Raw Acceleration", accelerationPanel);
|
|
|
|
javax.swing.GroupLayout leftPanelLayout = new javax.swing.GroupLayout(leftPanel);
|
|
leftPanel.setLayout(leftPanelLayout);
|
|
leftPanelLayout.setHorizontalGroup(
|
|
leftPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
|
|
.addComponent(irViewPanel, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
|
|
.addComponent(jTabbedPane1, javax.swing.GroupLayout.DEFAULT_SIZE, 284, Short.MAX_VALUE)
|
|
);
|
|
leftPanelLayout.setVerticalGroup(
|
|
leftPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
|
|
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING, leftPanelLayout.createSequentialGroup()
|
|
.addComponent(jTabbedPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 238, javax.swing.GroupLayout.PREFERRED_SIZE)
|
|
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
|
|
.addComponent(irViewPanel, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
|
|
);
|
|
|
|
jTabbedPane1.getAccessibleContext().setAccessibleName("Orientation");
|
|
|
|
rightPanel.setBorder(javax.swing.BorderFactory.createEtchedBorder());
|
|
rightPanel.setLayout(new javax.swing.BoxLayout(rightPanel, javax.swing.BoxLayout.LINE_AXIS));
|
|
|
|
fixedWiimotePanel.setMaximumSize(new java.awt.Dimension(120, 32767));
|
|
fixedWiimotePanel.setMinimumSize(new java.awt.Dimension(120, 100));
|
|
fixedWiimotePanel.setPreferredSize(new java.awt.Dimension(120, 100));
|
|
fixedWiimotePanel.setRequestFocusEnabled(false);
|
|
fixedWiimotePanel.setLayout(null);
|
|
|
|
buttonsPanel.setMaximumSize(new java.awt.Dimension(120, 484));
|
|
buttonsPanel.setMinimumSize(new java.awt.Dimension(120, 484));
|
|
buttonsPanel.setOpaque(false);
|
|
buttonsPanel.setPreferredSize(new java.awt.Dimension(120, 484));
|
|
|
|
javax.swing.GroupLayout buttonsPanelLayout = new javax.swing.GroupLayout(buttonsPanel);
|
|
buttonsPanel.setLayout(buttonsPanelLayout);
|
|
buttonsPanelLayout.setHorizontalGroup(
|
|
buttonsPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
|
|
.addGap(0, 120, Short.MAX_VALUE)
|
|
);
|
|
buttonsPanelLayout.setVerticalGroup(
|
|
buttonsPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
|
|
.addGap(0, 484, Short.MAX_VALUE)
|
|
);
|
|
|
|
fixedWiimotePanel.add(buttonsPanel);
|
|
buttonsPanel.setBounds(0, 0, 120, 484);
|
|
|
|
rightPanel.add(fixedWiimotePanel);
|
|
|
|
controlsPanel.setMinimumSize(new java.awt.Dimension(100, 264));
|
|
controlsPanel.setPreferredSize(new java.awt.Dimension(190, 264));
|
|
controlsPanel.setLayout(new java.awt.GridLayout(16, 1));
|
|
|
|
toggleRumbleButton.setText("Activate Rumble");
|
|
toggleRumbleButton.addMouseListener(new java.awt.event.MouseAdapter() {
|
|
public void mousePressed(java.awt.event.MouseEvent evt) {
|
|
toggleRumbleButtonMousePressed(evt);
|
|
}
|
|
});
|
|
activateRumblePanel.add(toggleRumbleButton);
|
|
|
|
controlsPanel.add(activateRumblePanel);
|
|
|
|
toggleIRTrackingButton.setText("Activate IR Tracking");
|
|
toggleIRTrackingButton.addMouseListener(new java.awt.event.MouseAdapter() {
|
|
public void mousePressed(java.awt.event.MouseEvent evt) {
|
|
toggleIRTrackingButtonMousePressed(evt);
|
|
}
|
|
});
|
|
deactivateRumblePanel.add(toggleIRTrackingButton);
|
|
|
|
controlsPanel.add(deactivateRumblePanel);
|
|
|
|
toggleMotionSensingTrackingButton.setText("Activate motion sensing Tracking");
|
|
toggleMotionSensingTrackingButton.addMouseListener(new java.awt.event.MouseAdapter() {
|
|
public void mousePressed(java.awt.event.MouseEvent evt) {
|
|
toggleMotionSensingTrackingButtonMousePressed(evt);
|
|
}
|
|
});
|
|
activateIRtrackingPanel.add(toggleMotionSensingTrackingButton);
|
|
|
|
controlsPanel.add(activateIRtrackingPanel);
|
|
|
|
toggleSmoothingButton.setText("Activate Smoothing");
|
|
toggleSmoothingButton.addMouseListener(new java.awt.event.MouseAdapter() {
|
|
public void mousePressed(java.awt.event.MouseEvent evt) {
|
|
toggleSmoothingButtonMousePressed(evt);
|
|
}
|
|
});
|
|
deactivateIRTrackingPanel.add(toggleSmoothingButton);
|
|
|
|
controlsPanel.add(deactivateIRTrackingPanel);
|
|
|
|
toggleContinuousButton.setText("Activate Continuous");
|
|
toggleContinuousButton.addMouseListener(new java.awt.event.MouseAdapter() {
|
|
public void mousePressed(java.awt.event.MouseEvent evt) {
|
|
toggleContinuousButtonMousePressed(evt);
|
|
}
|
|
});
|
|
activateMotionSensingTrackingPanel.add(toggleContinuousButton);
|
|
|
|
controlsPanel.add(activateMotionSensingTrackingPanel);
|
|
|
|
led1Button.setText("Led1");
|
|
led1Button.addMouseListener(new java.awt.event.MouseAdapter() {
|
|
public void mousePressed(java.awt.event.MouseEvent evt) {
|
|
led1ButtonMousePressed(evt);
|
|
}
|
|
});
|
|
deactivateMotionSensingTrackingPanel.add(led1Button);
|
|
|
|
led2Button.setText("Led2");
|
|
led2Button.addMouseListener(new java.awt.event.MouseAdapter() {
|
|
public void mousePressed(java.awt.event.MouseEvent evt) {
|
|
led2ButtonMousePressed(evt);
|
|
}
|
|
});
|
|
deactivateMotionSensingTrackingPanel.add(led2Button);
|
|
|
|
led3Button.setText("Led3");
|
|
led3Button.addMouseListener(new java.awt.event.MouseAdapter() {
|
|
public void mousePressed(java.awt.event.MouseEvent evt) {
|
|
led3ButtonMousePressed(evt);
|
|
}
|
|
});
|
|
deactivateMotionSensingTrackingPanel.add(led3Button);
|
|
|
|
led4Button.setText("Led4");
|
|
led4Button.addMouseListener(new java.awt.event.MouseAdapter() {
|
|
public void mousePressed(java.awt.event.MouseEvent evt) {
|
|
led4ButtonMousePressed(evt);
|
|
}
|
|
});
|
|
deactivateMotionSensingTrackingPanel.add(led4Button);
|
|
|
|
setLedsButton.setText("Set leds");
|
|
setLedsButton.addMouseListener(new java.awt.event.MouseAdapter() {
|
|
public void mousePressed(java.awt.event.MouseEvent evt) {
|
|
setLedsButtonMousePressed(evt);
|
|
}
|
|
});
|
|
deactivateMotionSensingTrackingPanel.add(setLedsButton);
|
|
|
|
controlsPanel.add(deactivateMotionSensingTrackingPanel);
|
|
|
|
alphaSmoothingTextField.setMinimumSize(new java.awt.Dimension(100, 20));
|
|
alphaSmoothingTextField.setPreferredSize(new java.awt.Dimension(100, 20));
|
|
activateSmoothingPanel.add(alphaSmoothingTextField);
|
|
|
|
alphaSmoothingButton.setText("Set alpha smoothing");
|
|
alphaSmoothingButton.addMouseListener(new java.awt.event.MouseAdapter() {
|
|
public void mousePressed(java.awt.event.MouseEvent evt) {
|
|
alphaSmoothingButtonMousePressed(evt);
|
|
}
|
|
});
|
|
activateSmoothingPanel.add(alphaSmoothingButton);
|
|
|
|
controlsPanel.add(activateSmoothingPanel);
|
|
|
|
orientationThresholdTextField.setMinimumSize(new java.awt.Dimension(100, 20));
|
|
orientationThresholdTextField.setPreferredSize(new java.awt.Dimension(100, 20));
|
|
deactivateSmoothingPanel.add(orientationThresholdTextField);
|
|
|
|
orientationThresholdButton.setText("Set orientation threshold");
|
|
orientationThresholdButton.addMouseListener(new java.awt.event.MouseAdapter() {
|
|
public void mousePressed(java.awt.event.MouseEvent evt) {
|
|
orientationThresholdButtonMousePressed(evt);
|
|
}
|
|
});
|
|
deactivateSmoothingPanel.add(orientationThresholdButton);
|
|
|
|
controlsPanel.add(deactivateSmoothingPanel);
|
|
|
|
accelerationThresholdTextField.setPreferredSize(new java.awt.Dimension(100, 20));
|
|
activateContinuousPanel.add(accelerationThresholdTextField);
|
|
|
|
accelerationThresholdButton.setText("Set acceleration threshold");
|
|
accelerationThresholdButton.addMouseListener(new java.awt.event.MouseAdapter() {
|
|
public void mousePressed(java.awt.event.MouseEvent evt) {
|
|
accelerationThresholdButtonMousePressed(evt);
|
|
}
|
|
});
|
|
activateContinuousPanel.add(accelerationThresholdButton);
|
|
|
|
controlsPanel.add(activateContinuousPanel);
|
|
|
|
getStatusButton.setText("Get status");
|
|
getStatusButton.addMouseListener(new java.awt.event.MouseAdapter() {
|
|
public void mousePressed(java.awt.event.MouseEvent evt) {
|
|
getStatusButtonMousePressed(evt);
|
|
}
|
|
});
|
|
deactivateContinuousPanel.add(getStatusButton);
|
|
|
|
batteryText.setFont(new java.awt.Font("Tahoma", 0, 14));
|
|
batteryText.setText("Battery level :");
|
|
deactivateContinuousPanel.add(batteryText);
|
|
|
|
batteryLevelText.setFont(new java.awt.Font("Arial", 0, 14));
|
|
batteryLevelText.setText(" %");
|
|
deactivateContinuousPanel.add(batteryLevelText);
|
|
|
|
controlsPanel.add(deactivateContinuousPanel);
|
|
|
|
toggleSensorBarPositionButton.setText("Set sensor bar above");
|
|
toggleSensorBarPositionButton.addMouseListener(new java.awt.event.MouseAdapter() {
|
|
public void mousePressed(java.awt.event.MouseEvent evt) {
|
|
toggleSensorBarPositionButtonMousePressed(evt);
|
|
}
|
|
});
|
|
ledsPanel.add(toggleSensorBarPositionButton);
|
|
|
|
controlsPanel.add(ledsPanel);
|
|
|
|
toggleScreenAspectRatioButton.setText("Set screen aspect ratio 4/3");
|
|
toggleScreenAspectRatioButton.addMouseListener(new java.awt.event.MouseAdapter() {
|
|
public void mousePressed(java.awt.event.MouseEvent evt) {
|
|
toggleScreenAspectRatioButtonMousePressed(evt);
|
|
}
|
|
});
|
|
alphaSmoothingPanel.add(toggleScreenAspectRatioButton);
|
|
|
|
controlsPanel.add(alphaSmoothingPanel);
|
|
|
|
xLabel.setText("X");
|
|
orientationThresholdPanel.add(xLabel);
|
|
|
|
xResolutionTextField.setMinimumSize(new java.awt.Dimension(40, 20));
|
|
xResolutionTextField.setPreferredSize(new java.awt.Dimension(40, 20));
|
|
orientationThresholdPanel.add(xResolutionTextField);
|
|
|
|
yLabel.setText("Y");
|
|
orientationThresholdPanel.add(yLabel);
|
|
|
|
yResolutionTextField.setFocusTraversalPolicyProvider(true);
|
|
yResolutionTextField.setMinimumSize(new java.awt.Dimension(40, 20));
|
|
yResolutionTextField.setPreferredSize(new java.awt.Dimension(40, 20));
|
|
orientationThresholdPanel.add(yResolutionTextField);
|
|
|
|
setVirtualResolutionButton.setText("Set virtual resolution");
|
|
setVirtualResolutionButton.addMouseListener(new java.awt.event.MouseAdapter() {
|
|
public void mousePressed(java.awt.event.MouseEvent evt) {
|
|
setVirtualResolutionButtonMousePressed(evt);
|
|
}
|
|
});
|
|
orientationThresholdPanel.add(setVirtualResolutionButton);
|
|
|
|
controlsPanel.add(orientationThresholdPanel);
|
|
|
|
mouseIRControlButton.setText("Start infrared mouse control");
|
|
mouseIRControlButton.addMouseListener(new java.awt.event.MouseAdapter() {
|
|
public void mousePressed(java.awt.event.MouseEvent evt) {
|
|
mouseIRControlButtonMousePressed(evt);
|
|
}
|
|
});
|
|
accelerationThresholdPanel.add(mouseIRControlButton);
|
|
|
|
controlsPanel.add(accelerationThresholdPanel);
|
|
|
|
expansionText.setText("No expansion connected");
|
|
batteryPanel.add(expansionText);
|
|
|
|
controlsPanel.add(batteryPanel);
|
|
|
|
messageLabelText.setFont(new java.awt.Font("Tahoma", 0, 14));
|
|
messageLabelText.setText("Message : ");
|
|
messagesPanel.add(messageLabelText);
|
|
|
|
messageText.setFont(new java.awt.Font("Arial", 0, 14));
|
|
messageText.setText("None");
|
|
messagesPanel.add(messageText);
|
|
|
|
controlsPanel.add(messagesPanel);
|
|
|
|
rightPanel.add(controlsPanel);
|
|
|
|
javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
|
|
getContentPane().setLayout(layout);
|
|
layout.setHorizontalGroup(
|
|
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
|
|
.addGroup(layout.createSequentialGroup()
|
|
.addComponent(leftPanel, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
|
|
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
|
|
.addComponent(rightPanel, javax.swing.GroupLayout.DEFAULT_SIZE, 498, Short.MAX_VALUE))
|
|
);
|
|
layout.setVerticalGroup(
|
|
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
|
|
.addComponent(leftPanel, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
|
|
.addComponent(rightPanel, javax.swing.GroupLayout.DEFAULT_SIZE, 573, Short.MAX_VALUE)
|
|
);
|
|
|
|
java.awt.Dimension screenSize = java.awt.Toolkit.getDefaultToolkit().getScreenSize();
|
|
setBounds((screenSize.width-800)/2, (screenSize.height-600)/2, 800, 600);
|
|
}// </editor-fold>//GEN-END:initComponents
|
|
private void toggleRumbleButtonMousePressed(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_toggleRumbleButtonMousePressed
|
|
if (toggleRumbleButton.isEnabled()) {
|
|
wiimote.activateRumble();
|
|
toggleRumbleButton.setEnabled(false);
|
|
toggleRumbleButton.setText("Deactivate Rumble");
|
|
messageText.setText("Rumble activated");
|
|
} else {
|
|
wiimote.deactivateRumble();
|
|
toggleRumbleButton.setEnabled(true);
|
|
toggleRumbleButton.setText("Activate Rumble");
|
|
messageText.setText("Rumble deactivated");
|
|
}
|
|
}//GEN-LAST:event_toggleRumbleButtonMousePressed
|
|
|
|
private void toggleIRTrackingButtonMousePressed(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_toggleIRTrackingButtonMousePressed
|
|
if (toggleIRTrackingButton.isEnabled()) {
|
|
wiimote.activateIRTRacking();
|
|
toggleIRTrackingButton.setEnabled(false);
|
|
toggleIRTrackingButton.setText("Deactivate IR Tracking");
|
|
messageText.setText("IR Tracking activated");
|
|
} else {
|
|
wiimote.deactivateIRTRacking();
|
|
toggleIRTrackingButton.setEnabled(true);
|
|
toggleIRTrackingButton.setText("Activate IR Tracking");
|
|
((IRPanel) irViewPanel).onDisconnectionEvent(null);
|
|
messageText.setText("IR Tracking deactivated");
|
|
}
|
|
}//GEN-LAST:event_toggleIRTrackingButtonMousePressed
|
|
|
|
private void toggleMotionSensingTrackingButtonMousePressed(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_toggleMotionSensingTrackingButtonMousePressed
|
|
if (toggleMotionSensingTrackingButton.isEnabled()) {
|
|
wiimote.activateMotionSensing();
|
|
toggleMotionSensingTrackingButton.setEnabled(false);
|
|
toggleMotionSensingTrackingButton.setText("Deactivate Motion Sensing");
|
|
messageText.setText("Motion Sensing activated");
|
|
} else {
|
|
wiimote.deactivateMotionSensing();
|
|
toggleMotionSensingTrackingButton.setEnabled(true);
|
|
toggleMotionSensingTrackingButton.setText("Activate Motion Sensing");
|
|
((OrientationPanel) motionSensingPanel).onDisconnectionEvent(null);
|
|
((GForcePanel) gForcePanel).onDisconnectionEvent(null);
|
|
messageText.setText("Motion Sensing deactivated");
|
|
}
|
|
}//GEN-LAST:event_toggleMotionSensingTrackingButtonMousePressed
|
|
|
|
private void toggleSmoothingButtonMousePressed(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_toggleSmoothingButtonMousePressed
|
|
if (toggleSmoothingButton.isEnabled()) {
|
|
wiimote.activateSmoothing();
|
|
toggleSmoothingButton.setEnabled(false);
|
|
toggleSmoothingButton.setText("Deactivate Alpha Smoothing");
|
|
messageText.setText("Alpha Smoothing activated");
|
|
} else {
|
|
wiimote.deactivateSmoothing();
|
|
toggleSmoothingButton.setEnabled(true);
|
|
toggleSmoothingButton.setText("Activate Alpha Smoothing");
|
|
messageText.setText("Alpha Smoothing deactivated");
|
|
}
|
|
}//GEN-LAST:event_toggleSmoothingButtonMousePressed
|
|
|
|
private void toggleContinuousButtonMousePressed(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_toggleContinuousButtonMousePressed
|
|
if (toggleContinuousButton.isEnabled()) {
|
|
wiimote.activateContinuous();
|
|
toggleContinuousButton.setEnabled(false);
|
|
toggleContinuousButton.setText("Deactivate Continuous");
|
|
messageText.setText("Continuous activated");
|
|
} else {
|
|
wiimote.deactivateContinuous();
|
|
toggleContinuousButton.setEnabled(true);
|
|
toggleContinuousButton.setText("Activate Continuous");
|
|
messageText.setText("Continuous deactivated");
|
|
}
|
|
}//GEN-LAST:event_toggleContinuousButtonMousePressed
|
|
|
|
private void led1ButtonMousePressed(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_led1ButtonMousePressed
|
|
if (led1Button.isEnabled()) {
|
|
led1Button.setEnabled(false);
|
|
} else {
|
|
led1Button.setEnabled(true);
|
|
}
|
|
}//GEN-LAST:event_led1ButtonMousePressed
|
|
|
|
private void led2ButtonMousePressed(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_led2ButtonMousePressed
|
|
if (led2Button.isEnabled()) {
|
|
led2Button.setEnabled(false);
|
|
} else {
|
|
led2Button.setEnabled(true);
|
|
}
|
|
}//GEN-LAST:event_led2ButtonMousePressed
|
|
|
|
private void led3ButtonMousePressed(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_led3ButtonMousePressed
|
|
if (led3Button.isEnabled()) {
|
|
led3Button.setEnabled(false);
|
|
} else {
|
|
led3Button.setEnabled(true);
|
|
}
|
|
}//GEN-LAST:event_led3ButtonMousePressed
|
|
|
|
private void led4ButtonMousePressed(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_led4ButtonMousePressed
|
|
if (led4Button.isEnabled()) {
|
|
led4Button.setEnabled(false);
|
|
} else {
|
|
led4Button.setEnabled(true);
|
|
}
|
|
}//GEN-LAST:event_led4ButtonMousePressed
|
|
|
|
private void setLedsButtonMousePressed(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_setLedsButtonMousePressed
|
|
wiimote.setLeds(led1Button.isEnabled(), led2Button.isEnabled(),
|
|
led3Button.isEnabled(), led4Button.isEnabled());
|
|
messageText.setText("Leds set");
|
|
}//GEN-LAST:event_setLedsButtonMousePressed
|
|
|
|
private void alphaSmoothingButtonMousePressed(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_alphaSmoothingButtonMousePressed
|
|
try {
|
|
float nb = Float.parseFloat(alphaSmoothingTextField.getText());
|
|
wiimote.setAlphaSmoothingValue(nb);
|
|
messageText.setText("Alpha smoothing set to " + nb);
|
|
} catch (NumberFormatException e) {
|
|
messageText.setText("Number is not a float, alpha smoothing not set !");
|
|
}
|
|
}//GEN-LAST:event_alphaSmoothingButtonMousePressed
|
|
|
|
private void orientationThresholdButtonMousePressed(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_orientationThresholdButtonMousePressed
|
|
try {
|
|
float nb = Float.parseFloat(orientationThresholdTextField.getText());
|
|
wiimote.setOrientationThreshold(nb);
|
|
messageText.setText("Orientation threshold set to " + nb);
|
|
} catch (NumberFormatException e) {
|
|
messageText.setText("Number is not a float, orientation threshold not set !");
|
|
}
|
|
}//GEN-LAST:event_orientationThresholdButtonMousePressed
|
|
|
|
private void accelerationThresholdButtonMousePressed(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_accelerationThresholdButtonMousePressed
|
|
try {
|
|
int nb = Integer.parseInt(accelerationThresholdTextField.getText());
|
|
wiimote.setAccelerationThreshold(nb);
|
|
messageText.setText("Acceleration threshold set to " + nb);
|
|
} catch (NumberFormatException e) {
|
|
messageText.setText("Number is not an integer, acceleration threshold not set !");
|
|
}
|
|
}//GEN-LAST:event_accelerationThresholdButtonMousePressed
|
|
|
|
private void getStatusButtonMousePressed(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_getStatusButtonMousePressed
|
|
wiimote.getStatus();
|
|
statusMotionRequested = true;
|
|
statusIRRequested = true;
|
|
}//GEN-LAST:event_getStatusButtonMousePressed
|
|
|
|
private void toggleSensorBarPositionButtonMousePressed(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_toggleSensorBarPositionButtonMousePressed
|
|
if (toggleSensorBarPositionButton.isEnabled()) {
|
|
wiimote.setSensorBarBelowScreen();
|
|
toggleSensorBarPositionButton.setEnabled(false);
|
|
toggleSensorBarPositionButton.setText("Set sensor bar below");
|
|
messageText.setText("Sensor bar set above");
|
|
} else {
|
|
wiimote.setSensorBarAboveScreen();
|
|
toggleSensorBarPositionButton.setEnabled(true);
|
|
toggleSensorBarPositionButton.setText("Set sensor bar above");
|
|
messageText.setText("Sensor bar set below");
|
|
}
|
|
}//GEN-LAST:event_toggleSensorBarPositionButtonMousePressed
|
|
|
|
private void toggleScreenAspectRatioButtonMousePressed(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_toggleScreenAspectRatioButtonMousePressed
|
|
if (toggleScreenAspectRatioButton.isEnabled()) {
|
|
wiimote.setScreenAspectRatio43();
|
|
toggleScreenAspectRatioButton.setEnabled(false);
|
|
toggleScreenAspectRatioButton.setText("Set screen aspect ratio 16/9");
|
|
messageText.setText("creen aspect ratio to 4/3");
|
|
} else {
|
|
wiimote.setScreenAspectRatio169();
|
|
toggleScreenAspectRatioButton.setEnabled(true);
|
|
toggleScreenAspectRatioButton.setText("Set screen aspect ratio 4/3");
|
|
messageText.setText("Screen aspect ratio to 16/9");
|
|
}
|
|
}//GEN-LAST:event_toggleScreenAspectRatioButtonMousePressed
|
|
|
|
private void setVirtualResolutionButtonMousePressed(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_setVirtualResolutionButtonMousePressed
|
|
try {
|
|
int xres = Integer.parseInt(xResolutionTextField.getText());
|
|
int yres = Integer.parseInt(yResolutionTextField.getText());
|
|
wiimote.setVirtualResolution(xres, yres);
|
|
messageText.setText("Virtual resolution set to " + xres + "X" + yres);
|
|
} catch (NumberFormatException e) {
|
|
messageText.setText("A number in the virtual resolution is not an integer. Virtual resolution not set!");
|
|
}
|
|
}//GEN-LAST:event_setVirtualResolutionButtonMousePressed
|
|
|
|
private void mouseIRControlButtonMousePressed(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_mouseIRControlButtonMousePressed
|
|
if (mouseIRControlButton.isEnabled()) {
|
|
try {
|
|
mouseIRControlButton.setEnabled(false);
|
|
mouseIRControlButton.setText("Stop infrared mouse control");
|
|
robot = new Robot();
|
|
messageText.setText("Infrared mouse control started");
|
|
} catch (AWTException ex) {
|
|
Logger.getLogger(WiiuseJGuiTest.class.getName()).log(Level.SEVERE, null, ex);
|
|
}
|
|
} else {
|
|
mouseIRControlButton.setEnabled(true);
|
|
mouseIRControlButton.setText("Start infrared mouse control");
|
|
robot = null;
|
|
messageText.setText("Infrared mouse control stopped");
|
|
}
|
|
}//GEN-LAST:event_mouseIRControlButtonMousePressed
|
|
|
|
// Variables declaration - do not modify//GEN-BEGIN:variables
|
|
private javax.swing.JPanel accelerationPanel;
|
|
private javax.swing.JButton accelerationThresholdButton;
|
|
private javax.swing.JPanel accelerationThresholdPanel;
|
|
private javax.swing.JTextField accelerationThresholdTextField;
|
|
private javax.swing.JPanel activateContinuousPanel;
|
|
private javax.swing.JPanel activateIRtrackingPanel;
|
|
private javax.swing.JPanel activateMotionSensingTrackingPanel;
|
|
private javax.swing.JPanel activateRumblePanel;
|
|
private javax.swing.JPanel activateSmoothingPanel;
|
|
private javax.swing.JButton alphaSmoothingButton;
|
|
private javax.swing.JPanel alphaSmoothingPanel;
|
|
private javax.swing.JTextField alphaSmoothingTextField;
|
|
private javax.swing.JLabel batteryLevelText;
|
|
private javax.swing.JPanel batteryPanel;
|
|
private javax.swing.JLabel batteryText;
|
|
private javax.swing.JPanel buttonsPanel;
|
|
private javax.swing.JPanel controlsPanel;
|
|
private javax.swing.JPanel deactivateContinuousPanel;
|
|
private javax.swing.JPanel deactivateIRTrackingPanel;
|
|
private javax.swing.JPanel deactivateMotionSensingTrackingPanel;
|
|
private javax.swing.JPanel deactivateRumblePanel;
|
|
private javax.swing.JPanel deactivateSmoothingPanel;
|
|
private javax.swing.JLabel expansionText;
|
|
private javax.swing.JPanel fixedWiimotePanel;
|
|
private javax.swing.JPanel gForcePanel;
|
|
private javax.swing.JButton getStatusButton;
|
|
private javax.swing.JPanel irViewPanel;
|
|
private javax.swing.JTabbedPane jTabbedPane1;
|
|
private javax.swing.JButton led1Button;
|
|
private javax.swing.JButton led2Button;
|
|
private javax.swing.JButton led3Button;
|
|
private javax.swing.JButton led4Button;
|
|
private javax.swing.JPanel ledsPanel;
|
|
private javax.swing.JPanel leftPanel;
|
|
private javax.swing.JLabel messageLabelText;
|
|
private javax.swing.JLabel messageText;
|
|
private javax.swing.JPanel messagesPanel;
|
|
private javax.swing.JPanel motionSensingPanel;
|
|
private javax.swing.JButton mouseIRControlButton;
|
|
private javax.swing.JButton orientationThresholdButton;
|
|
private javax.swing.JPanel orientationThresholdPanel;
|
|
private javax.swing.JTextField orientationThresholdTextField;
|
|
private javax.swing.JPanel rightPanel;
|
|
private javax.swing.JButton setLedsButton;
|
|
private javax.swing.JButton setVirtualResolutionButton;
|
|
private javax.swing.JButton toggleContinuousButton;
|
|
private javax.swing.JButton toggleIRTrackingButton;
|
|
private javax.swing.JButton toggleMotionSensingTrackingButton;
|
|
private javax.swing.JButton toggleRumbleButton;
|
|
private javax.swing.JButton toggleScreenAspectRatioButton;
|
|
private javax.swing.JButton toggleSensorBarPositionButton;
|
|
private javax.swing.JButton toggleSmoothingButton;
|
|
private javax.swing.JLabel xLabel;
|
|
private javax.swing.JTextField xResolutionTextField;
|
|
private javax.swing.JLabel yLabel;
|
|
private javax.swing.JTextField yResolutionTextField;
|
|
// End of variables declaration//GEN-END:variables
|
|
}
|