JDK-4413682 : Plugin doesn't use Grahipcs2D consistently
  • Type: Bug
  • Component: deploy
  • Sub-Component: plugin
  • Affected Version: 1.3.0
  • Priority: P4
  • Status: Closed
  • Resolution: Duplicate
  • OS: windows_nt
  • CPU: x86
  • Submitted: 2001-02-09
  • Updated: 2002-04-29
  • Resolved: 2002-04-29
Related Reports
Duplicate :  
Description

Name: boT120536			Date: 02/08/2001


java version "1.3.0"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.3.0-C)
Java HotSpot(TM) Client VM (build 1.3.0-C, mixed mode)

If you write a simple bean using the Graphics2D graphics context in its paint()
method, the bean doesn't paint at all when hosted in eg. Word 97 using the
ActiveX bridge distributed with JDK 1.3.0.

In non-ActiveX contexts - eg. in Java2 applications, in the BeanBox, etc. - the
paint() method works fine.

Here's the code:

package dk.hiq.umlwise.application;

import java.awt.*;

public class UMLDiagramBean
   extends java.awt.Panel
{
   public UMLDiagramBean()
   {
   };
   public Dimension getPreferredSize()
   {
      return new Dimension(400, 300);
   };
  public void paint(Graphics g)
  {
     Dimension dim = getSize();
     //if (g instanceof Graphics2D) {
        Graphics2D g2 =(Graphics2D)g;
        g2.setStroke(new BasicStroke(2));
     //};
     g.setColor(Color.yellow);
     g.fillOval(1, 1, dim.width-2, dim.height-2);
     g.setColor(Color.blue);
     g.drawOval(1, 1, dim.width-2, dim.height-2);
  };

};

This code is compiled, packaged in a JAR and registered using the Packager.

Then Word97 (SR-2) is started, some text is inserted, "Insert -> Object" is
chosen, and the UmlBean is selected, and OK pressed.

Cool: the colored oval appears.

Now, if you select the text entered to begin with, the bean disappears! You can
bring it back by double-clicking it, but whenever you deselect it,
it "disappears" again.
(Review ID: 111611) 
======================================================================

Comments
WORK AROUND Name: boT120536 Date: 02/08/2001 If you un-comment the "if (g instanceof Graphics2D)" lines, everything starts working fine. This is however not really satisfactory, because this effectively prevents you from using the features provided by Graphics2D. And furthermore, text appears to be rendered much better (at least differently) by Graphics2D, meaning that you bean will change appearance depending on whether it is selected or not. ======================================================================
11-06-2004

EVALUATION The Active-X Bridge was removed in Java 1.4.0 based on a Java Steering Committee decision nearly 2 years ago. The decision was based on 2 things. Customer interest was marginal at best and Java Plug-in was no longer dependent on the bridge technology to operate. It was necessary to remove it to allow for code refactoring and reworking in 1.4.0. Since removing the bridge, many customers have expressed interest in it. We have filed an RFE (4616580) for this support in a future release. We are currently evaluating whether we have a significant business case to justify the 1-3 man-month engineering effort (more for supporting teams) in the Mantis/Tiger timeframe. NOTE: Mantis = Java 1.4.2 FCS Q2, 2003 Tiger = Java 1.5 FCS Q4, 2003 Support for the bridge in existing 1.3.x releases is limited to escalations and can be persued with our CTE team. This bug will be closed as a duplicate of 4616580. ###@###.### 2002-04-29
29-04-2002