So I don't really know anything about Frames, Windows, or Panels.. I just got interested in Java because a coworker is doing classes in it. I know some other languages but never did GUI things...I literally just got NetBeans, and drew up a dialog using it's Design view.
All I want is for the TAB key to go to the next textfield. What's the simple way?
package com.neutronscott;
import javax.swing.JOptionPane;
public class hw1 {
public static void main(String[] args) {
InputPanel myPanel = new InputPanel();
JOptionPane.showMessageDialog(null, myPanel);
System.out.println("Name: " + myPanel.getFirstName() + " " myPanel.getLastName());
}
}
That's all I got. The dialog that it created is a lot. I'll keep it brief:
package com.neutronscott;
public class InputPanel extends javax.swing.JPanel {
public InputPanel() {
initComponents();
}
/**
* This method is called from within the constructor to initialize the form.
* WARNING: Do NOT modify this code. The content of this method is always
* regenerated by the Form Editor.
*/
@SuppressWarnings("unchecked")
// <editor-fold defaultstate="collapsed" desc="Generated Code">
private void initComponents() {
jScrollPane2 = new javax.swing.JScrollPane();
firstName = new javax.swing.JTextPane();
jScrollPane3 = new javax.swing.JScrollPane();
lastName = new javax.swing.JTextPane();
jScrollPane4 = new javax.swing.JScrollPane();
age = new javax.swing.JTextPane();
jLabel1 = new javax.swing.JLabel();
jLabel2 = new javax.swing.JLabel();
jLabel3 = new javax.swing.JLabel();
jScrollPane2.setViewportView(firstName);
jScrollPane3.setViewportView(lastName);
jScrollPane4.setViewportView(age);
jLabel1.setText("First Name");
jLabel2.setText("Last Name");
jLabel3.setText("Age");
javax.swing.GroupLayout layout = new javax.swing.GroupLayout(this);
this.setLayout(layout);
layout.setHorizontalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addContainerGap()
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
.addComponent(jLabel1)
.addComponent(jLabel2))
.addComponent(jLabel3))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(jScrollPane2, javax.swing.GroupLayout.PREFERRED_SIZE, 288, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jScrollPane3, javax.swing.GroupLayout.PREFERRED_SIZE, 288, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jScrollPane4, javax.swing.GroupLayout.PREFERRED_SIZE, 40, javax.swing.GroupLayout.PREFERRED_SIZE))
.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
);
layout.setVerticalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addContainerGap()
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(jScrollPane2, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jLabel1))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(jLabel2)
.addComponent(jScrollPane3, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(jScrollPane4, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jLabel3))
.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
);
}// </editor-fold>
/**
*
* @return the java.lang.String
*/
public String getFirstName() {
return this.firstName.getText();
}
public String getLastName() {
return this.lastName.getText();
}
public Integer getAge() {
return Integer.parseInt(this.age.getText());
}
// Variables declaration - do not modify
private javax.swing.JTextPane age;
private javax.swing.JTextPane firstName;
private javax.swing.JLabel jLabel1;
private javax.swing.JLabel jLabel2;
private javax.swing.JLabel jLabel3;
private javax.swing.JScrollPane jScrollPane2;
private javax.swing.JScrollPane jScrollPane3;
private javax.swing.JScrollPane jScrollPane4;
private javax.swing.JTextPane lastName;
// End of variables declaration
}
---------- Post updated 10-24-14 at 12:11 AM ---------- Previous update was 10-23-14 at 10:08 PM ----------
I'm thinking probably because it needs a JFrame around it to inherit all the default focus stuff.