/** * 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 . */ package wiiusej.test; import java.awt.AWTException; import java.awt.Robot; import java.awt.event.InputEvent; import java.awt.event.WindowEvent; import java.awt.event.WindowListener; import java.util.logging.Level; import java.util.logging.Logger; import javax.swing.JFrame; import wiiusej.WiiUseApiManager; import wiiusej.Wiimote; import wiiusej.utils.AccelerationPanel; import wiiusej.utils.AccelerationWiimoteEventPanel; import wiiusej.utils.ButtonsEventPanel; import wiiusej.utils.GForcePanel; import wiiusej.utils.IRPanel; import wiiusej.utils.OrientationPanel; import wiiusej.utils.OrientationWiimoteEventPanel; 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; /** * 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; private JFrame expansionFrame = null; private boolean isFirstStatusGot = false; private WindowListener buttonSetter = new WindowListener() { public void windowOpened(WindowEvent e) { // nothing } public void windowClosing(WindowEvent e) { // nothing } public void windowClosed(WindowEvent e) { // nothing } public void windowIconified(WindowEvent e) { // nothing } public void windowDeiconified(WindowEvent e) { // nothing } public void windowActivated(WindowEvent e) { showExpansionWiimoteButton.setEnabled(false); if (expansionFrame instanceof NunchukGuiTest){ showExpansionWiimoteButton.setText("Hide Nunchuk"); }else if(expansionFrame instanceof GuitarHero3GuiTest){ showExpansionWiimoteButton.setText("Hide Guitar"); }else if(expansionFrame instanceof ClassicControllerGuiTest){ showExpansionWiimoteButton.setText("Hide Classic Controller"); } } public void windowDeactivated(WindowEvent e) { showExpansionWiimoteButton.setEnabled(true); if (expansionFrame instanceof NunchukGuiTest){ showExpansionWiimoteButton.setText("Show Nunchuk"); }else if(expansionFrame instanceof GuitarHero3GuiTest){ showExpansionWiimoteButton.setText("Show Guitar"); }else if(expansionFrame instanceof ClassicControllerGuiTest){ showExpansionWiimoteButton.setText("Show Classic controller"); } } }; /** * default constructor */ public WiiuseJGuiTest() { initComponents(); this.addWindowListener(new CloseGuiTestCleanly()); } /** * Creates new form WiiuseJGuiTest */ public WiiuseJGuiTest(Wiimote wiimote) { initComponents(); this.addWindowListener(new CloseGuiTestCleanly()); if (wiimote != null) { this.wiimote = wiimote; registerListeners(); initWiimote(); isFirstStatusGot = false; getStatusButtonMousePressed(null); } } /** * Clear all views */ private void clearViews() { ((IRPanel) irViewPanel).clearView(); ((ButtonsEventPanel) buttonsPanel).clearView(); ((OrientationPanel) motionSensingPanel).clearView(); ((GForcePanel) gForcePanel).clearView(); ((AccelerationPanel) accelerationPanel).clearView(); } /** * Unregister all listeners. */ private void unregisterListeners() { wiimote.removeWiiMoteEventListeners((IRPanel) irViewPanel); wiimote.removeWiiMoteEventListeners((ButtonsEventPanel) buttonsPanel); wiimote .removeWiiMoteEventListeners((OrientationPanel) motionSensingPanel); wiimote.removeWiiMoteEventListeners((GForcePanel) gForcePanel); wiimote .removeWiiMoteEventListeners((AccelerationPanel) accelerationPanel); wiimote.removeWiiMoteEventListeners(this); } private void initWiimote() { wiimote.deactivateContinuous(); wiimote.deactivateSmoothing(); wiimote.setScreenAspectRatio169(); wiimote.setSensorBarBelowScreen(); } /** * Register all listeners */ private void registerListeners() { wiimote.addWiiMoteEventListeners((IRPanel) irViewPanel); wiimote.addWiiMoteEventListeners((ButtonsEventPanel) buttonsPanel); wiimote.addWiiMoteEventListeners((OrientationPanel) motionSensingPanel); wiimote.addWiiMoteEventListeners((GForcePanel) gForcePanel); wiimote.addWiiMoteEventListeners((AccelerationPanel) accelerationPanel); wiimote.addWiiMoteEventListeners(this); } 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 onExpansionEvent(ExpansionEvent e) { // nothing yet } public void onStatusEvent(StatusEvent arg0) { if (!isFirstStatusGot) { if (arg0.isNunchukConnected()) { showExpansionWiimoteButton.setEnabled(true); showExpansionWiimoteButton.setText("Show Nunchuk"); expansionFrame = new NunchukGuiTest(wiimote); expansionFrame .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.isGuitarHeroConnected()){ 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() + " %"); led1Button.setEnabled(arg0.isLed1Set()); led2Button.setEnabled(arg0.isLed2Set()); led3Button.setEnabled(arg0.isLed3Set()); led4Button.setEnabled(arg0.isLed4Set()); if (arg0.isNunchukConnected()) { ((NunchukGuiTest) expansionFrame).requestThresholdsUpdate(); } // 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 !"); unregisterListeners(); clearViews(); isFirstStatusGot = false; } public void onNunchukInsertedEvent(NunchukInsertedEvent e) { messageText.setText("Nunchuk connected !"); expansionText.setText("Expansion connected : Nunchuk."); showExpansionWiimoteButton.setEnabled(true); showExpansionWiimoteButton.setText("Show nunchuk"); expansionFrame = new NunchukGuiTest(wiimote); expansionFrame.setDefaultCloseOperation(JFrame.HIDE_ON_CLOSE); expansionFrame.addWindowListener(buttonSetter); } public void onNunchukRemovedEvent(NunchukRemovedEvent e) { messageText.setText("Nunchuk disconnected !"); expansionText.setText("No expansion connected."); showExpansionWiimoteButton.setEnabled(false); showExpansionWiimoteButton.setText("No expansion"); if (expansionFrame != null) { if (expansionFrame instanceof NunchukGuiTest) { ((NunchukGuiTest) expansionFrame).unRegisterListeners(); } expansionFrame.setEnabled(false); expansionFrame.dispose(); expansionFrame = null; } } public void onGuitarHeroInsertedEvent(GuitarHeroInsertedEvent arg0) { 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) { 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) { messageText.setText("Classic controller 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) { 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; } } /** * 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. */ // //GEN-BEGIN:initComponents private void initComponents() { leftPanel = new javax.swing.JPanel(); irViewPanel = new IRPanel(); jTabbedPane1 = new javax.swing.JTabbedPane(); accelerationPanel = new AccelerationWiimoteEventPanel(); motionSensingPanel = new OrientationWiimoteEventPanel(); gForcePanel = new wiiusej.utils.GForceWiimoteEventPanel(); rightPanel = new javax.swing.JPanel(); fixedWiimotePanel = new javax.swing.JPanel(); buttonsPanel = new ButtonsEventPanel(); controlsPanel = new javax.swing.JPanel(); activateRumbleIRPanel = new javax.swing.JPanel(); toggleRumbleButton = new javax.swing.JButton(); toggleIRTrackingButton = new javax.swing.JButton(); activateMotionSensingPanel = new javax.swing.JPanel(); toggleMotionSensingTrackingButton = new javax.swing.JButton(); activateSmoothingContinuousPanel = new javax.swing.JPanel(); toggleSmoothingButton = new javax.swing.JButton(); toggleContinuousButton = new javax.swing.JButton(); setLedsPanel = 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(); setAlphaSmoothingPanel = new javax.swing.JPanel(); alphaSmoothingTextField = new javax.swing.JTextField(); alphaSmoothingButton = new javax.swing.JButton(); setOrientationThresholdPanel = new javax.swing.JPanel(); orientationThresholdTextField = new javax.swing.JTextField(); orientationThresholdButton = new javax.swing.JButton(); setAccelerationThresholdPanel = new javax.swing.JPanel(); accelerationThresholdTextField = new javax.swing.JTextField(); accelerationThresholdButton = new javax.swing.JButton(); getStatusPanel = new javax.swing.JPanel(); getStatusButton = new javax.swing.JButton(); batteryText = new javax.swing.JLabel(); batteryLevelText = new javax.swing.JLabel(); setIrSensitivyPanel = new javax.swing.JPanel(); setIrSensitivySpinner = new javax.swing.JSpinner(); setIrSensitivyButton = new javax.swing.JButton(); setTimeoutButton = new javax.swing.JButton(); setTimeoutPanel = new javax.swing.JPanel(); normalTimeoutSpinner = new javax.swing.JSpinner(); normalTimeoutText = new javax.swing.JLabel(); expansionHandshakeTimeoutSpinner = new javax.swing.JSpinner(); expansionHandshakeTimeoutText = new javax.swing.JLabel(); setIRConfPanel = new javax.swing.JPanel(); toggleSensorBarPositionButton = new javax.swing.JButton(); toggleScreenAspectRatioButton = new javax.swing.JButton(); setVirtualResolutionPanel = 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(); startMouseControlPanel = new javax.swing.JPanel(); mouseIRControlButton = new javax.swing.JButton(); exPansionPanel = new javax.swing.JPanel(); expansionText = new javax.swing.JLabel(); expansionButtonPanel = new javax.swing.JPanel(); showExpansionWiimoteButton = new javax.swing.JButton(); showExpansionWiimoteButton.setEnabled(false); messagesPanel = new javax.swing.JPanel(); reconnectWiimotesButton = new javax.swing.JButton(); 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))); irViewPanel.setToolTipText("IREvent"); 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) ); accelerationPanel.setToolTipText("MotionSensingEvent"); 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("Acceleration", accelerationPanel); 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 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); } }); activateRumbleIRPanel.add(toggleRumbleButton); toggleIRTrackingButton.setText("Activate IR Tracking"); toggleIRTrackingButton.addMouseListener(new java.awt.event.MouseAdapter() { public void mousePressed(java.awt.event.MouseEvent evt) { toggleIRTrackingButtonMousePressed(evt); } }); activateRumbleIRPanel.add(toggleIRTrackingButton); controlsPanel.add(activateRumbleIRPanel); toggleMotionSensingTrackingButton.setText("Activate motion sensing Tracking"); toggleMotionSensingTrackingButton.addMouseListener(new java.awt.event.MouseAdapter() { public void mousePressed(java.awt.event.MouseEvent evt) { toggleMotionSensingTrackingButtonMousePressed(evt); } }); activateMotionSensingPanel.add(toggleMotionSensingTrackingButton); controlsPanel.add(activateMotionSensingPanel); toggleSmoothingButton.setText("Activate Smoothing"); toggleSmoothingButton.addMouseListener(new java.awt.event.MouseAdapter() { public void mousePressed(java.awt.event.MouseEvent evt) { toggleSmoothingButtonMousePressed(evt); } }); activateSmoothingContinuousPanel.add(toggleSmoothingButton); toggleContinuousButton.setText("Activate Continuous"); toggleContinuousButton.addMouseListener(new java.awt.event.MouseAdapter() { public void mousePressed(java.awt.event.MouseEvent evt) { toggleContinuousButtonMousePressed(evt); } }); activateSmoothingContinuousPanel.add(toggleContinuousButton); controlsPanel.add(activateSmoothingContinuousPanel); led1Button.setText("Led1"); led1Button.addMouseListener(new java.awt.event.MouseAdapter() { public void mousePressed(java.awt.event.MouseEvent evt) { led1ButtonMousePressed(evt); } }); setLedsPanel.add(led1Button); led2Button.setText("Led2"); led2Button.addMouseListener(new java.awt.event.MouseAdapter() { public void mousePressed(java.awt.event.MouseEvent evt) { led2ButtonMousePressed(evt); } }); setLedsPanel.add(led2Button); led3Button.setText("Led3"); led3Button.addMouseListener(new java.awt.event.MouseAdapter() { public void mousePressed(java.awt.event.MouseEvent evt) { led3ButtonMousePressed(evt); } }); setLedsPanel.add(led3Button); led4Button.setText("Led4"); led4Button.addMouseListener(new java.awt.event.MouseAdapter() { public void mousePressed(java.awt.event.MouseEvent evt) { led4ButtonMousePressed(evt); } }); setLedsPanel.add(led4Button); setLedsButton.setText("Set leds"); setLedsButton.addMouseListener(new java.awt.event.MouseAdapter() { public void mousePressed(java.awt.event.MouseEvent evt) { setLedsButtonMousePressed(evt); } }); setLedsPanel.add(setLedsButton); controlsPanel.add(setLedsPanel); alphaSmoothingTextField.setMinimumSize(new java.awt.Dimension(100, 20)); alphaSmoothingTextField.setPreferredSize(new java.awt.Dimension(100, 20)); setAlphaSmoothingPanel.add(alphaSmoothingTextField); alphaSmoothingButton.setText("Set alpha smoothing"); alphaSmoothingButton.addMouseListener(new java.awt.event.MouseAdapter() { public void mousePressed(java.awt.event.MouseEvent evt) { alphaSmoothingButtonMousePressed(evt); } }); setAlphaSmoothingPanel.add(alphaSmoothingButton); controlsPanel.add(setAlphaSmoothingPanel); orientationThresholdTextField.setMinimumSize(new java.awt.Dimension(100, 20)); orientationThresholdTextField.setPreferredSize(new java.awt.Dimension(100, 20)); setOrientationThresholdPanel.add(orientationThresholdTextField); orientationThresholdButton.setText("Set orientation threshold"); orientationThresholdButton.addMouseListener(new java.awt.event.MouseAdapter() { public void mousePressed(java.awt.event.MouseEvent evt) { orientationThresholdButtonMousePressed(evt); } }); setOrientationThresholdPanel.add(orientationThresholdButton); controlsPanel.add(setOrientationThresholdPanel); accelerationThresholdTextField.setPreferredSize(new java.awt.Dimension(100, 20)); setAccelerationThresholdPanel.add(accelerationThresholdTextField); accelerationThresholdButton.setText("Set acceleration threshold"); accelerationThresholdButton.addMouseListener(new java.awt.event.MouseAdapter() { public void mousePressed(java.awt.event.MouseEvent evt) { accelerationThresholdButtonMousePressed(evt); } }); setAccelerationThresholdPanel.add(accelerationThresholdButton); controlsPanel.add(setAccelerationThresholdPanel); getStatusButton.setText("Get status"); getStatusButton.addMouseListener(new java.awt.event.MouseAdapter() { public void mousePressed(java.awt.event.MouseEvent evt) { getStatusButtonMousePressed(evt); } }); getStatusPanel.add(getStatusButton); batteryText.setFont(new java.awt.Font("Tahoma", 0, 14)); batteryText.setText("Battery level :"); getStatusPanel.add(batteryText); batteryLevelText.setFont(new java.awt.Font("Arial", 0, 14)); batteryLevelText.setText(" %"); getStatusPanel.add(batteryLevelText); controlsPanel.add(getStatusPanel); setIrSensitivySpinner.setPreferredSize(new java.awt.Dimension(50, 18)); setIrSensitivySpinner.addChangeListener(new javax.swing.event.ChangeListener() { public void stateChanged(javax.swing.event.ChangeEvent evt) { setIrSensitivySpinnerStateChanged(evt); } }); setIrSensitivyPanel.add(setIrSensitivySpinner); setIrSensitivyButton.setText("SetIrSensivity"); setIrSensitivyButton.addMouseListener(new java.awt.event.MouseAdapter() { public void mousePressed(java.awt.event.MouseEvent evt) { setIrSensitivyButtonMousePressed(evt); } }); setIrSensitivyPanel.add(setIrSensitivyButton); setTimeoutButton.setText("Set timeouts in ms"); setTimeoutButton.addMouseListener(new java.awt.event.MouseAdapter() { public void mousePressed(java.awt.event.MouseEvent evt) { setTimeoutButtonMousePressed(evt); } }); setIrSensitivyPanel.add(setTimeoutButton); controlsPanel.add(setIrSensitivyPanel); normalTimeoutSpinner.setPreferredSize(new java.awt.Dimension(40, 18)); normalTimeoutSpinner.addChangeListener(new javax.swing.event.ChangeListener() { public void stateChanged(javax.swing.event.ChangeEvent evt) { normalTimeoutSpinnerStateChanged(evt); } }); setTimeoutPanel.add(normalTimeoutSpinner); normalTimeoutText.setText("Normal timeout"); setTimeoutPanel.add(normalTimeoutText); expansionHandshakeTimeoutSpinner.setPreferredSize(new java.awt.Dimension(40, 18)); expansionHandshakeTimeoutSpinner.addChangeListener(new javax.swing.event.ChangeListener() { public void stateChanged(javax.swing.event.ChangeEvent evt) { expansionHandshakeTimeoutSpinnerStateChanged(evt); } }); setTimeoutPanel.add(expansionHandshakeTimeoutSpinner); expansionHandshakeTimeoutText.setText("Expansion handshake timeout"); setTimeoutPanel.add(expansionHandshakeTimeoutText); controlsPanel.add(setTimeoutPanel); toggleSensorBarPositionButton.setText("Set sensor bar above"); toggleSensorBarPositionButton.addMouseListener(new java.awt.event.MouseAdapter() { public void mousePressed(java.awt.event.MouseEvent evt) { toggleSensorBarPositionButtonMousePressed(evt); } }); setIRConfPanel.add(toggleSensorBarPositionButton); 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); } }); setIRConfPanel.add(toggleScreenAspectRatioButton); controlsPanel.add(setIRConfPanel); xLabel.setText("X"); setVirtualResolutionPanel.add(xLabel); xResolutionTextField.setMinimumSize(new java.awt.Dimension(40, 20)); xResolutionTextField.setPreferredSize(new java.awt.Dimension(40, 20)); setVirtualResolutionPanel.add(xResolutionTextField); yLabel.setText("Y"); setVirtualResolutionPanel.add(yLabel); yResolutionTextField.setFocusTraversalPolicyProvider(true); yResolutionTextField.setMinimumSize(new java.awt.Dimension(40, 20)); yResolutionTextField.setPreferredSize(new java.awt.Dimension(40, 20)); setVirtualResolutionPanel.add(yResolutionTextField); setVirtualResolutionButton.setText("Set virtual resolution"); setVirtualResolutionButton.addMouseListener(new java.awt.event.MouseAdapter() { public void mousePressed(java.awt.event.MouseEvent evt) { setVirtualResolutionButtonMousePressed(evt); } }); setVirtualResolutionPanel.add(setVirtualResolutionButton); controlsPanel.add(setVirtualResolutionPanel); mouseIRControlButton.setText("Start infrared mouse control"); mouseIRControlButton.addMouseListener(new java.awt.event.MouseAdapter() { public void mousePressed(java.awt.event.MouseEvent evt) { mouseIRControlButtonMousePressed(evt); } }); startMouseControlPanel.add(mouseIRControlButton); controlsPanel.add(startMouseControlPanel); expansionText.setText("No expansion connected."); exPansionPanel.add(expansionText); controlsPanel.add(exPansionPanel); showExpansionWiimoteButton.setText("No expansion connected"); showExpansionWiimoteButton.addMouseListener(new java.awt.event.MouseAdapter() { public void mousePressed(java.awt.event.MouseEvent evt) { showExpansionWiimoteButtonMousePressed(evt); } }); expansionButtonPanel.add(showExpansionWiimoteButton); controlsPanel.add(expansionButtonPanel); reconnectWiimotesButton.setText("Reconnect wiimote"); reconnectWiimotesButton.addMouseListener(new java.awt.event.MouseAdapter() { public void mousePressed(java.awt.event.MouseEvent evt) { reconnectWiimotesButtonMousePressed(evt); } }); messagesPanel.add(reconnectWiimotesButton); 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); }// //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; if (expansionFrame instanceof NunchukGuiTest) { ((NunchukGuiTest) expansionFrame).requestThresholdsUpdate(); } }// 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 private void normalTimeoutSpinnerStateChanged( javax.swing.event.ChangeEvent evt) {// GEN-FIRST:event_normalTimeoutSpinnerStateChanged String value = normalTimeoutSpinner.getValue().toString(); boolean isInt = true; int valueInt = 0; try { valueInt = Integer.parseInt(value); } catch (NumberFormatException e) { isInt = false; messageText.setText("Wrong value for normal timeout."); } if (isInt) { if (valueInt > 1000) { normalTimeoutSpinner.setValue("1000"); } else if (valueInt < 0) { normalTimeoutSpinner.setValue("0"); } } }// GEN-LAST:event_normalTimeoutSpinnerStateChanged private void expansionHandshakeTimeoutSpinnerStateChanged( javax.swing.event.ChangeEvent evt) {// GEN-FIRST:event_expansionHandshakeTimeoutSpinnerStateChanged String value = expansionHandshakeTimeoutSpinner.getValue().toString(); boolean isInt = true; int valueInt = 0; try { valueInt = Integer.parseInt(value); } catch (NumberFormatException e) { isInt = false; messageText.setText("Wrong value for expansion handshake timeout."); } if (isInt) { if (valueInt > 1000) { expansionHandshakeTimeoutSpinner.setValue("1000"); } else if (valueInt < 0) { expansionHandshakeTimeoutSpinner.setValue("0"); } } }// GEN-LAST:event_expansionHandshakeTimeoutSpinnerStateChanged private void setIrSensitivySpinnerStateChanged( javax.swing.event.ChangeEvent evt) {// GEN-FIRST:event_setIrSensitivySpinnerStateChanged String value = setIrSensitivySpinner.getValue().toString(); boolean isInt = true; int valueInt = 0; try { valueInt = Integer.parseInt(value); } catch (NumberFormatException e) { isInt = false; messageText.setText("Wrong value for IR senstivity."); } if (isInt) { if (valueInt > 5) { setIrSensitivySpinner.setValue("1000"); } else if (valueInt < 0) { setIrSensitivySpinner.setValue("0"); } } }// GEN-LAST:event_setIrSensitivySpinnerStateChanged private void setIrSensitivyButtonMousePressed(java.awt.event.MouseEvent evt) {// GEN-FIRST:event_setIrSensitivyButtonMousePressed String value = setIrSensitivySpinner.getValue().toString(); boolean isInt = true; int valueInt = 0; try { valueInt = Integer.parseInt(value); } catch (NumberFormatException e) { isInt = false; messageText .setText("Wrong value for IR sensitivity. It must be an int !"); } if (isInt) { if (valueInt >= 1 && valueInt <= 5) { wiimote.setIrSensitivity(valueInt); messageText.setText("IR senstivity set to: " + valueInt + "."); } else { messageText .setText("Wrong value for IR senstivity. It muset be between 1 and 5 !"); } } }// GEN-LAST:event_setIrSensitivyButtonMousePressed private void setTimeoutButtonMousePressed(java.awt.event.MouseEvent evt) {// GEN-FIRST:event_setTimeoutButtonMousePressed // get normal timeout String value = normalTimeoutSpinner.getValue().toString(); boolean isInt = true; short valueInt = 0; try { valueInt = Short.parseShort(value); } catch (NumberFormatException e) { isInt = false; messageText .setText("Wrong value for normal timeout. It must be an int !"); } // get expansion handshake timeout String value2 = expansionHandshakeTimeoutSpinner.getValue().toString(); boolean isInt2 = true; short valueInt2 = 0; try { valueInt2 = Short.parseShort(value2); } catch (NumberFormatException e) { isInt2 = false; messageText .setText("Wrong value for expansion handshake timeout. It must be an int !"); } if (isInt && isInt2) { if (valueInt > 0 && valueInt2 > 0) { wiimote.setTimeout(valueInt, valueInt2); messageText.setText("Normal timeout set to: " + valueInt + " and expansion handshake timeout set to: " + valueInt2 + "!"); } else { messageText .setText("Wrong value for one of the timeout value. It must be an integer > 0 !"); } } }// GEN-LAST:event_setTimeoutButtonMousePressed private void reconnectWiimotesButtonMousePressed( java.awt.event.MouseEvent evt) {// GEN-FIRST:event_reconnectWiimotesButtonMousePressed // stop manager WiiUseApiManager.shutdown(); // unregister previous wiimote if (wiimote != null) { onDisconnectionEvent(null); } // Reset Gui // remove frame for expansion if (expansionFrame != null) { if (expansionFrame instanceof NunchukGuiTest) { ((NunchukGuiTest) expansionFrame).unRegisterListeners(); }else if (expansionFrame instanceof ClassicControllerGuiTest) { ((ClassicControllerGuiTest) expansionFrame).unRegisterListeners(); } expansionFrame.setEnabled(false); expansionFrame.dispose(); expansionFrame = null; } // setup buttons In first state toggleRumbleButton.setText("Activate Rumble"); toggleRumbleButton.setEnabled(true); toggleMotionSensingTrackingButton .setText("Activate motion sensing Tracking"); toggleMotionSensingTrackingButton.setEnabled(true); toggleIRTrackingButton.setText("Activate IR Tracking"); toggleIRTrackingButton.setEnabled(true); toggleContinuousButton.setText("Activate Continuous"); toggleContinuousButton.setEnabled(true); toggleScreenAspectRatioButton.setText("Set screen aspect ratio 4/3"); toggleScreenAspectRatioButton.setEnabled(true); toggleSensorBarPositionButton.setText("Set sensor bar above"); toggleSensorBarPositionButton.setEnabled(true); toggleSmoothingButton.setText("Activate Smoothing"); toggleSmoothingButton.setEnabled(true); mouseIRControlButton.setText("Start infrared mouse control"); mouseIRControlButton.setEnabled(true); // get wiimote Wiimote[] listWiimote = WiiUseApiManager.getWiimotes(1, true); if (listWiimote != null && listWiimote.length > 0) { wiimote = listWiimote[0]; // registers listeners registerListeners(); initWiimote(); isFirstStatusGot = false; getStatusButtonMousePressed(null); } }// GEN-LAST:event_reconnectWiimotesButtonMousePressed private void showExpansionWiimoteButtonMousePressed( java.awt.event.MouseEvent evt) {// GEN-FIRST:event_showExpansionWiimoteButtonMousePressed if (expansionFrame != null) { if (showExpansionWiimoteButton.isEnabled()) {// expansion frame // not shown // show it expansionFrame.setEnabled(true); expansionFrame.setVisible(true); showExpansionWiimoteButton.setEnabled(false); if (expansionFrame instanceof NunchukGuiTest){ showExpansionWiimoteButton.setText("Hide Nunchuk"); messageText.setText("Nunchuk displayed !"); }else if(expansionFrame instanceof GuitarHero3GuiTest){ showExpansionWiimoteButton.setText("Hide Guitar"); messageText.setText("Guitar displayed !"); }else if(expansionFrame instanceof ClassicControllerGuiTest){ showExpansionWiimoteButton.setText("Hide Classic controller"); messageText.setText("Classic controller displayed !"); } } else {// already being shown expansionFrame.setEnabled(false); expansionFrame.setVisible(false); showExpansionWiimoteButton.setEnabled(true); if (expansionFrame instanceof NunchukGuiTest){ showExpansionWiimoteButton.setText("Show Nunchuk"); messageText.setText("Nunchuk hidden !"); }else if(expansionFrame instanceof GuitarHero3GuiTest){ showExpansionWiimoteButton.setText("Show Guitar"); messageText.setText("Guitar hidden !"); }else if(expansionFrame instanceof ClassicControllerGuiTest){ showExpansionWiimoteButton.setText("Show Classic controller"); messageText.setText("Classic controller hidden !"); } } } }// GEN-LAST:event_showExpansionWiimoteButtonMousePressed // Variables declaration - do not modify//GEN-BEGIN:variables private javax.swing.JPanel accelerationPanel; private javax.swing.JButton accelerationThresholdButton; private javax.swing.JTextField accelerationThresholdTextField; private javax.swing.JPanel activateMotionSensingPanel; private javax.swing.JPanel activateRumbleIRPanel; private javax.swing.JPanel activateSmoothingContinuousPanel; private javax.swing.JButton alphaSmoothingButton; private javax.swing.JTextField alphaSmoothingTextField; private javax.swing.JLabel batteryLevelText; private javax.swing.JLabel batteryText; private javax.swing.JPanel buttonsPanel; private javax.swing.JPanel controlsPanel; private javax.swing.JPanel exPansionPanel; private javax.swing.JPanel expansionButtonPanel; private javax.swing.JSpinner expansionHandshakeTimeoutSpinner; private javax.swing.JLabel expansionHandshakeTimeoutText; private javax.swing.JLabel expansionText; private javax.swing.JPanel fixedWiimotePanel; private javax.swing.JPanel gForcePanel; private javax.swing.JButton getStatusButton; private javax.swing.JPanel getStatusPanel; 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 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.JSpinner normalTimeoutSpinner; private javax.swing.JLabel normalTimeoutText; private javax.swing.JButton orientationThresholdButton; private javax.swing.JTextField orientationThresholdTextField; private javax.swing.JButton reconnectWiimotesButton; private javax.swing.JPanel rightPanel; private javax.swing.JPanel setAccelerationThresholdPanel; private javax.swing.JPanel setAlphaSmoothingPanel; private javax.swing.JPanel setIRConfPanel; private javax.swing.JButton setIrSensitivyButton; private javax.swing.JPanel setIrSensitivyPanel; private javax.swing.JSpinner setIrSensitivySpinner; private javax.swing.JButton setLedsButton; private javax.swing.JPanel setLedsPanel; private javax.swing.JPanel setOrientationThresholdPanel; private javax.swing.JButton setTimeoutButton; private javax.swing.JPanel setTimeoutPanel; private javax.swing.JButton setVirtualResolutionButton; private javax.swing.JPanel setVirtualResolutionPanel; private javax.swing.JButton showExpansionWiimoteButton; private javax.swing.JPanel startMouseControlPanel; 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 }