Java: Checkbox a RadioButton

Z MiS
(Rozdíly mezi verzemi)
Přejít na: navigace, hledání
(Přidány RadioButton a příklad je společný pro obě třídy.)
m (Doplněno upozornění, že initComponents() musí být v konstruktoru první().)
 
(Nejsou zobrazeny 2 mezilehlé verze od 1 uživatele.)
Řádka 1: Řádka 1:
[[Category:VSE]][[Category:Škola]][[Category:Informatika]][[Category:Programování]][[Category:Java]][[Category:GUI]]
+
[[Category:VSE]][[Category:Škola]][[Category:Informatika]][[Category:Programování]][[Category:Java]][[Category:GUI]][[Category:Stránky s obrázky]]
  
 
== Checkbox ==
 
== Checkbox ==
Řádka 17: Řádka 17:
  
 
== Příklad použití ==
 
== Příklad použití ==
 +
* Vytvoříme jednoduchou aplikaci, která přečte hodnotu checkboxu a skupiny radiobuttonů a zapíše ji do textové oblasti.
 +
[[Image:gui_check-radio.png]]
 +
; Vysvětlivky
 +
* <code>Kód, který se netýká práce s checkboxem a radio buttonem.</code>
 +
* <code style="color:brown">'''Kód, který musíme napsat my'''</code>
 +
* <code style="color:brown">''Kód, který vytvoří GUI Designer''</code>
 +
 
  public class HlavniOkno extends JFrame {
 
  public class HlavniOkno extends JFrame {
 
   
 
   
 
     JButton btPridej;
 
     JButton btPridej;
     '''JCheckBox cbSplneno;'''
+
     <span style="color:brown">''JCheckBox cbSplneno;''
     '''ButtonGroup btGrpPovinne;
+
     ''ButtonGroup btGrpPovinne;''
     JRadioButton rbPovinneAno;
+
     ''JRadioButton rbPovinneAno;''
     JRadioButton rbPovinneNe;'''
+
     ''JRadioButton rbPovinneNe;''</span>
 
     JScrollPane jScrollPane1;
 
     JScrollPane jScrollPane1;
 
     JTextArea taVystup;
 
     JTextArea taVystup;
 
   
 
   
 
     public HlavniOkno() {
 
     public HlavniOkno() {
         initComponents();
+
         initComponents();  
         '''this.cbSplneno.setSelected(true);''' ''// Checkbox bude na začátku zatržen!''
+
         ''// Metoda initComponents() vytvoří prvky GUI,''  
         '''this.rbPovinne.setSelected(true);''' ''// Aktivní bude přepínací tlačítko (radiobutton) ''Ne''. }
+
        ''// musí se tedy volat první!''
 +
 +
         ''// Nastavení počátečního zatržení:''
 +
        <span style="color:brown">'''this.cbSplneno.setSelected(true);'''</span> ''// Checkbox bude na začátku zatržen!''
 +
        ''// Aktivní bude přepínací tlačítko (radiobutton) <code>Ne</code>.''
 +
        <span style="color:brown">'''this.rbPovinne.setSelected(true);'''</span>
 +
    }
 
   
 
   
 
     private void initComponents() {
 
     private void initComponents() {
 
         btPridej = new JButton();
 
         btPridej = new JButton();
         '''cbSplneno = new JCheckBox();'''
+
         <span style="color:brown">''cbSplneno = new JCheckBox();''</span>
 
   
 
   
         '''rbPovinneAno = new JRadioButton();'''
+
         <span style="color:brown">''rbPovinneAno = new JRadioButton();''</span>
         '''rbPovinneNe = new JRadioButton();'''
+
         <span style="color:brown">''rbPovinneNe = new JRadioButton();''</span>
         '''btGrpPovinne = new ButtonGroup();'''
+
         <span style="color:brown">''btGrpPovinne = new ButtonGroup();''</span>
         '''btGrpPovinne.add(rbPovinneAno);'''
+
         <span style="color:brown">''btGrpPovinne.add(rbPovinneAno);''</span>
         '''btGrpPovinne.add(rbPovinneNe);'''
+
         <span style="color:brown">''btGrpPovinne.add(rbPovinneNe);''</span>
 
   
 
   
 
         jScrollPane1 = new JScrollPane();
 
         jScrollPane1 = new JScrollPane();
Řádka 55: Řádka 68:
 
         });
 
         });
 
   
 
   
         '''cbSplneno.setText("Splněno");'''
+
         <span style="color:brown">''cbSplneno.setText("Splněno");''</span>
 
         ''...''
 
         ''...''
 
         pack();
 
         pack();
Řádka 62: Řádka 75:
 
     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();'''
+
         boolean zatrzeno = <span style="color:brown">'''this.cbSplneno.isSelected();'''</span>
 
         if (zatrzeno) novyRadek = "Splněno";
 
         if (zatrzeno) novyRadek = "Splněno";
 
         else          novyRadek = "Není splněno";
 
         else          novyRadek = "Není splněno";
 
         novyRadek += " (";
 
         novyRadek += " (";
         boolean povinne = '''this.rbPovinneAno.isSelected();'''
+
         boolean povinne = <span style="color:brown">'''this.rbPovinneAno.isSelected();'''</span>
 
         if (povinne) novyRadek += "Povinné";
 
         if (povinne) novyRadek += "Povinné";
 
         else        novyRadek += "Není povinné";
 
         else        novyRadek += "Není povinné";

Aktuální verze z 29. 1. 2018, 07:09


Checkbox


Radiobutton

Skupiny tlačítek


Příklad použití

Gui check-radio.png

Vysvětlivky
public class HlavniOkno extends JFrame {

    JButton btPridej;
    JCheckBox cbSplneno;
    ButtonGroup btGrpPovinne;
    JRadioButton rbPovinneAno;
    JRadioButton rbPovinneNe;
    JScrollPane jScrollPane1;
    JTextArea taVystup;

    public HlavniOkno() {
        initComponents(); 
        // Metoda initComponents() vytvoří prvky GUI, 
        //  musí se tedy volat první!

        // Nastavení počátečního zatržení:
        this.cbSplneno.setSelected(true); // Checkbox bude na začátku zatržen!
        // Aktivní bude přepínací tlačítko (radiobutton) Ne.
        this.rbPovinne.setSelected(true); 
    }

    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);
   }
}
Osobní nástroje
Jmenné prostory
Varianty
Akce
Výuka
Navigace
Nástroje