示例#1
0
 public void repaint() {
   if (frame == null) return;
   Dimension dim = component.getPreferredSize();
   if (dim.getWidth() > component.getWidth() || dim.getHeight() > component.getHeight()) {
     frame.pack();
   } else {
     frame.repaint();
   }
 }
示例#2
0
 public void saveToDisk(String fileName) {
   Dimension dim = component.getPreferredSize();
   java.awt.Rectangle rect = new java.awt.Rectangle(0, 0, dim.width, dim.height);
   BufferedImage image = new BufferedImage(rect.width, rect.height, BufferedImage.TYPE_INT_RGB);
   Graphics2D g = (Graphics2D) image.getGraphics();
   g.setColor(java.awt.Color.WHITE);
   g.fill(rect);
   g.setColor(java.awt.Color.BLACK);
   component.paintComponent(g);
   String extension = fileName.substring(fileName.lastIndexOf('.') + 1);
   try {
     ImageIO.write(image, extension, new File(fileName));
   } catch (IOException e) {
     System.err.println("Was unable to save the image to " + fileName);
   }
   g.dispose();
 }