📄 choicepanel.java
字号:
package beantest;import java.awt.*;import javax.swing.*;import java.util.*;import java.awt.event.*;/** * Title: 制作一个JavaBean * Description: 这个工程中我们制作了一个用于日期显示的JavaBean * Copyright: Copyright (c) 2001 * Company: * @author * @version 1.0 */public class ChoicePanel extends JPanel { private ButtonGroup bg = new ButtonGroup(); private GridLayout gl = new GridLayout(5,1,5,5); private JRadioButton item1 = new JRadioButton("Month Day Year"); private JRadioButton item2 = new JRadioButton("Month Day Year Era"); private JRadioButton item3 = new JRadioButton("Year Month Day"); private JRadioButton item4 = new JRadioButton("Month Year"); private JRadioButton item5 = new JRadioButton("Day Month Year"); private transient Vector actionListeners; public ChoicePanel() { try { jbInit(); } catch (Exception ex) { ex.printStackTrace(); } } void jbInit() throws Exception { this.setLayout(gl); bg.add(item1); bg.add(item2); bg.add(item3); bg.add(item4); bg.add(item5); this.add(item1, null); this.add(item2, null); this.add(item3, null); this.add(item4, null); this.add(item5, null); item1.addItemListener(new java.awt.event.ItemListener() { public void itemStateChanged(ItemEvent e) { choiceChanged(e); } }); item2.addItemListener(new java.awt.event.ItemListener() { public void itemStateChanged(ItemEvent e) { choiceChanged(e); } }); item3.addItemListener(new java.awt.event.ItemListener() { public void itemStateChanged(ItemEvent e) { choiceChanged(e); } }); item4.addItemListener(new java.awt.event.ItemListener() { public void itemStateChanged(ItemEvent e) { choiceChanged(e); } }); item5.addItemListener(new java.awt.event.ItemListener() { public void itemStateChanged(ItemEvent e) { choiceChanged(e); } }); } // // allow for the setting of a given radio button by int value // // method is called in a "one" based mechanism (i.e., if you want to select // the first radio button you call setSelectedItem(1); // public void setSelectedItem(int which){ Enumeration e = bg.getElements(); JRadioButton jr = null; int i = 0; try{ for( ; i <= which; i++) jr = (JRadioButton)e.nextElement(); } catch(NoSuchElementException x){ x.printStackTrace(); } jr.setSelected(true); } // // allows you to ask the component "which item is selected right now" and get // back a 1 based response (i.e., if the third radio button is selected this // method returns 3 // public int getSelectedItem(){ Enumeration e = bg.getElements(); int which = 0; JRadioButton jr = null; try{ while(e.hasMoreElements()){ which +=1; jr = (JRadioButton)e.nextElement(); if( jr.isSelected() ) break; } } catch(NoSuchElementException x){ x.printStackTrace(); return 0; } return which-1; } // // when selection changes, find out which control is now selected and fire // the appropriate event // // this method is listened to in the 'live' version of the Customizer void choiceChanged(ItemEvent e){ if(e.getStateChange() == ItemEvent.SELECTED){ System.out.println("Selected Logic entered"); if(item1.isSelected()) fireActionPerformed(new ActionEvent(this, 1, "item1Selected")); else if(item2.isSelected()) fireActionPerformed(new ActionEvent(this, 2, "item2Selected")); else if(item3.isSelected()) fireActionPerformed(new ActionEvent(this, 3, "item3Selected")); else if(item4.isSelected()) fireActionPerformed(new ActionEvent(this, 4, "item4Selected")); else if(item5.isSelected()) fireActionPerformed(new ActionEvent(this, 5, "item5Selected")); } } public synchronized void removeActionListener(ActionListener l) { if (actionListeners != null && actionListeners.contains(l)) { Vector v = (Vector) actionListeners.clone(); v.removeElement(l); actionListeners = v; } } public synchronized void addActionListener(ActionListener l) { Vector v = actionListeners == null ? new Vector(2) : (Vector) actionListeners.clone(); if (!v.contains(l)) { v.addElement(l); actionListeners = v; } } protected void fireActionPerformed(ActionEvent e) { if (actionListeners != null) { Vector listeners = actionListeners; int count = listeners.size(); for (int i = 0; i < count; i++) ((ActionListener) listeners.elementAt(i)).actionPerformed(e); } }}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -