Java: Checkbox a RadioButton
Z MiS
				
				
				(Rozdíly mezi verzemi)
				
																
				
				
								
				| m (→Checkbox:  Drobná oprava formulace.) |  (Přidány RadioButton a příklad je společný pro obě třídy.) | ||
| Řádka 3: | Řádka 3: | ||
| == Checkbox == | == Checkbox == | ||
| * Zatržítko v Javě reprezentuje třída <code>JCheckBox</code> v balíčku <code>javax.swing</code>. | * Zatržítko v Javě reprezentuje třída <code>JCheckBox</code> v balíčku <code>javax.swing</code>. | ||
| − | * Stav (zatrženo/není zatrženo) zjistíme pomocí metody <code>isSelected</code>. | + | * Stav (zatrženo/není zatrženo) zjistíme pomocí metody <code>isSelected()</code>. | 
| − | *  | + | * Změnu stavu provedeme metodou <code>setSelected(...)</code>. | 
| − | ; Příklad použití | + | |
| + | == Radiobutton == | ||
| + | * Velmi podobné chování má třída <code>JRadioButton</code>. Také metody pro zjištění a nastavení stavu jsou stejné, tedy <code>isSelected()</code> a <code>setSelected(...)</code>. | ||
| + | |||
| + | ; Skupiny tlačítek | ||
| + | * Tlačítka Radiobutton velmi často seskupujeme do skupin, kdy vždy jen jedno tlačítko je aktivní (chovají se společně jako přepínač).  | ||
| + | * K seskupení tlačítek slouží třída <code>ButtonGroup</code>. | ||
| + | * Tlačítko do skupiny přidáme metodou <code>buttonGroup.add(jRadioButton)</code>. | ||
| + | |||
| + | |||
| + | == Příklad použití == | ||
|   public class HlavniOkno extends JFrame { |   public class HlavniOkno extends JFrame { | ||
|       JButton btPridej; |       JButton btPridej; | ||
|       '''JCheckBox cbSplneno;''' |       '''JCheckBox cbSplneno;''' | ||
| + |      '''ButtonGroup btGrpPovinne; | ||
| + |      JRadioButton rbPovinneAno; | ||
| + |      JRadioButton rbPovinneNe;''' | ||
|       JScrollPane jScrollPane1; |       JScrollPane jScrollPane1; | ||
|       JTextArea taVystup; |       JTextArea taVystup; | ||
| Řádka 17: | Řádka 30: | ||
|           initComponents(); |           initComponents(); | ||
|           '''this.cbSplneno.setSelected(true);''' ''// Checkbox bude na začátku zatržen!'' |           '''this.cbSplneno.setSelected(true);''' ''// Checkbox bude na začátku zatržen!'' | ||
| − | + |          '''this.rbPovinne.setSelected(true);''' ''// Aktivní bude přepínací tlačítko (radiobutton) ''Ne''.  } | |
|       private void initComponents() { |       private void initComponents() { | ||
|           btPridej = new JButton(); |           btPridej = new JButton(); | ||
|           '''cbSplneno = new JCheckBox();''' |           '''cbSplneno = new JCheckBox();''' | ||
| + | |||
| + |          '''rbPovinneAno = new JRadioButton();''' | ||
| + |          '''rbPovinneNe = new JRadioButton();''' | ||
| + |          '''btGrpPovinne = new ButtonGroup();''' | ||
| + |          '''btGrpPovinne.add(rbPovinneAno);''' | ||
| + |          '''btGrpPovinne.add(rbPovinneNe);''' | ||
| + | |||
|           jScrollPane1 = new JScrollPane(); |           jScrollPane1 = new JScrollPane(); | ||
|           taVystup = new JTextArea(); |           taVystup = new JTextArea(); | ||
| Řádka 41: | Řádka 61: | ||
|      private void btPridejActionPerformed(java.awt.event.ActionEvent evt) {                                           |      private void btPridejActionPerformed(java.awt.event.ActionEvent evt) {                                           | ||
| − | |||
|          String novyRadek; |          String novyRadek; | ||
| + |         boolean zatrzeno = '''this.cbSplneno.isSelected();''' | ||
|          if (zatrzeno) novyRadek = "Splněno"; |          if (zatrzeno) novyRadek = "Splněno"; | ||
|          else          novyRadek = "Není splněno"; |          else          novyRadek = "Není splněno"; | ||
| + |         novyRadek += " ("; | ||
| + |         boolean povinne = '''this.rbPovinneAno.isSelected();''' | ||
| + |         if (povinne) novyRadek += "Povinné"; | ||
| + |         else         novyRadek += "Není povinné"; | ||
| + |         novyRadek += ")"; | ||
| + | |||
|          this.taVystup.setText( |          this.taVystup.setText( | ||
|                  this.taVystup.getText()+novyRadek+"\n" |                  this.taVystup.getText()+novyRadek+"\n" | ||
| Řádka 53: | Řádka 79: | ||
|          new HlavniOkno().setVisible(true); |          new HlavniOkno().setVisible(true); | ||
|      } |      } | ||
| − | } | + |  } | 
| − | + | ||
| − | + | ||
Verze z 25. 1. 2018, 12:17
Checkbox
-  Zatržítko v Javě reprezentuje třída JCheckBoxv balíčkujavax.swing.
-  Stav (zatrženo/není zatrženo) zjistíme pomocí metody isSelected().
-  Změnu stavu provedeme metodou setSelected(...).
Radiobutton
-  Velmi podobné chování má třída JRadioButton. Také metody pro zjištění a nastavení stavu jsou stejné, tedyisSelected()asetSelected(...).
- Skupiny tlačítek
- Tlačítka Radiobutton velmi často seskupujeme do skupin, kdy vždy jen jedno tlačítko je aktivní (chovají se společně jako přepínač).
-  K seskupení tlačítek slouží třída ButtonGroup.
-  Tlačítko do skupiny přidáme metodou buttonGroup.add(jRadioButton).
Příklad použití
public class HlavniOkno extends JFrame {
    JButton btPridej;
    JCheckBox cbSplneno;
    ButtonGroup btGrpPovinne;
    JRadioButton rbPovinneAno;
    JRadioButton rbPovinneNe;
    JScrollPane jScrollPane1;
    JTextArea taVystup;
    public HlavniOkno() {
        initComponents();
        this.cbSplneno.setSelected(true); // Checkbox bude na začátku zatržen!
        this.rbPovinne.setSelected(true); // Aktivní bude přepínací tlačítko (radiobutton) Ne.  }
    private void initComponents() {
        btPridej = new JButton();
        cbSplneno = new JCheckBox();
        rbPovinneAno = new JRadioButton();
        rbPovinneNe = new JRadioButton();
        btGrpPovinne = new ButtonGroup();
        btGrpPovinne.add(rbPovinneAno);
        btGrpPovinne.add(rbPovinneNe);
        jScrollPane1 = new JScrollPane();
        taVystup = new JTextArea();
        setDefaultCloseOperation(EXIT_ON_CLOSE);
        jScrollPane1.setViewportView(taVystup);
        btPridej.setText("Přidej");
        btPridej.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                btPridejActionPerformed(evt);
            }
        });
        cbSplneno.setText("Splněno");
        ...
        pack();
   }
   private void btPridejActionPerformed(java.awt.event.ActionEvent evt) {                                         
       String novyRadek;
       boolean zatrzeno = this.cbSplneno.isSelected();
       if (zatrzeno) novyRadek = "Splněno";
       else          novyRadek = "Není splněno";
       novyRadek += " (";
       boolean povinne = this.rbPovinneAno.isSelected();
       if (povinne) novyRadek += "Povinné";
       else         novyRadek += "Není povinné";
       novyRadek += ")";
       this.taVystup.setText(
               this.taVystup.getText()+novyRadek+"\n"
           );
   }                                        
   public static void main(String args[]) {
       new HlavniOkno().setVisible(true);
   }
}
				
								
				