Hi Dscho,<br><br><blockquote style="margin:0pt 0pt 0pt 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex" class="gmail_quote">
However, JHotDrawImageCanvas actually contains a _JScrollPane_ whose<br>
JViewport contains the DrawingView. And I strongly suggest that that<br>
JViewport has insets, defaulting to (2,2,2,2) or some such.<br></blockquote>
<br>I changed the hack to be +1 pixel from the scroll pane size, which should hopefully be less sensitive to platform issues.<br><br>  <a href="http://trac.imagej.net/changeset/5011">http://trac.imagej.net/changeset/5011</a><br>

<br>But it&#39;s still a hack, and unlike your change does not do anything about the menu bar.<br><br>-Curtis<br><br><br><div class="gmail_quote">On Tue, Feb 28, 2012 at 5:23 PM, Johannes Schindelin <span dir="ltr">&lt;<a href="mailto:Johannes.Schindelin@gmx.de">Johannes.Schindelin@gmx.de</a>&gt;</span> wrote:<br>

<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hi,<br>
<br>
On Tue, 28 Feb 2012, Curtis Rueden wrote:<br>
<br>
&gt; &gt; &gt; The crappy scroll bars have been a continuing nuisance. I think it<br>
&gt; &gt; &gt; may be a bug in JHotDraw.<br>
&gt; &gt;<br>
&gt; &gt; Heh, I thought so, too... See: <a href="http://trac.imagej.net/ticket/1025" target="_blank">http://trac.imagej.net/ticket/1025</a><br>
&gt; &gt;<br>
&gt;<br>
&gt; Does your fix eliminate the need for the &quot;+5 pixels&quot; hack then?<br>
<br>
I doubt it. My fix only triggers a re-layout after adding the menu bar (it<br>
does not even force an invalidation, so on Mac it actually does not change<br>
the layout at all).<br>
<br>
But let me try...<br>
<br>
*clicketyclick*<br>
<br>
Okay, it does not fix the problem.<br>
<br>
But reading the code, I have a hunch what is going wrong.<br>
JHotDrawImageCanvas overrides getPreferredSize() and returns the<br>
dimensions of the contained DrawingView&#39;s preferred size, enlarged by<br>
(5,5).<br>
<br>
However, JHotDrawImageCanvas actually contains a _JScrollPane_ whose<br>
JViewport contains the DrawingView. And I strongly suggest that that<br>
JViewport has insets, defaulting to (2,2,2,2) or some such.<br>
<br>
One thing that changes something is if I add this call just after<br>
instantiating the JScrollPane:<br>
<br>
        scrollPane.setBorder(new EmptyBorder(0, 0, 0, 0));<br>
<br>
Now I only need to add 1 per dimension...<br>
<br>
Leaving it as-is for now.<br>
<br>
Ciao,<br>
Dscho<br>
</blockquote></div><br>