Changing
the Label of a JButton Component in Java

This section illustrates you how to change the label of
a button in java swing. JButton is the component of javax.swing.*;
package.
The following program helps you to change the label of
the button. In this program, the label of the button is changed from "Click
Me" to "Roseindia.net"
and vice versa whenever you click on the button as
shown below:
Before:

After:

In this program, addActionListener() method has been
added to the button to register the action listener and then if you click on the
button, the generated action event is captured in the
actionPerformed(ActionEvent e) method. In the
actionPerformed(ActionEvent e){ we check the
label of the button.
If the label of the button is "Roseindia.net", it will change the
button label to "Click Me" otherwise it will change the label to "Roseindia.net".
setText(String):
Above method sets the label of the
button.
Here is the code of the program:
import javax.swing.*;
import java.awt.event.*;
public class ChangeButtonLabel{
JButton button;
public static void main(String[] args){
ChangeButtonLabel cl = new ChangeButtonLabel();
}
public ChangeButtonLabel(){
JFrame frame = new JFrame("Change JButton Lebel");
button = new JButton("Click Me");
button.addActionListener(new MyAction());
frame.add(button);
frame.setSize(400, 400);
frame.setVisible(true);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
public class MyAction implements ActionListener{
public void actionPerformed(ActionEvent e){
String text = (String)e.getActionCommand();
if (text.equals("Click Me")){
button.setText("Roseindia.net");
}
else{
button.setText("Click Me");
}
}
}
}
|
Download this example.

|
Current Comments
4 comments so far (post your own) View All Comments Latest 10 Comments:Please tell me How can I set the position of a button on a frame?
Posted by Jyoti on Tuesday, 05.6.08 @ 18:53pm | #58642
Hi! Great lesson.
I'm wondering how to change the text of a button and menu option simultaneously by changing the associated Action object. I tried by changing the NAME property of the associated Action, but that didn't seem to work.
Thanks!
Orion
Posted by Orion Carrier on Monday, 02.11.08 @ 22:46pm | #47929
This website helped us a lot while doing our projects. i wish ur service continues...
Posted by Tamil on Friday, 01.25.08 @ 15:49pm | #46127
"ChangButtonLabel cl = new ChangButtonLabel();" should be ChangeButtonLabel cl = new ChangeButtonLabel();
thanks for your lessons...
Posted by bora ciner on Thursday, 12.7.06 @ 15:59pm | #593