我已經子類java.awt.Frame並重寫paint()方法,因爲我希望手動繪製整個窗口的內容。在Mac OS X中獲取AWT框架的可繪製區域?
但是,在圖形對象上,(0,0)對應於窗口左上角裏面的標題欄裝飾,而不是第一個可繪製像素。
我可否以跨平臺的方式確定第一個可繪製像素的座標(即裝飾高度),避免使用Mac OS X特有的模糊因子?爲了找到窗口的實際可繪製區域,我會被強制嵌套一個Panel組件嗎?
這裏我的代碼不居中窗口可繪畫區域內的藍色方塊:
@Override
public void paint (Graphics g) {
g.setColor(Color.BLUE);
g.setPaintMode();
g.fillRect(30, 30, getWidth()-60, getHeight()-60);
}
alt text http://x13n.com/paintable-area.png