<Swing Dev> Adding a label on top of a button
Pavel Porvatov
pavel.porvatov at oracle.com
Wed Aug 1 15:03:41 UTC 2012
Hi Sanjaya,
> Hi all,
> I want to add a label(D3) on right top corner of a button as
> below,Can anyone help please?
>
>
> Inline image 1
>
There are many ways to do that. For example you can override the
JButton#paintComponent method. Or you can use JLayer, see below:
import javax.swing.*;
import java.awt.*;
public class JLayerSample {
public static void main(String[] args) {
SwingUtilities.invokeLater(new Runnable() {
@Override
public void run() {
JFrame frame = new JFrame();
JButton button = new JButton("Some button");
JLayer<JButton> layer = new JLayer<>(button);
JPanel glassPane = new JPanel(new GridBagLayout());
glassPane.add(new JLabel("D3"), new
GridBagConstraints(0, 0, 1, 1, 1, 1,
GridBagConstraints.NORTHEAST,
GridBagConstraints.NONE, new Insets(0, 0, 0, 0),
0, 0));
layer.setGlassPane(glassPane);
glassPane.setOpaque(false);
glassPane.setVisible(true);
frame.add(layer);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setSize(600, 400);
frame.setVisible(true);
}
});
}
}
See more about JLayer here:
http://docs.oracle.com/javase/tutorial/uiswing/misc/jlayer.html
Regards, Pavel
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.openjdk.java.net/pipermail/swing-dev/attachments/20120801/c8aa0369/attachment.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: image/png
Size: 3936 bytes
Desc: not available
URL: <http://mail.openjdk.java.net/pipermail/swing-dev/attachments/20120801/c8aa0369/attachment.png>
More information about the swing-dev
mailing list