Java: JButton
Description
There are a few steps in using a button: declaring it,
creating it, adding it to a container (the content pane or a JPanel),
and adding a listener that has code to execute when the
user clicks on the button.
Images can be used on buttons, including automatic rollover effects.
Constructors
Assume these declarations.
String text;
Icon image;
JButton btn = new JButton(text)
;
JButton btn = new JButton(text, image)
;
JButton btn = new JButton(image)
;
Common methods
Assume these declarations:
JButton btn;
ActionListener listener;
boolean b;
//--- Buttons always have action listeners.
btn.addActionListener(listener);
btn.setEnabled(b);
Events
When a button is clicked, the
actionPerformed()
method is called for all of the button's
listeners.
It is passed an ActionEvent, which is generally ignored,
but can be used to identify which component generated the event if
several share the same listener. The example below shows
the creation of a button, attaching a listener, and adding
the button to a container.
Example
Typically a button is assigned to a local variable (not an instance variable) and an anonymous
action listener is added to it. The listener often calls
another method to do everything because separating the code to build the user interface
and do the "semantics" makes a program clearer and easier to modify.
JButton mybtn = new JButton("Do Something");
mybtn.addActionListener(
new ActionListener() {
public void actionPerformed(ActionEvent e) {
doMyAction(); // code to execute when button is pressed
}
}
);
. . .
content.add(mybtn); // add the button to a JPanel (eg, content).