图片上某点如何加上 tooltip? [续]

oraclehelper 2007-06-29 02:35:38
看代码看的很迷糊,请求高手们的帮助
图上生成了带点的曲线,现在鼠标移在点上需要有tooltip
代码如下:

for (int i = 0; i < values.size(); i++){
Double dr = (Double)values.elementAt(i);
chart.getDataset().addElement( i, dr.doubleValue(), 0 );
}
这里生成了曲线上的点. chart是自定义组件,代码如下.
========
import java.awt.Container;
import java.awt.Dimension;
import java.awt.Event;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.Image;
import java.awt.RenderingHints;
import java.awt.event.ComponentAdapter;
import java.awt.event.ComponentEvent;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
import java.awt.event.MouseMotionListener;
import java.awt.image.BufferedImage;
import java.util.Vector;

import javax.swing.ImageIcon;
import javax.swing.JPanel;
import javax.swing.event.EventListenerList;

public class DsChart extends CControl implements MouseListener, MouseMotionListener
{
....

public DsChart(){
initForm();
dataset = new DsDataset(this);
bgImage = null;
....
}
class DsChartPanel extends JPanel{
protected Image chartImage = null;

public DsChartPanel(){
this.addComponentListener(new ComponentAdapter()
{
public void componentResized(ComponentEvent e)
{ chartImage = null;}});
}
......

}
private DsChartPanel m_this = new DsChartPanel();
private void initForm(){
m_this.setSize(300,200);
m_this.setName("chart1");
m_this.addMouseListener(this);
m_this.addMouseMotionListener(this);
/*
wfc this.addOnClick(new EventHandler(this.DsChart_click));
this.addOnMouseDown(new MouseEventHandler(this.DsChart_mouseDown));
this.addOnResize(new EventHandler(this.DsChart_resize));
*/
}

/** Returns the {@link DsDataset }for this chart.*/
public DsDataset getDataset()
{
return dataset;
}
=====

下面是 DsDataset 这个类
import java.awt.BasicStroke;
import java.awt.Graphics2D;
import java.awt.Polygon;
import java.awt.Stroke;
import java.awt.Toolkit;
import java.awt.geom.Point2D;
import java.util.Vector;
public class DsDataset{
protected Vector pointSet;

/** Construct and initialize a dataset for the given graph
*/
public DsDataset(DsChart xy){
pointSet = new Vector();
......
}

/**Create a point and add it to the given dataset*/
public void addElement(double x, double y, int identifier){
addElement(new DsXYPoint(x, y), identifier);
}


/** Add a point to the given dataset*/
public void addElement(DsXYPoint xy, int identifier){
Vector points;

while (pointSet.size() <= identifier){
pointSet.addElement(new Vector());
}

initDataStyle(identifier);

points = (Vector) pointSet.elementAt(identifier);
points.addElement(xy);
}

}
==================================================

请问到底在哪里加tooltip合适?
怎么加? 感谢了!
...全文
239 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
oraclehelper 2007-07-03
  • 打赏
  • 举报
回复
等待中,苦闷中~~
oraclehelper 2007-07-02
  • 打赏
  • 举报
回复
大大们都在哪里啊~~
oraclehelper 2007-06-29
  • 打赏
  • 举报
回复
是否应该扩展下DsXYPoint 这个类? 加上 addMouseListener ?
zxh2208180 2007-06-29
  • 打赏
  • 举报
回复
ding

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧