2 years ago
#64389
Val Val
How do I limit checkbox selection according to Spinner number in Netbeans?
I am currently making a movie ticketing app and I let the user choose the amount of ticket they want to buy by using a spinner. Then, i tell them to pick a row and pick the seats by ticking seats numbers in checkboxes. how can i limit the boxes ticked according to the spinner number? what code do i need to insert and where should i insert it? i'm using swing by the way, thank you so much!
here's the code, please ignore the lines with '//'
private void initComponents() {
jLabel1 = new javax.swing.JLabel();
jLabel2 = new javax.swing.JLabel();
jLabel3 = new javax.swing.JLabel();
seatRow = new javax.swing.JComboBox<>();
jLabel4 = new javax.swing.JLabel();
jCheckBox1 = new javax.swing.JCheckBox();
jCheckBox2 = new javax.swing.JCheckBox();
jCheckBox3 = new javax.swing.JCheckBox();
jCheckBox4 = new javax.swing.JCheckBox();
jCheckBox5 = new javax.swing.JCheckBox();
jCheckBox6 = new javax.swing.JCheckBox();
jCheckBox7 = new javax.swing.JCheckBox();
jCheckBox8 = new javax.swing.JCheckBox();
jCheckBox9 = new javax.swing.JCheckBox();
jCheckBox10 = new javax.swing.JCheckBox();
jCheckBox11 = new javax.swing.JCheckBox();
jCheckBox12 = new javax.swing.JCheckBox();
ticketAmount = new javax.swing.JSpinner();
setBackground(new java.awt.Color(25, 25, 25));
setForeground(new java.awt.Color(255, 255, 255));
jLabel1.setBackground(new java.awt.Color(255, 255, 51));
jLabel1.setFont(new java.awt.Font("Tw Cen MT", 1, 50)); // NOI18N
jLabel1.setForeground(new java.awt.Color(255, 255, 102));
jLabel1.setText("TICKETING DETAILS");
jLabel2.setForeground(new java.awt.Color(255, 255, 255));
jLabel2.setText("How many tickets do you want to buy?");
jLabel3.setForeground(new java.awt.Color(255, 255, 255));
jLabel3.setText("Pick your seat row:");
seatRow.setMaximumRowCount(12);
seatRow.setModel(new javax.swing.DefaultComboBoxModel<>(new String[] { "A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L" }));
seatRow.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
seatRowActionPerformed(evt);
}
});
jLabel4.setForeground(new java.awt.Color(255, 255, 255));
jLabel4.setText("Pick your seat number:");
jCheckBox1.setText("1");
jCheckBox1.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jCheckBox1ActionPerformed(evt);
}
});
jCheckBox2.setText("2");
jCheckBox2.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jCheckBox2ActionPerformed(evt);
}
});
jCheckBox3.setText("3");
jCheckBox4.setText("4");
jCheckBox4.setActionCommand("4");
jCheckBox5.setText("5");
jCheckBox5.setActionCommand("3");
jCheckBox6.setText("6");
jCheckBox7.setText("7");
jCheckBox8.setText("8");
jCheckBox9.setText("9");
jCheckBox10.setText("10");
jCheckBox11.setText("11");
jCheckBox12.setText("12");
jCheckBox12.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jCheckBox12ActionPerformed(evt);
}
});
ticketAmount.setModel(new javax.swing.SpinnerNumberModel(0, 0, 12, 1));
javax.swing.GroupLayout layout = new javax.swing.GroupLayout(this);
this.setLayout(layout);
layout.setHorizontalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addGap(48, 48, 48)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(jLabel2)
.addComponent(jLabel3)
.addComponent(jLabel4))
.addGap(52, 52, 52)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addComponent(jCheckBox5)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(jCheckBox1, javax.swing.GroupLayout.Alignment.TRAILING)
.addComponent(jCheckBox9, javax.swing.GroupLayout.Alignment.TRAILING))
.addGap(31, 31, 31)))
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(jCheckBox10)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING, false)
.addComponent(jCheckBox6, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(jCheckBox2)))
.addGap(28, 28, 28)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(jCheckBox11)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
.addComponent(jCheckBox7)
.addComponent(jCheckBox3)))
.addGap(18, 18, 18)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(jCheckBox4)
.addComponent(jCheckBox8)
.addComponent(jCheckBox12))
.addContainerGap(278, Short.MAX_VALUE))
.addGroup(layout.createSequentialGroup()
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(seatRow, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(ticketAmount, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
.addGap(0, 0, Short.MAX_VALUE))))
.addGroup(layout.createSequentialGroup()
.addContainerGap()
.addComponent(jLabel1, javax.swing.GroupLayout.PREFERRED_SIZE, 571, javax.swing.GroupLayout.PREFERRED_SIZE)
.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
);
layout.setVerticalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
.addContainerGap()
.addComponent(jLabel1)
.addGap(61, 61, 61)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(jLabel2)
.addComponent(ticketAmount, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
.addGap(48, 48, 48)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(jLabel3)
.addComponent(seatRow, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
.addGap(40, 40, 40)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(jLabel4)
.addComponent(jCheckBox1)
.addComponent(jCheckBox2)
.addComponent(jCheckBox3)
.addComponent(jCheckBox4))
.addGap(18, 18, 18)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(jCheckBox5)
.addComponent(jCheckBox6)
.addComponent(jCheckBox7)
.addComponent(jCheckBox8))
.addGap(18, 18, 18)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(jCheckBox9)
.addComponent(jCheckBox10)
.addComponent(jCheckBox11)
.addComponent(jCheckBox12))
.addContainerGap(125, Short.MAX_VALUE))
);
seatRow.getAccessibleContext().setAccessibleParent(ticketAmount);
jCheckBox1.getAccessibleContext().setAccessibleParent(ticketAmount);
jCheckBox2.getAccessibleContext().setAccessibleParent(ticketAmount);
jCheckBox3.getAccessibleContext().setAccessibleParent(ticketAmount);
jCheckBox4.getAccessibleContext().setAccessibleParent(ticketAmount);
jCheckBox5.getAccessibleContext().setAccessibleParent(ticketAmount);
jCheckBox6.getAccessibleContext().setAccessibleParent(ticketAmount);
jCheckBox7.getAccessibleContext().setAccessibleParent(ticketAmount);
jCheckBox8.getAccessibleContext().setAccessibleParent(ticketAmount);
jCheckBox9.getAccessibleContext().setAccessibleParent(ticketAmount);
jCheckBox10.getAccessibleContext().setAccessibleParent(ticketAmount);
jCheckBox11.getAccessibleContext().setAccessibleParent(ticketAmount);
jCheckBox12.getAccessibleContext().setAccessibleParent(ticketAmount);
}// </editor-fold>
private void seatRowActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
}
private void jCheckBox1ActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
}
private void jCheckBox2ActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
}
private void jCheckBox12ActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
}
//ChangeListener changeListener = new ChangeListener() {
//public void stateChanged(ticketAmount) {
// Variables declaration - do not modify
private javax.swing.JCheckBox jCheckBox1;
private javax.swing.JCheckBox jCheckBox10;
private javax.swing.JCheckBox jCheckBox11;
private javax.swing.JCheckBox jCheckBox12;
private javax.swing.JCheckBox jCheckBox2;
private javax.swing.JCheckBox jCheckBox3;
private javax.swing.JCheckBox jCheckBox4;
private javax.swing.JCheckBox jCheckBox5;
private javax.swing.JCheckBox jCheckBox6;
private javax.swing.JCheckBox jCheckBox7;
private javax.swing.JCheckBox jCheckBox8;
private javax.swing.JCheckBox jCheckBox9;
private javax.swing.JLabel jLabel1;
private javax.swing.JLabel jLabel2;
private javax.swing.JLabel jLabel3;
private javax.swing.JLabel jLabel4;
private javax.swing.JComboBox<String> seatRow;
private javax.swing.JSpinner ticketAmount;
// End of variables declaration
}
javascript
checkbox
netbeans
spinner
0 Answers
Your Answer