下面列出了javax.swing.JToggleButton#addItemListener ( ) 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。
/**
* Method addSelectionToolButton must have been invoked prior to this on the
* JToolBar.
*
* @param toolBar
* @param editor
* @param tool
* @param toolTipText
* @param labels
* @return
*/
private JToggleButton addToolButton(JToolBar toolBar,
DrawingEditor editor,
Tool tool,
String toolTipText,
ImageIcon iconBase) {
JToggleButton toggleButton = new JToggleButton();
toggleButton.setIcon(iconBase);
toggleButton.setText(null);
toggleButton.setToolTipText(toolTipText);
toggleButton.addItemListener(new ToolButtonListener(tool, editor));
// toggleButton.setFocusable(false);
ToolListener toolHandler = (ToolListener) toolBar.getClientProperty("toolHandler");
tool.addToolListener(toolHandler);
ButtonGroup group = (ButtonGroup) toolBar.getClientProperty("toolButtonGroup");
group.add(toggleButton);
toolBar.add(toggleButton);
return toggleButton;
}
/**
* Creates a button to toggle the grid in the drawing.
*
* @param view The DrawingView the button will belong to.
* @return The created button.
*/
private JToggleButton toggleConstrainerButton(final OpenTCSDrawingView drawingView) {
final JToggleButton toggleButton = new JToggleButton();
toggleButton.setToolTipText(
labels.getString("drawingViewPlacardPanel.button_toggleGrid.tooltipText")
);
toggleButton.setIcon(ImageDirectory.getImageIcon("/menu/view-split.png"));
toggleButton.setMargin(new Insets(0, 0, 0, 0));
toggleButton.setFocusable(false);
toggleButton.addItemListener(
(ItemEvent event) -> drawingView.setConstrainerVisible(toggleButton.isSelected())
);
return toggleButton;
}
/**
* Creates a button to toglle the labels.
*
* @param view The DrawingView the button will belong to.
* @return The created button.
*/
private JToggleButton toggleLabelsButton(final OpenTCSDrawingView drawingView) {
final JToggleButton toggleButton = new JToggleButton();
toggleButton.setToolTipText(
labels.getString("drawingViewPlacardPanel.button_toggleLabels.tooltipText")
);
toggleButton.setIcon(ImageDirectory.getImageIcon("/menu/comment-add.16.png"));
toggleButton.setMargin(new Insets(0, 0, 0, 0));
toggleButton.setFocusable(false);
toggleButton.addItemListener(
(ItemEvent event) -> drawingView.setLabelsVisible(toggleButton.isSelected())
);
return toggleButton;
}
/**
* Creates a button to toggle the blocks in the drawing.
*
* @param view The DrawingView the button will belong to.
* @return The created button.
*/
private JToggleButton toggleBlocksButton(final OpenTCSDrawingView drawingView) {
final JToggleButton toggleButton = new JToggleButton();
toggleButton.setToolTipText(
labels.getString("drawingViewPlacardPanel.button_toggleBlocks.tooltipText")
);
toggleButton.setIcon(ImageDirectory.getImageIcon("/tree/block.18x18.png"));
toggleButton.setMargin(new Insets(0, 0, 0, 0));
toggleButton.setFocusable(false);
toggleButton.addItemListener(
(ItemEvent event) -> drawingView.setBlocksVisible(toggleButton.isSelected())
);
return toggleButton;
}
private JToggleButton newOptionButton(Icon icon, String tooltip, String accessibleName, final String property) {
JToggleButton newButton = new JToggleButton(icon);
newButton.setToolTipText(tooltip);
newButton.getAccessibleContext().setAccessibleName(accessibleName);
boolean isSelected = NbPreferences.forModule(StatisticsPanel.class).getBoolean(property, false);
newButton.setSelected(isSelected);
newButton.addItemListener(new ItemListener() {
@Override
public void itemStateChanged(ItemEvent e) {
boolean selected;
switch (e.getStateChange()) {
case ItemEvent.SELECTED:
selected = true;
break;
case ItemEvent.DESELECTED:
selected = false;
break;
default:
return;
}
ResultWindow.getInstance().updateOptionStatus(property, selected);
}
});
return newButton;
}
private void init() {
setLayout(new javax.swing.BoxLayout(this, javax.swing.BoxLayout.X_AXIS));
setFloatable(false);
add(new javax.swing.Box.Filler(new java.awt.Dimension(10, 0),
new java.awt.Dimension(10, 0),
new java.awt.Dimension(10, 32767)));
JLabel label = new JLabel("Properties");
label.setFont(new Font("Default", Font.BOLD, 12));
add(label);
add(new javax.swing.Box.Filler(new java.awt.Dimension(0, 0), new java.awt.Dimension(0, 0), new java.awt.Dimension(32767, 32767)));
add(Utils.createButton("Add Row", "add", "Ctrl+Plus", WebORTable.this));
add(Utils.createButton("Delete Rows", "remove", "Ctrl+Minus", WebORTable.this));
addSeparator();
add(Utils.createButton("Move Rows Up", "up", "Ctrl+Up", WebORTable.this));
add(Utils.createButton("Move Rows Down", "down", "Ctrl+Down", WebORTable.this));
addSeparator();
frameToggle = new JToggleButton(Utils.getIconByResourceName("/ui/resources/or/web/propViewer"));
frameToggle.addItemListener(WebORTable.this);
frameToggle.setToolTipText("Show/Hide Frame Property");
frameToggle.setActionCommand("Toggle Frame");
add(frameToggle);
}
/**
*
* @param toolBar
* @param editor
*/
private JToggleButton addDragToolButton(JToolBar toolBar, DrawingEditor editor) {
final JToggleButton button = new JToggleButton();
dragTool = new DragTool();
editor.setTool(dragTool);
if (!(toolBar.getClientProperty("toolHandler") instanceof ToolListener)) {
ToolListener toolHandler = new ToolAdapter() {
@Override
public void toolDone(ToolEvent event) {
button.setSelected(true);
}
};
toolBar.putClientProperty("toolHandler", toolHandler);
}
URL url = getClass().getResource(ImageDirectory.DIR + "/toolbar/cursor-opened-hand.png");
button.setIcon(new ImageIcon(url));
button.setText(null);
button.setToolTipText(ResourceBundleUtil.getBundle(I18nPlantOverview.TOOLBAR_PATH)
.getString("toolBarManager.button_dragTool.tooltipText"));
button.setSelected(false);
button.addItemListener(new ToolButtonListener(dragTool, editor));
// button.setFocusable(false);
ButtonGroup group = (ButtonGroup) toolBar.getClientProperty("toolButtonGroup");
group.add(button);
toolBar.add(button);
return button;
}
JToggleButtonDemo() {
//CRIA UM CONTEINER JFRAME
JFrame jfrm = new JFrame(" EXEMPLO DE JToggleButton - botão de alternância");
//ESPECIFICA FLOWLAYOUT COMO GERENCIADOR DE LEIAUTE
jfrm.setLayout(new FlowLayout());
//FORNECE UM TAMANHO INICIAL PAR AO QUADRO
jfrm.setSize(250, 100);
//ENCERRA O PROGRAMA QUANDO O USUÁRIO FECHA O APLICATIVO
jfrm.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
//CRIA UM RÓTULO
jlab = new JLabel(" O BOTÃO NÃO ESTÁ SELECIONADO ");
//CRIA UM BOTÃO DE ALTERNÂNCIA
jtbn = new JToggleButton("On/Off");
// ADICIONA UM OUVINTE DE ITENS PARA O BOTÃO DE ALTERNÂNCIA
//USA UM ITEM LISTENER PARA TRATAR EVENTOS DO BOTÃO DE ALTERNÂNCIA
//USA IS SELECTED() PARA DETERMINAR O ESTADO DO BOTÃO
jtbn.addItemListener(new ItemListener() {
public void itemStateChanged(ItemEvent ie) {
if (jtbn.isSelected()) {
jlab.setText(" O BOTÃO ESTÁ SELECIONADO" );
} else {
jlab.setText(" O BOTÃO NÃO ESTÁ SELECIONADO.");
}
}
});
// ADICIONA O BOTÃO DE ALTERNÂNCIA E O RÓTULO AO PAINEL DE CONTEÚDO
jfrm.add(jtbn);
jfrm.add(jlab);
// Display the frame.
jfrm.setVisible(true);
}
/**
* Creates a panel that allows forcing of pseudo-classes.
*
* @param pseudoClassToggle toggle-button used to show the panel.
* @return panel that allows forcing of pseudo-classes.
*/
private JPanel createPseudoClassPanel(JToggleButton pseudoClassToggle) {
final JPanel panel = new JPanel();
panel.setLayout(new GridLayout(2,2));
ResourceBundle bundle = NbBundle.getBundle(CSSStylesSelectionPanel.class);
panel.add(createPseudoCheckBox(
CSS.PseudoClass.ACTIVE,
bundle.getString("CSSStylesSelectionPanel.pseudoClass.active"))); // NOI18N
panel.add(createPseudoCheckBox(
CSS.PseudoClass.HOVER,
bundle.getString("CSSStylesSelectionPanel.pseudoClass.hover"))); // NOI18N
panel.add(createPseudoCheckBox(
CSS.PseudoClass.FOCUS,
bundle.getString("CSSStylesSelectionPanel.pseudoClass.focus"))); // NOI18N
panel.add(createPseudoCheckBox(
CSS.PseudoClass.VISITED,
bundle.getString("CSSStylesSelectionPanel.pseudoClass.visited"))); // NOI18N
panel.setVisible(false);
pseudoClassToggle.addItemListener(new ItemListener() {
@Override
public void itemStateChanged(ItemEvent e) {
JToggleButton source = (JToggleButton)e.getSource();
panel.setVisible(source.isSelected());
}
});
return panel;
}
private JToggleButton newShowButton(String iconId,
String tooltip,
String accessibleName,
Status status) {
JToggleButton btn = new JToggleButton(ImageUtilities.loadImageIcon(iconId, true));
btn.setToolTipText(tooltip);
btn.getAccessibleContext().setAccessibleName(accessibleName);
btn.setSelected((filterMask & status.getBitMask()) == 0);
btn.addItemListener(new FilterItemListener(status));
return btn;
}
private void rebuildToolbar() {
toolbar.removeAll();
toolbar.setFocusable( false );
//scope buttons
List<TaskScanningScope> scopes = ScanningScopeList.getDefault().getTaskScanningScopes();
for( TaskScanningScope scope : scopes ) {
final ScopeButton scopeButton = new ScopeButton( taskManager, scope );
scopeButton.setSelected(scope.equals(Settings.getDefault().getActiveScanningScope()));
toolbar.add(scopeButton);
}
toolbar.add( new JToolBar.Separator() );
//filter
JToggleButton toggleFilter = new FiltersMenuButton( filters.getActive() );
toolbar.add( toggleFilter );
//grouping & other butons
toolbar.addSeparator();
final JToggleButton toggleGroups = new JToggleButton( ImageUtilities.loadImageIcon("org/netbeans/modules/tasklist/ui/resources/groups.png", false)); //NOI18N
toggleGroups.addItemListener( new ItemListener() {
@Override
public void itemStateChanged(ItemEvent e) {
switchTableModel( e.getStateChange() == ItemEvent.SELECTED );
Settings.getDefault().setGroupTasksByCategory( toggleGroups.isSelected() );
toggleGroups.setToolTipText( toggleGroups.isSelected()
? NbBundle.getMessage( TaskListTopComponent.class, "HINT_TasksAsList" ) //NOI18N
: NbBundle.getMessage( TaskListTopComponent.class, "HINT_GrouppedTasks" ) ); //NOI18N
}
});
toggleGroups.setSelected( Settings.getDefault().getGroupTasksByCategory() );
toggleGroups.setToolTipText( toggleGroups.isSelected()
? NbBundle.getMessage( TaskListTopComponent.class, "HINT_TasksAsList" ) //NOI18N
: NbBundle.getMessage( TaskListTopComponent.class, "HINT_GrouppedTasks" ) ); //NOI18N
toggleGroups.setFocusable( false );
toolbar.add( toggleGroups );
}
/**
* (Re)constructs the UI. This can be called many times, whenever a
* significant value (such as {@link #maximumFastChoices}, or the model)
* has changed.
*/
private void buildGui(){
removeAll();
if(model != null && model.getSize() > 0){
if(model.getSize() > maximumFastChoices){
//use combobox
add(combo);
}else{
//use buttons
//first clear the old buttons, if any exist
if(buttonToValueMap.size() > 0){
for(AbstractButton aBtn : buttonToValueMap.keySet()){
aBtn.removeItemListener(sharedItemListener);
}
}
//now create the new buttons
buttonToValueMap.clear();
for(int i = 0; i < model.getSize(); i++){
Object aValue = model.getElementAt(i);
JToggleButton aButton = new JToggleButton(aValue.toString());
if(defaultButtonMargin != null) aButton.setMargin(defaultButtonMargin);
aButton.addItemListener(sharedItemListener);
buttonToValueMap.put(aButton, aValue);
add(aButton);
}
}
}
revalidate();
}
private JToggleButton create(String text) {
JToggleButton togg = new JToggleButton();
togg.setIcon(Utils.getIconByResourceName("/ui/resources/or/" + text.toLowerCase()));
togg.setToolTipText(text);
togg.setActionCommand(text);
togg.addItemListener(ObjectRepo.this);
bgroup.add(togg);
return togg;
}
private void init() {
add(new javax.swing.Box.Filler(new java.awt.Dimension(10, 0),
new java.awt.Dimension(10, 0),
new java.awt.Dimension(10, 32767)));
JLabel label = new JLabel("Properties");
label.setFont(new Font("Default", Font.BOLD, 12));
add(label);
add(new javax.swing.Box.Filler(new java.awt.Dimension(0, 0), new java.awt.Dimension(0, 0), new java.awt.Dimension(32767, 32767)));
toggleImage = new JToggleButton(Utils.getIconByResourceName("/ui/resources/or/image/image"));
toggleImage.addItemListener(ImageORTable.this);
toggleImage.setActionCommand("ToggleImage");
toggleImage.setToolTipText("Show/Hide Image");
add(toggleImage);
JButton offset = new JButton(Utils.getIconByResourceName("/ui/resources/or/image/findOffset"));
offset.addActionListener(ImageORTable.this);
offset.setToolTipText("Show Offset");
offset.setActionCommand("Show Offset");
add(offset);
JButton findOn = new JButton(Utils.getIconByResourceName("/ui/resources/or/image/findOnScreen"));
findOn.addActionListener(ImageORTable.this);
findOn.setToolTipText("Find on Screen");
findOn.setActionCommand("Find on Screen");
add(findOn);
JButton editor = new JButton(Utils.getIconByResourceName("/ui/resources/or/image/propViewer"));
editor.addActionListener(ImageORTable.this);
editor.setToolTipText("Show Property Editor");
editor.setActionCommand("Show Property Editor");
add(editor);
}
/**
* Create the panel.
*/
public SwitchController() {
setPreferredSize(new Dimension(125, 75));
setLayout(null);
pinComboBoxModel = new IntMinMaxModel(0, 40).withSelectedItem(3);
JComboBox pinComboBox = new JComboBox(pinComboBoxModel);
pinComboBox.setBounds(66, 11, 47, 22);
add(pinComboBox);
JLabel label = new JLabel("Power Pin:");
label.setFont(new Font("SansSerif", Font.PLAIN, 11));
label.setBounds(10, 15, 59, 14);
add(label);
switchToggleButton = new JToggleButton("Off");
switchToggleButton.addItemListener(new ItemListener() {
@Override
public void itemStateChanged(ItemEvent e) {
int pin = pinComboBoxModel.getSelectedItem().intValue();
if(e.getStateChange() == ItemEvent.SELECTED) {
switchToggleButton.setText("On");
link.sendPowerPinSwitch(pin, true);
} else if(e.getStateChange() == ItemEvent.DESELECTED) {
switchToggleButton.setText("Off");
link.sendPowerPinSwitch(pin, false);
}
}
});
switchToggleButton.setBounds(10, 38, 103, 23);
add(switchToggleButton);
}
/**
* Create the panel.
*/
public SwitchController() {
setPreferredSize(new Dimension(125, 75));
setLayout(null);
pinComboBoxModel = new IntMinMaxModel(0, 40).withSelectedItem(3);
JComboBox pinComboBox = new JComboBox(pinComboBoxModel);
pinComboBox.setBounds(66, 11, 47, 22);
add(pinComboBox);
JLabel label = new JLabel("Power Pin:");
label.setFont(new Font("SansSerif", Font.PLAIN, 11));
label.setBounds(10, 15, 59, 14);
add(label);
switchToggleButton = new JToggleButton("Off");
switchToggleButton.addItemListener(new ItemListener() {
public void itemStateChanged(ItemEvent e) {
int pin = pinComboBoxModel.getSelectedItem().intValue();
if(e.getStateChange() == ItemEvent.SELECTED) {
switchToggleButton.setText("On");
link.sendPowerPinSwitch(pin, IProtocol.POWER_HIGH);
} else if(e.getStateChange() == ItemEvent.DESELECTED) {
switchToggleButton.setText("Off");
link.sendPowerPinSwitch(pin, IProtocol.POWER_LOW);
}
}
});
switchToggleButton.setBounds(10, 38, 103, 23);
add(switchToggleButton);
}
/**
* Create the valuePanelOff.
*/
public ToggleSignalButton() {
setLayout(new BorderLayout(0, 0));
configPanel = new JPanel();
add(configPanel, BorderLayout.NORTH);
configPanel.setLayout(new BoxLayout(configPanel, BoxLayout.Y_AXIS));
valuePanelOn = new JPanel();
configPanel.add(valuePanelOn);
valuePanelOn.setLayout(new BoxLayout(valuePanelOn, BoxLayout.X_AXIS));
valueLabelOn = new JLabel("Value on:");
valueLabelOn.setHorizontalAlignment(SwingConstants.RIGHT);
valuePanelOn.add(valueLabelOn);
textFieldOn = new JTextField();
valuePanelOn.add(textFieldOn);
textFieldOn.setColumns(10);
valuePanelOff = new JPanel();
configPanel.add(valuePanelOff);
valuePanelOff.setLayout(new BoxLayout(valuePanelOff, BoxLayout.X_AXIS));
valueLabelOff = new JLabel("Value off:");
valueLabelOff.setHorizontalAlignment(SwingConstants.RIGHT);
valuePanelOff.add(valueLabelOff);
textFieldOff = new JTextField();
textFieldOff.setColumns(10);
valuePanelOff.add(textFieldOff);
signalButton = new JToggleButton("Off");
signalButton.addItemListener(new ItemListener() {
@Override
public void itemStateChanged(ItemEvent e) {
link.sendCustomMessage(getId(),
e.getStateChange() == SELECTED ? getValueOn()
: getValueOff());
updateSignalButtonText();
}
});
add(signalButton);
}
/**
* Create the panel.
*/
public DigitalPinStatus() {
setLayout(new GridLayout(3, 1, 0, 0));
lblStatelabel = new JLabel(LOW);
lblStatelabel.setHorizontalAlignment(SwingConstants.CENTER);
lblStatelabel.setIcon(LOW_ICON);
lblStatelabel.setEnabled(false);
add(lblStatelabel);
comboPanel = new JPanel();
add(comboPanel);
lblPin = new JLabel("Pin:");
comboPanel.add(lblPin);
pinComboBoxModel = new IntMinMaxModel(2, 40);
pinComboBox = new JComboBox(pinComboBoxModel);
comboPanel.add(pinComboBox);
tglbtnSensor = new JToggleButton("Sensor off");
tglbtnSensor.addItemListener(new ItemListener() {
@Override
public void itemStateChanged(ItemEvent e) {
if (e.getStateChange() == ItemEvent.SELECTED) {
link.addDigitalReadChangeListener((listener = listener()));
tglbtnSensor.setText("Sensor on");
pinComboBox.setEnabled(false);
lblStatelabel.setEnabled(true);
} else if (e.getStateChange() == ItemEvent.DESELECTED) {
link.removeDigitalReadChangeListener(listener);
tglbtnSensor.setText("Sensor off");
pinComboBox.setEnabled(true);
lblStatelabel.setEnabled(false);
}
}
});
add(tglbtnSensor);
}
/**
* Create the panel.
*/
public DigitalPinStatus() {
setLayout(new GridLayout(3, 1, 0, 0));
lblStatelabel = new JLabel(LOW);
lblStatelabel.setHorizontalAlignment(SwingConstants.CENTER);
lblStatelabel.setIcon(LOW_ICON);
lblStatelabel.setEnabled(false);
add(lblStatelabel);
comboPanel = new JPanel();
add(comboPanel);
lblPin = new JLabel("Pin:");
comboPanel.add(lblPin);
pinComboBoxModel = new IntMinMaxModel(2, 40);
pinComboBox = new JComboBox(pinComboBoxModel);
comboPanel.add(pinComboBox);
tglbtnSensor = new JToggleButton("Sensor off");
tglbtnSensor.addItemListener(new ItemListener() {
public void itemStateChanged(ItemEvent e) {
if(e.getStateChange() == ItemEvent.SELECTED) {
link.addDigitalReadChangeListener((DigitalReadChangeListener)tglbtnSensor.getParent());
tglbtnSensor.setText("Sensor on");
pinComboBox.setEnabled(false);
lblStatelabel.setEnabled(true);
} else if(e.getStateChange() == ItemEvent.DESELECTED) {
link.removeDigitalReadChangeListener((DigitalReadChangeListener)tglbtnSensor.getParent());
tglbtnSensor.setText("Sensor off");
pinComboBox.setEnabled(true);
lblStatelabel.setEnabled(false);
}
}
});
add(tglbtnSensor);
}