/*
* HalfNES by Andrew Hoffman
* Licensed under the GNU GPL Version 3. See LICENSE file
*/
/*
* OptionsDialog.java
*
* Created on Jan 16, 2011, 4:21:43 PM
*/
package com.grapeshot.halfnes.ui;
import com.grapeshot.halfnes.PrefsSingleton;
import java.awt.event.KeyEvent;
import java.util.logging.Level;
import java.util.logging.Logger;
import java.util.prefs.BackingStoreException;
import java.util.prefs.Preferences;
/**
*
* @author Andrew
*/
public class ControlsDialog extends javax.swing.JDialog {
private int[][] keys;
private boolean okClicked = false;
/**
* Creates new form ControlsDialog
*/
public ControlsDialog(java.awt.Frame parent) {
super(parent, true);
Preferences prefs = PrefsSingleton.get();
int[][] keys = {{prefs.getInt("keyUp1", KeyEvent.VK_UP),
prefs.getInt("keyDown1", KeyEvent.VK_DOWN),
prefs.getInt("keyLeft1", KeyEvent.VK_LEFT),
prefs.getInt("keyRight1", KeyEvent.VK_RIGHT),
prefs.getInt("keyA1", KeyEvent.VK_X),
prefs.getInt("keyB1", KeyEvent.VK_Z),
prefs.getInt("keySelect1", KeyEvent.VK_SHIFT),
prefs.getInt("keyStart1", KeyEvent.VK_ENTER),}, {
prefs.getInt("keyUp2", KeyEvent.VK_W),
prefs.getInt("keyDown2", KeyEvent.VK_S),
prefs.getInt("keyLeft2", KeyEvent.VK_A),
prefs.getInt("keyRight2", KeyEvent.VK_D),
prefs.getInt("keyA2", KeyEvent.VK_G),
prefs.getInt("keyB2", KeyEvent.VK_F),
prefs.getInt("keySelect2", KeyEvent.VK_R),
prefs.getInt("keyStart2", KeyEvent.VK_T)}};
this.keys = keys;
initComponents();
this.setTitle("HalfNES Controller Settings");
//set all of the text boxes
jField1Up.setText(KeyEvent.getKeyText(keys[0][0]));
jField1Down.setText(KeyEvent.getKeyText(keys[0][1]));
jField1Left.setText(KeyEvent.getKeyText(keys[0][2]));
jField1Right.setText(KeyEvent.getKeyText(keys[0][3]));
jField1A.setText(KeyEvent.getKeyText(keys[0][4]));
jField1B.setText(KeyEvent.getKeyText(keys[0][5]));
jField1Select.setText(KeyEvent.getKeyText(keys[0][6]));
jField1Start.setText(KeyEvent.getKeyText(keys[0][7]));
jField2Up.setText(KeyEvent.getKeyText(keys[1][0]));
jField2Down.setText(KeyEvent.getKeyText(keys[1][1]));
jField2Left.setText(KeyEvent.getKeyText(keys[1][2]));
jField2Right.setText(KeyEvent.getKeyText(keys[1][3]));
jField2A.setText(KeyEvent.getKeyText(keys[1][4]));
jField2B.setText(KeyEvent.getKeyText(keys[1][5]));
jField2Select.setText(KeyEvent.getKeyText(keys[1][6]));
jField2Start.setText(KeyEvent.getKeyText(keys[1][7]));
//set the controller text if we've detected some
String ctrl1 = prefs.get("controller0", "");
String ctrl2 = prefs.get("controller1", "");
if (!ctrl1.isEmpty()) {
jLabelCtrl1.setText(ctrl1);
}
if (!ctrl2.isEmpty()) {
jLabelCtrl2.setText(ctrl2);
}
jButtonOK.setActionCommand("OK");
jButtonCancel.setActionCommand("Cancel");
}
/**
* 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.
*/
@SuppressWarnings("unchecked")
// <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents
private void initComponents() {
buttonGroup1 = new javax.swing.ButtonGroup();
jLabel3 = new javax.swing.JLabel();
jLabel4 = new javax.swing.JLabel();
jLabel5 = new javax.swing.JLabel();
jLabel6 = new javax.swing.JLabel();
jLabel7 = new javax.swing.JLabel();
jLabel8 = new javax.swing.JLabel();
jLabel9 = new javax.swing.JLabel();
jLabel10 = new javax.swing.JLabel();
jLabel11 = new javax.swing.JLabel();
jLabel12 = new javax.swing.JLabel();
jLabel13 = new javax.swing.JLabel();
jField1Up = new javax.swing.JTextField();
jField1Down = new javax.swing.JTextField();
jField1Right = new javax.swing.JTextField();
jField1Left = new javax.swing.JTextField();
jField1Start = new javax.swing.JTextField();
jField1Select = new javax.swing.JTextField();
jField1B = new javax.swing.JTextField();
jField1A = new javax.swing.JTextField();
jField2Up = new javax.swing.JTextField();
jField2Down = new javax.swing.JTextField();
jField2Left = new javax.swing.JTextField();
jField2Right = new javax.swing.JTextField();
jField2A = new javax.swing.JTextField();
jField2B = new javax.swing.JTextField();
jField2Select = new javax.swing.JTextField();
jField2Start = new javax.swing.JTextField();
jButtonCancel = new javax.swing.JButton();
jButtonOK = new javax.swing.JButton();
jLabel16 = new javax.swing.JLabel();
jLabel1 = new javax.swing.JLabel();
jLabelCtrl1 = new javax.swing.JLabel();
jButton1 = new javax.swing.JButton();
jButton2 = new javax.swing.JButton();
jLabelCtrl2 = new javax.swing.JLabel();
setModalityType(java.awt.Dialog.ModalityType.APPLICATION_MODAL);
setName("ControlsDialog"); // NOI18N
setResizable(false);
jLabel3.setFont(new java.awt.Font("Tahoma", 1, 11)); // NOI18N
jLabel3.setText("Keybindings:"); // NOI18N
jLabel4.setText("Controller 1"); // NOI18N
jLabel5.setText("Controller 2"); // NOI18N
jLabel6.setText("Up"); // NOI18N
jLabel7.setText("Down"); // NOI18N
jLabel8.setText("Left"); // NOI18N
jLabel9.setText("Right"); // NOI18N
jLabel10.setText("A"); // NOI18N
jLabel11.setText("B"); // NOI18N
jLabel12.setText("Select"); // NOI18N
jLabel13.setText("Start"); // NOI18N
jField1Up.setMinimumSize(new java.awt.Dimension(120, 20));
jField1Up.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jField2StartActionPerformed(evt);
}
});
jField1Up.addKeyListener(new java.awt.event.KeyAdapter() {
public void keyReleased(java.awt.event.KeyEvent evt) {
jField1UpKeyReleased(evt);
}
});
jField1Down.setMinimumSize(new java.awt.Dimension(120, 20));
jField1Down.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jField2StartActionPerformed(evt);
}
});
jField1Down.addKeyListener(new java.awt.event.KeyAdapter() {
public void keyReleased(java.awt.event.KeyEvent evt) {
jField1DownKeyReleased(evt);
}
});
jField1Right.setMinimumSize(new java.awt.Dimension(120, 20));
jField1Right.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jField2StartActionPerformed(evt);
}
});
jField1Right.addKeyListener(new java.awt.event.KeyAdapter() {
public void keyReleased(java.awt.event.KeyEvent evt) {
jField1RightKeyReleased(evt);
}
});
jField1Left.setMinimumSize(new java.awt.Dimension(120, 20));
jField1Left.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jField2StartActionPerformed(evt);
}
});
jField1Left.addKeyListener(new java.awt.event.KeyAdapter() {
public void keyReleased(java.awt.event.KeyEvent evt) {
jField1LeftKeyReleased(evt);
}
});
jField1Start.setMinimumSize(new java.awt.Dimension(120, 20));
jField1Start.addKeyListener(new java.awt.event.KeyAdapter() {
public void keyReleased(java.awt.event.KeyEvent evt) {
jField1StartKeyReleased(evt);
}
});
jField1Select.setMinimumSize(new java.awt.Dimension(120, 20));
jField1Select.addKeyListener(new java.awt.event.KeyAdapter() {
public void keyReleased(java.awt.event.KeyEvent evt) {
jField1SelectKeyReleased(evt);
}
});
jField1B.setMinimumSize(new java.awt.Dimension(120, 20));
jField1B.addKeyListener(new java.awt.event.KeyAdapter() {
public void keyReleased(java.awt.event.KeyEvent evt) {
jField1BKeyReleased(evt);
}
});
jField1A.setMinimumSize(new java.awt.Dimension(120, 20));
jField1A.addKeyListener(new java.awt.event.KeyAdapter() {
public void keyReleased(java.awt.event.KeyEvent evt) {
jField1AKeyReleased(evt);
}
});
jField2Up.setMinimumSize(new java.awt.Dimension(120, 20));
jField2Up.addKeyListener(new java.awt.event.KeyAdapter() {
public void keyReleased(java.awt.event.KeyEvent evt) {
jField2UpKeyReleased(evt);
}
});
jField2Down.setMinimumSize(new java.awt.Dimension(120, 20));
jField2Down.addKeyListener(new java.awt.event.KeyAdapter() {
public void keyReleased(java.awt.event.KeyEvent evt) {
jField2DownKeyReleased(evt);
}
});
jField2Left.setMinimumSize(new java.awt.Dimension(120, 20));
jField2Left.addKeyListener(new java.awt.event.KeyAdapter() {
public void keyReleased(java.awt.event.KeyEvent evt) {
jField2LeftKeyReleased(evt);
}
});
jField2Right.setMinimumSize(new java.awt.Dimension(120, 20));
jField2Right.addKeyListener(new java.awt.event.KeyAdapter() {
public void keyReleased(java.awt.event.KeyEvent evt) {
jField2RightKeyReleased(evt);
}
});
jField2A.setMinimumSize(new java.awt.Dimension(120, 20));
jField2A.addKeyListener(new java.awt.event.KeyAdapter() {
public void keyReleased(java.awt.event.KeyEvent evt) {
jField2AKeyReleased(evt);
}
});
jField2B.setMinimumSize(new java.awt.Dimension(120, 20));
jField2B.addKeyListener(new java.awt.event.KeyAdapter() {
public void keyReleased(java.awt.event.KeyEvent evt) {
jField2BKeyReleased(evt);
}
});
jField2Select.setMinimumSize(new java.awt.Dimension(120, 20));
jField2Select.addKeyListener(new java.awt.event.KeyAdapter() {
public void keyReleased(java.awt.event.KeyEvent evt) {
jField2SelectKeyReleased(evt);
}
});
jField2Start.setMinimumSize(new java.awt.Dimension(120, 20));
jField2Start.addKeyListener(new java.awt.event.KeyAdapter() {
public void keyReleased(java.awt.event.KeyEvent evt) {
jField2StartKeyReleased(evt);
}
});
jButtonCancel.setText("Cancel"); // NOI18N
jButtonCancel.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jButtonCancelActionPerformed(evt);
}
});
jButtonOK.setText("OK"); // NOI18N
jButtonOK.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jButtonOKActionPerformed(evt);
}
});
jLabel16.setText(" Click in text box and type a key to change that binding."); // NOI18N
jLabel1.setFont(new java.awt.Font("Tahoma", 1, 11)); // NOI18N
jLabel1.setText("Detected Game Controllers:");
jLabelCtrl1.setText("No Player 1 controller connected");
jLabelCtrl1.setEnabled(false);
jButton1.setText("Set Buttons");
jButton1.setEnabled(false);
jButton1.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jButton1ActionPerformed(evt);
}
});
jButton2.setText("Set Buttons");
jButton2.setEnabled(false);
jButton2.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jButton2ActionPerformed(evt);
}
});
jLabelCtrl2.setText("No Player 2 controller connected");
jLabelCtrl2.setEnabled(false);
javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
getContentPane().setLayout(layout);
layout.setHorizontalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(jLabel1)
.addComponent(jLabel16)
.addGroup(layout.createSequentialGroup()
.addGap(49, 49, 49)
.addComponent(jLabel4)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
.addComponent(jLabel5))
.addComponent(jLabel3)
.addGroup(layout.createSequentialGroup()
.addGap(10, 10, 10)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
.addComponent(jLabel7)
.addComponent(jLabel8)
.addComponent(jLabel9)
.addComponent(jLabel10)
.addComponent(jLabel11)
.addComponent(jLabel13)
.addComponent(jLabel6)
.addComponent(jLabel12))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(jField1Right, javax.swing.GroupLayout.PREFERRED_SIZE, 60, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jField1Left, javax.swing.GroupLayout.PREFERRED_SIZE, 60, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jField1B, javax.swing.GroupLayout.PREFERRED_SIZE, 60, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jField1A, javax.swing.GroupLayout.PREFERRED_SIZE, 60, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jField1Start, javax.swing.GroupLayout.PREFERRED_SIZE, 60, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jField1Select, javax.swing.GroupLayout.PREFERRED_SIZE, 60, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jField1Up, javax.swing.GroupLayout.PREFERRED_SIZE, 60, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jField1Down, javax.swing.GroupLayout.PREFERRED_SIZE, 60, javax.swing.GroupLayout.PREFERRED_SIZE))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(jField2Select, javax.swing.GroupLayout.PREFERRED_SIZE, 60, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jField2B, javax.swing.GroupLayout.PREFERRED_SIZE, 60, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jField2Start, javax.swing.GroupLayout.PREFERRED_SIZE, 60, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jField2A, javax.swing.GroupLayout.PREFERRED_SIZE, 60, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jField2Right, javax.swing.GroupLayout.PREFERRED_SIZE, 60, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jField2Up, javax.swing.GroupLayout.PREFERRED_SIZE, 60, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jField2Down, javax.swing.GroupLayout.PREFERRED_SIZE, 60, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jField2Left, javax.swing.GroupLayout.PREFERRED_SIZE, 60, javax.swing.GroupLayout.PREFERRED_SIZE)))
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
.addGroup(layout.createSequentialGroup()
.addComponent(jButtonOK, javax.swing.GroupLayout.PREFERRED_SIZE, 60, javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(jButtonCancel))
.addGroup(layout.createSequentialGroup()
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(jLabelCtrl1)
.addComponent(jLabelCtrl2))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(jButton2)
.addComponent(jButton1))))))
);
layout.linkSize(javax.swing.SwingConstants.HORIZONTAL, new java.awt.Component[] {jField1A, jField1B, jField1Down, jField1Left, jField1Right, jField1Select, jField1Start, jField1Up, jField2A, jField2B, jField2Down, jField2Left, jField2Right, jField2Select, jField2Start, jField2Up});
layout.setVerticalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addComponent(jLabel3)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(jLabel16, javax.swing.GroupLayout.PREFERRED_SIZE, 14, javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(11, 11, 11)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(jLabel4)
.addComponent(jLabel5))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(jField2Up, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addGroup(layout.createSequentialGroup()
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(jLabel6)
.addComponent(jField1Up, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(jField1Down, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jLabel7))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(jField1Left, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jLabel8))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(jField1Right, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jLabel9)
.addComponent(jField2Right, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(jField1A, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jLabel10)
.addComponent(jField2A, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)))
.addGroup(layout.createSequentialGroup()
.addGap(31, 31, 31)
.addComponent(jField2Down, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
.addComponent(jField2Left, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(jField1B, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jLabel11)
.addComponent(jField2B, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(jField1Select, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jLabel12)
.addComponent(jField2Select, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(jField1Start, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jLabel13)
.addComponent(jField2Start, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(jLabel1)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(jLabelCtrl1)
.addComponent(jButton2))
.addGap(12, 12, 12)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(jLabelCtrl2)
.addComponent(jButton1))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(jButtonOK)
.addComponent(jButtonCancel))
.addGap(0, 8, Short.MAX_VALUE))
);
layout.linkSize(javax.swing.SwingConstants.VERTICAL, new java.awt.Component[] {jField1A, jField1B, jField1Down, jField1Left, jField1Right, jField1Select, jField1Start, jField1Up, jField2A, jField2B, jField2Down, jField2Left, jField2Right, jField2Select, jField2Start, jField2Up});
pack();
}// </editor-fold>//GEN-END:initComponents
private void jButtonCancelActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButtonCancelActionPerformed
if ("Cancel".equals(evt.getActionCommand())) {
this.setVisible(false);
}
}//GEN-LAST:event_jButtonCancelActionPerformed
private void jButtonOKActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButtonOKActionPerformed
// if ("OK".equals(evt.getActionCommand())) {
//here we go... save everything and hide the window
Preferences prefs = PrefsSingleton.get();
prefs.putInt("keyUp1", keys[0][0]);
prefs.putInt("keyDown1", keys[0][1]);
prefs.putInt("keyLeft1", keys[0][2]);
prefs.putInt("keyRight1", keys[0][3]);
prefs.putInt("keyA1", keys[0][4]);
prefs.putInt("keyB1", keys[0][5]);
prefs.putInt("keySelect1", keys[0][6]);
prefs.putInt("keyStart1", keys[0][7]);
prefs.putInt("keyUp2", keys[1][0]);
prefs.putInt("keyDown2", keys[1][1]);
prefs.putInt("keyLeft2", keys[1][2]);
prefs.putInt("keyRight2", keys[1][3]);
prefs.putInt("keyA2", keys[1][4]);
prefs.putInt("keyB2", keys[1][5]);
prefs.putInt("keySelect2", keys[1][6]);
prefs.putInt("keyStart2", keys[1][7]);
try {
prefs.flush();
} catch (BackingStoreException ex) {
Logger.getLogger(ControlsDialog.class.getName()).log(Level.SEVERE, null, ex);
}
okClicked = true;
this.setVisible(false);
// }
}//GEN-LAST:event_jButtonOKActionPerformed
public boolean okClicked() {
return okClicked;
}
private void jField1UpKeyReleased(java.awt.event.KeyEvent evt) {//GEN-FIRST:event_jField1UpKeyReleased
int k = evt.getKeyCode();
jField1Up.setText(KeyEvent.getKeyText(k));
keys[0][0] = k;
}//GEN-LAST:event_jField1UpKeyReleased
private void jField1DownKeyReleased(java.awt.event.KeyEvent evt) {//GEN-FIRST:event_jField1DownKeyReleased
int k = evt.getKeyCode();
jField1Down.setText(KeyEvent.getKeyText(k));
keys[0][1] = k;
}//GEN-LAST:event_jField1DownKeyReleased
private void jField1LeftKeyReleased(java.awt.event.KeyEvent evt) {//GEN-FIRST:event_jField1LeftKeyReleased
int k = evt.getKeyCode();
jField1Left.setText(KeyEvent.getKeyText(k));
keys[0][2] = k;
}//GEN-LAST:event_jField1LeftKeyReleased
private void jField1RightKeyReleased(java.awt.event.KeyEvent evt) {//GEN-FIRST:event_jField1RightKeyReleased
int k = evt.getKeyCode();
jField1Right.setText(KeyEvent.getKeyText(k));
keys[0][3] = k;
}//GEN-LAST:event_jField1RightKeyReleased
private void jField2StartActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jField2StartActionPerformed
// TODO add your handling code here:
}//GEN-LAST:event_jField2StartActionPerformed
private void jField1AKeyReleased(java.awt.event.KeyEvent evt) {//GEN-FIRST:event_jField1AKeyReleased
int k = evt.getKeyCode();
jField1A.setText(KeyEvent.getKeyText(k));
keys[0][4] = k;
}//GEN-LAST:event_jField1AKeyReleased
private void jField1BKeyReleased(java.awt.event.KeyEvent evt) {//GEN-FIRST:event_jField1BKeyReleased
int k = evt.getKeyCode();
jField1B.setText(KeyEvent.getKeyText(k));
keys[0][5] = k;
}//GEN-LAST:event_jField1BKeyReleased
private void jField1SelectKeyReleased(java.awt.event.KeyEvent evt) {//GEN-FIRST:event_jField1SelectKeyReleased
int k = evt.getKeyCode();
jField1Select.setText(KeyEvent.getKeyText(k));
keys[0][6] = k;
}//GEN-LAST:event_jField1SelectKeyReleased
private void jField1StartKeyReleased(java.awt.event.KeyEvent evt) {//GEN-FIRST:event_jField1StartKeyReleased
int k = evt.getKeyCode();
jField1Start.setText(KeyEvent.getKeyText(k));
keys[0][7] = k;
}//GEN-LAST:event_jField1StartKeyReleased
private void jField2UpKeyReleased(java.awt.event.KeyEvent evt) {//GEN-FIRST:event_jField2UpKeyReleased
int k = evt.getKeyCode();
jField2Up.setText(KeyEvent.getKeyText(k));
keys[1][0] = k;
}//GEN-LAST:event_jField2UpKeyReleased
private void jField2StartKeyReleased(java.awt.event.KeyEvent evt) {//GEN-FIRST:event_jField2StartKeyReleased
int k = evt.getKeyCode();
jField2Start.setText(KeyEvent.getKeyText(k));
keys[1][7] = k;
}//GEN-LAST:event_jField2StartKeyReleased
private void jField2DownKeyReleased(java.awt.event.KeyEvent evt) {//GEN-FIRST:event_jField2DownKeyReleased
int k = evt.getKeyCode();
jField2Down.setText(KeyEvent.getKeyText(k));
keys[1][1] = k;
}//GEN-LAST:event_jField2DownKeyReleased
private void jField2LeftKeyReleased(java.awt.event.KeyEvent evt) {//GEN-FIRST:event_jField2LeftKeyReleased
int k = evt.getKeyCode();
jField2Left.setText(KeyEvent.getKeyText(k));
keys[1][2] = k;
}//GEN-LAST:event_jField2LeftKeyReleased
private void jField2RightKeyReleased(java.awt.event.KeyEvent evt) {//GEN-FIRST:event_jField2RightKeyReleased
int k = evt.getKeyCode();
jField2Right.setText(KeyEvent.getKeyText(k));
keys[1][3] = k;
}//GEN-LAST:event_jField2RightKeyReleased
private void jField2AKeyReleased(java.awt.event.KeyEvent evt) {//GEN-FIRST:event_jField2AKeyReleased
int k = evt.getKeyCode();
jField2A.setText(KeyEvent.getKeyText(k));
keys[1][4] = k;
}//GEN-LAST:event_jField2AKeyReleased
private void jField2BKeyReleased(java.awt.event.KeyEvent evt) {//GEN-FIRST:event_jField2BKeyReleased
int k = evt.getKeyCode();
jField2B.setText(KeyEvent.getKeyText(k));
keys[1][5] = k;
}//GEN-LAST:event_jField2BKeyReleased
private void jField2SelectKeyReleased(java.awt.event.KeyEvent evt) {//GEN-FIRST:event_jField2SelectKeyReleased
int k = evt.getKeyCode();
jField2Select.setText(KeyEvent.getKeyText(k));
keys[1][6] = k;
}//GEN-LAST:event_jField2SelectKeyReleased
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButton1ActionPerformed
// TODO add your handling code here:
}//GEN-LAST:event_jButton1ActionPerformed
private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButton2ActionPerformed
// TODO add your handling code here:
}//GEN-LAST:event_jButton2ActionPerformed
// Variables declaration - do not modify//GEN-BEGIN:variables
private javax.swing.ButtonGroup buttonGroup1;
private javax.swing.JButton jButton1;
private javax.swing.JButton jButton2;
private javax.swing.JButton jButtonCancel;
private javax.swing.JButton jButtonOK;
private javax.swing.JTextField jField1A;
private javax.swing.JTextField jField1B;
private javax.swing.JTextField jField1Down;
private javax.swing.JTextField jField1Left;
private javax.swing.JTextField jField1Right;
private javax.swing.JTextField jField1Select;
private javax.swing.JTextField jField1Start;
private javax.swing.JTextField jField1Up;
private javax.swing.JTextField jField2A;
private javax.swing.JTextField jField2B;
private javax.swing.JTextField jField2Down;
private javax.swing.JTextField jField2Left;
private javax.swing.JTextField jField2Right;
private javax.swing.JTextField jField2Select;
private javax.swing.JTextField jField2Start;
private javax.swing.JTextField jField2Up;
private javax.swing.JLabel jLabel1;
private javax.swing.JLabel jLabel10;
private javax.swing.JLabel jLabel11;
private javax.swing.JLabel jLabel12;
private javax.swing.JLabel jLabel13;
private javax.swing.JLabel jLabel16;
private javax.swing.JLabel jLabel3;
private javax.swing.JLabel jLabel4;
private javax.swing.JLabel jLabel5;
private javax.swing.JLabel jLabel6;
private javax.swing.JLabel jLabel7;
private javax.swing.JLabel jLabel8;
private javax.swing.JLabel jLabel9;
private javax.swing.JLabel jLabelCtrl1;
private javax.swing.JLabel jLabelCtrl2;
// End of variables declaration//GEN-END:variables
}