我的應用程序佈局是一樣的東西: 定製的JFrame(這只是處理圖形用戶界面的創建),它包含一個標準的JPanel其中包含自定義的JPanel的JPanel不畫
定製的JPanel內,這就是所謂MinimapPanel,我改變了paint方法:
//in a constructor:
scaledTransform = new AffineTransform(); = new AffineTransform();
scaledTransform = new AffineTransform();
scaledTransform.scale(scaleAmount, scaleAmount);
//...
@Override
public void paintComponent(Graphics g) {
super.paintComponent(g);
Graphics2D g2d = (Graphics2D) g;
g2d.setTransform(scaledTransform);
mapDrawer.paintMinimap(g, seatMap, miniViewHandler);//it just calls a bunch of fillRect
if (viewRect != null) {
g.setColor(new Color(255, 0, 0));
int x = viewRect.x;
int y = viewRect.y;
g.drawRect(x, y, Math.abs(viewRect.width), Math.abs(viewRect.height));
}
g2d.setTransform(plainTransform);
}
一切工作正常,如果我不應用trasform,或者如果比例是1.0(無),但如果我縮放,每次的JFrame重繪,MinimapPanel保持空白。
關於我可能做錯什麼的想法?
代碼爲更好地幫助越早,張貼[SSCCE(http://sscce.org/)。 – 2012-04-11 15:21:22
感謝您的領導! – Enoon 2012-04-13 09:42:19