2 years ago

#64389

test-img

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

Accepted video resources