paint(g);\r
}\r
\r
- Image offscreen;\r
- public void paint(Graphics g1)\r
+ public void paint(Graphics g)\r
{\r
-\r
if(tree==null)\r
return;\r
\r
repaint();\r
}\r
\r
- FontMetrics fm = g1.getFontMetrics(font);\r
-\r
int width = scrollPane.getSize().width;\r
int height = scrollPane.getSize().height;\r
if(!fitToWindow)\r
- height = fm.getHeight() * nameHash.size();\r
+ {\r
+ height = g.getFontMetrics(font).getHeight() * nameHash.size();\r
+ }\r
\r
+ if(getSize().width>width)\r
+ {\r
+ setSize(new Dimension(width,height));\r
+ scrollPane.validate();\r
+ return;\r
+ }\r
\r
- if(offscreen==null || offscreen.getWidth(this)!=width\r
- || offscreen.getHeight(this)!=height)\r
- offscreen = createImage(width, height);\r
+ setSize(new Dimension(width,height));\r
\r
- Graphics g = offscreen.getGraphics();\r
\r
g.setFont(font);\r
\r
- if (fitToWindow ||\r
- (!fitToWindow &&\r
- scrollPane.getSize().height > fm.getHeight() * nameHash.size() + offy))\r
- {\r
- draw(g, scrollPane.getSize().width, scrollPane.getSize().height);\r
- }\r
- else\r
- {\r
- setSize(new Dimension(scrollPane.getSize().width,\r
- fm.getHeight() * nameHash.size()));\r
- draw(g, scrollPane.getSize().width, fm.getHeight() * nameHash.size());\r
- }\r
+ draw(g, width, height);\r
\r
- g1.drawImage(offscreen, 0, 0, this);\r
- scrollPane.validate();\r
}\r
\r
\r