Hi Dave,
Could you please provide a stack trace when the app is frozen?
Hit Ctrl+\ on unix, and Ctrl+Break on windows.
Thank you,
Dmitri
On Wed, Nov 03, 2004 at 11:08:37AM +0100, Braun-Friedman, David wrote:
> Im hoping that someone can give me some insight on the following issue:
>
> I am writing a java 2D imaging application that allows the user to
> annotate crosses on top of a jpeg image (among allowing other image
> manipulations as well). I have been trying to implement a tooltip for
> each of the annotations so that it will display some info about that
> particular annotation. To do so, I created a class called
> crossAnnotation that extends JComponent, thus allowing me use the
> setToolTipText method for each crossAnnotation object. The problem
> however, is that when I add the crossAnnoation(JComponent) obect to the
> imageCanvas(JPanel) where the image is drawn my whole program freezes.
> The program can't seem to handle the crossAnnotation being added to the
> imageCanvas as JComponent. Anyone know why? or maybe how I can
> implement the toolTip in some other way (but as far as I can se toolTip
> only works with JComponent)? Any help would be greatly appreciated.
>
>
> Thanks
> Dave
>
> Here's my code for crossAnnotation
>
>
> public class CrossAnnotation extends JComponent{
>
> private GeneralPath p;
> private double drawX, drawY;
> private double magFactor;
>
> private Graphics2D g2D;
> private Spot2GPlate spot;
>
> public CrossAnnotation(double drawX, double drawY, double magFactor,
> Graphics2D g2D, Spot2GPlate spot) {
> //addMouseListener(this);
> this.drawX = drawX;
> this.drawY = drawY;
> this.magFactor = magFactor;
> this.g2D = g2D;
> this.spot = spot;
> this.setToolTipText("aupa!!!!");
> //makeCross();
> }
>
> public void make(int swidth, int sheight, double magFactor, double
> width, double height){
> p = new GeneralPath(GeneralPath.WIND_NON_ZERO);
> p.moveTo(0, -sheight);
> p.lineTo(0, sheight);
> p.moveTo(-swidth, 0);
> p.lineTo(swidth, 0);
> //this.setSize(swidth*2, sheight*2);
> }
>
> public void setColorandDraw(int i, SpotList spotList, int gelType,
> boolean annotatedCanvas){
> if(i < spotList.getNumAnnotated())
> {
> if ((spot.getSpotExpressionTarget() -
> spot.getSpotExpressionControl()) > 0)
> {
> if(gelType == 1)
> g2D.setColor(Color.red);
> else
> {
> g2D.setColor(new Color(0,150,0)); }
> }
> else
> {
> if(gelType == 1)
> {
> g2D.setColor(new Color(0,150,0)); }
> else
> g2D.setColor(Color.red);
> }
>
> this.drawAnnotation(drawX, drawY);
> }
> else
> {
> if(spotList.size() > spotList.getNumAnnotated())
> {
> if(annotatedCanvas)
> g2D.setColor(Color.red);
> else
> g2D.setColor(new Color(0,150,0));
>
> this.drawAnnotation(drawX, drawY);
> }
> }
> }
>
> public void setAnnotationLabel(int canvasH){
> //System.out.println("canvasH: "+canvasH);
> g2D.setColor(Color.blue);
> Font f = new Font("Dialog", Font.PLAIN, (int)(12*magFactor));
> g2D.setFont(f);
> //g2D.translate(drawX, drawY);
> g2D.drawString(spot.getSpotIdentifier(),
> (int)(drawX-(15*magFactor)), (int)(drawY-((canvasH/36)*magFactor)));
> //g2D.dispose();
> }
>
> public void drawAnnotation(double drawX, double drawY){
> //g2D.setColor(Color.red);
> g2D.translate(drawX, drawY);
> g2D.draw(p);
> g2D.translate(-drawX, -drawY);
> //g2D.dispose();
> }
>
>
>
> /*public void mouseClicked(MouseEvent e) {
> //To change body of implemented methods use File | Settings |
> File Templates.
> }
>
> public void mouseEntered(MouseEvent e) {
> System.out.println("mouseEntered");
> this.setToolTipText("x: "+drawX+" y: "+drawY);//To change body
> of implemented methods use File | Settings | File Templates.
> }
>
> public void mouseExited(MouseEvent e) {
> //To change body of implemented methods use File | Settings |
> File Templates.
> }
>
> public void mousePressed(MouseEvent e) {
> //To change body of implemented methods use File | Settings |
> File Templates.
> }
>
> public void mouseReleased(MouseEvent e) {
> //To change body of implemented methods use File | Settings |
> File Templates.
> }
> */
>
> }
>
>
> ===========================================================================
> To unsubscribe, send email to [EMAIL PROTECTED] and include in the body
> of the message "signoff JAVA2D-INTEREST". For general help, send email to
> [EMAIL PROTECTED] and include in the body of the message "help".
===========================================================================
To unsubscribe, send email to [EMAIL PROTECTED] and include in the body
of the message "signoff JAVA2D-INTEREST". For general help, send email to
[EMAIL PROTECTED] and include in the body of the message "help".