Velocity Reviews - Computer Hardware Reviews

Velocity Reviews > Newsgroups > Programming > Java > Tooltips usage

Reply
Thread Tools

Tooltips usage

 
 
k0m0r
Guest
Posts: n/a
 
      08-02-2006
Hi.
I've been trying to solve it myself, but I simply don't get it

I've got a JSlider and I need to print it's value in a tooltip that
appears at the cursor position every time mouse enters the
slider or changes its value (the tooltip should "chase" mouse
position).
I've been trying this:

class JProxySlider extends JSlider
implements ChangeListener {

JToolTip tip = new JToolTip();

JProxySlider() {
.....
tip.setComponent(this);
this.addChangeListener(this);
}

public void stateChanged(ChangeEvent e) {
tip.setToolTipText(this.getValue()+"");
tip.setVisible(true);
}
}

but I can't figure out how to fire the tooltip popup.
I found also ToolTipManager, but I can't force it
to work with this one.

Please help.

k0m0r

 
Reply With Quote
 
 
 
 
Thomas Fritsch
Guest
Posts: n/a
 
      08-02-2006
k0m0r wrote:
> I've been trying to solve it myself, but I simply don't get it
>
> I've got a JSlider and I need to print it's value in a tooltip that
> appears at the cursor position every time mouse enters the
> slider or changes its value (the tooltip should "chase" mouse
> position).
> I've been trying this:
>
> class JProxySlider extends JSlider
> implements ChangeListener {
>
> JToolTip tip = new JToolTip();
>
> JProxySlider() {
> .....
> tip.setComponent(this);
> this.addChangeListener(this);
> }
>
> public void stateChanged(ChangeEvent e) {
> tip.setToolTipText(this.getValue()+"");
> tip.setVisible(true);
> }
> }
>
> but I can't figure out how to fire the tooltip popup.
> I found also ToolTipManager, but I can't force it
> to work with this one.


Try this:
class JProxySlider extends JSlider
implements ChangeListener {

JProxySlider() {
setToolTipText(this.getValue()+"");
this.addChangeListener(this);
}

public void stateChanged(ChangeEvent e) {
// update the tooltip to current slider value
setToolTipText(this.getValue()+"");
}

// overridden, so that the tooltip follows the mouse position
public Point getToolTipLocation(MouseEvent event) {
return new Point(event.getX() + 15, event.getY());
}
}

BTW, what makes you want to use tooltips to display the current slider
value?
Why not doing it more conventional?, i.e. by using the JSlider-API to
draw ticks/labels permanently. For example:
this.setPaintLabels(true);
this.setMajorTickSpacing(20);
this.setMinorTickSpacing(5);
this.setPaintTicks(true);

--
Thomas
 
Reply With Quote
 
 
 
 
Vova Reznik
Guest
Posts: n/a
 
      08-02-2006
k0m0r wrote:
> Hi.
> I've been trying to solve it myself, but I simply don't get it
>
> I've got a JSlider and I need to print it's value in a tooltip that
> appears at the cursor position every time mouse enters the
> slider or changes its value (the tooltip should "chase" mouse
> position).
> I've been trying this:
>
> class JProxySlider extends JSlider
> implements ChangeListener {
>
> JToolTip tip = new JToolTip();
>
> JProxySlider() {
> .....
> tip.setComponent(this);
> this.addChangeListener(this);
> }
>
> public void stateChanged(ChangeEvent e) {
> tip.setToolTipText(this.getValue()+"");
> tip.setVisible(true);
> }
> }
>
> but I can't figure out how to fire the tooltip popup.
> I found also ToolTipManager, but I can't force it
> to work with this one.
>
> Please help.
>
> k0m0r
>

All you need is to overright
public String getToolTipText(MouseEvent event) {
return "" + getValue();
}
of JComponent and call setToolTipText in a constructor.


import java.awt.BorderLayout;
import java.awt.event.MouseEvent;

import javax.swing.JFrame;
import javax.swing.JSlider;

class JProxySlider extends JSlider {
JProxySlider() {
super(5, 25);
setToolTipText(this.getValue() + "");
}

public String getToolTipText(MouseEvent event) {
return "" + getValue();
}

public static void main(String agrs[]) {
JFrame f = new JFrame();
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
f.getContentPane().add(new JProxySlider(), BorderLayout.CENTER);
f.getContentPane().add(new JProxySlider(), BorderLayout.NORTH);
f.getContentPane().add(new JProxySlider(), BorderLayout.SOUTH);
f.setLocationRelativeTo(null);
f.pack();
f.setVisible(true);
}
}
 
Reply With Quote
 
 
 
Reply

Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
ToolTips and Tables -- how can I have tooltips on the cells of a column? Frank HTML 2 12-07-2006 10:05 PM
Tooltips in intellisence Shaul Feldman ASP .Net 2 04-03-2004 08:08 PM
tooltips in datagrid? Steve Chatham ASP .Net 1 02-18-2004 11:01 PM
ToolTips delay and display times?? Roberto López ASP .Net 2 08-23-2003 10:41 AM
Tooltips on datagrid titles Stevie_mac ASP .Net 2 07-25-2003 01:26 PM



Advertisments