Java by API/javax.swing/JToggleButton

Материал из Java эксперт
Версия от 17:18, 31 мая 2010; Admin (обсуждение | вклад) (1 версия)
(разн.) ← Предыдущая | Текущая версия (разн.) | Следующая → (разн.)
Перейти к: навигация, поиск

JToggleButton: addActionListener(ActionListener l)

   <source lang="java">

import java.awt.Container; import java.awt.FlowLayout; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.JFrame; import javax.swing.JToggleButton; public class MainClass {

 public static void main(String[] args) {
   JToggleButton jtb = new JToggleButton("Press Me");
   jtb.addActionListener(new ActionListener() {
     public void actionPerformed(ActionEvent ev) {
       System.out.println("ActionEvent!");
     }
   });
   JFrame f = new JFrame();
   f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
   Container c = f.getContentPane();
   c.setLayout(new FlowLayout());
   c.add(jtb);
   f.pack();
   f.setVisible(true);
 }

}

      </source>
   
  
 
  



JToggleButton: addChangeListener(ChangeListener)

   <source lang="java">

import java.awt.BorderLayout; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.event.ItemEvent; import java.awt.event.ItemListener; import javax.swing.AbstractButton; import javax.swing.ButtonModel; import javax.swing.JFrame; import javax.swing.JToggleButton; import javax.swing.event.ChangeEvent; import javax.swing.event.ChangeListener; public class MainClass {

 public static void main(String[] a) {
   JFrame frame = new JFrame();
   frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
   JToggleButton toggleButton = new JToggleButton("Selected");
   ActionListener actionListener = new ActionListener() {
     public void actionPerformed(ActionEvent actionEvent) {
       AbstractButton abstractButton = (AbstractButton) actionEvent.getSource();
       boolean selected = abstractButton.getModel().isSelected();
       System.out.println("Action - selected=" + selected + "\n");
     }
   };
   ChangeListener changeListener = new ChangeListener() {
     public void stateChanged(ChangeEvent changeEvent) {
       AbstractButton abstractButton = (AbstractButton) changeEvent.getSource();
       ButtonModel buttonModel = abstractButton.getModel();
       boolean armed = buttonModel.isArmed();
       boolean pressed = buttonModel.isPressed();
       boolean selected = buttonModel.isSelected();
       System.out.println("Changed: " + armed + "/" + pressed + "/" + selected);
     }
   };
   ItemListener itemListener = new ItemListener() {
     public void itemStateChanged(ItemEvent itemEvent) {
       int state = itemEvent.getStateChange();
       if (state == ItemEvent.SELECTED) {
         System.out.println("Selected");
       } else {
         System.out.println("Deselected");
       }
     }
   };
   toggleButton.addActionListener(actionListener);
   toggleButton.addChangeListener(changeListener);
   toggleButton.addItemListener(itemListener);
   frame.add(toggleButton, BorderLayout.NORTH);
   JToggleButton toggleButton2 = new JToggleButton("Focused");
   frame.add(toggleButton2, BorderLayout.CENTER);
   JToggleButton toggleButton3 = new JToggleButton("Not Selected");
   frame.add(toggleButton3, BorderLayout.SOUTH);
   frame.setSize(300, 125);
   frame.setVisible(true);
 }

}

      </source>
   
  
 
  



JToggleButton: addItemListener(ItemListener lis)

   <source lang="java">

import java.awt.BorderLayout; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.event.ItemEvent; import java.awt.event.ItemListener; import javax.swing.AbstractButton; import javax.swing.ButtonModel; import javax.swing.JFrame; import javax.swing.JToggleButton; import javax.swing.event.ChangeEvent; import javax.swing.event.ChangeListener; public class MainClass {

 public static void main(String[] a) {
   JFrame frame = new JFrame();
   frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
   JToggleButton toggleButton = new JToggleButton("Selected");
   ActionListener actionListener = new ActionListener() {
     public void actionPerformed(ActionEvent actionEvent) {
       AbstractButton abstractButton = (AbstractButton) actionEvent.getSource();
       boolean selected = abstractButton.getModel().isSelected();
       System.out.println("Action - selected=" + selected + "\n");
     }
   };
   ChangeListener changeListener = new ChangeListener() {
     public void stateChanged(ChangeEvent changeEvent) {
       AbstractButton abstractButton = (AbstractButton) changeEvent.getSource();
       ButtonModel buttonModel = abstractButton.getModel();
       boolean armed = buttonModel.isArmed();
       boolean pressed = buttonModel.isPressed();
       boolean selected = buttonModel.isSelected();
       System.out.println("Changed: " + armed + "/" + pressed + "/" + selected);
     }
   };
   ItemListener itemListener = new ItemListener() {
     public void itemStateChanged(ItemEvent itemEvent) {
       int state = itemEvent.getStateChange();
       if (state == ItemEvent.SELECTED) {
         System.out.println("Selected");
       } else {
         System.out.println("Deselected");
       }
     }
   };
   toggleButton.addActionListener(actionListener);
   toggleButton.addChangeListener(changeListener);
   toggleButton.addItemListener(itemListener);
   frame.add(toggleButton, BorderLayout.NORTH);
   JToggleButton toggleButton2 = new JToggleButton("Focused");
   frame.add(toggleButton2, BorderLayout.CENTER);
   JToggleButton toggleButton3 = new JToggleButton("Not Selected");
   frame.add(toggleButton3, BorderLayout.SOUTH);
   frame.setSize(300, 125);
   frame.setVisible(true);
 }

}

      </source>
   
  
 
  



new JToggleButton(String text)

   <source lang="java">

import java.awt.BorderLayout; import javax.swing.JFrame; import javax.swing.JToggleButton; public class MainClass {

 public static void main(String args[]) {
   JFrame f = new JFrame("JToggleButton Sample");
   f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
   f.add(new JToggleButton("North"), BorderLayout.NORTH);
   f.add(new JToggleButton("East"), BorderLayout.EAST);
   f.add(new JToggleButton("West"), BorderLayout.WEST);
   f.add(new JToggleButton("Center"), BorderLayout.CENTER);
   f.add(new JToggleButton("South"), BorderLayout.SOUTH);
   f.setSize(300, 200);
   f.setVisible(true);
 }

}

      </source>