我有子类 java.awt.Frame 和已改写的 paint() 方法,我希望提请整个窗口的内容。

然而,在图形象,(0,0)相对应的左上角的窗口 内部 在标题栏装饰,不是首可画的像素。

我可以确定的协调的第一冲素(即高度的装饰)在交叉平台的方式,避免使用Mac OS X-特 软糖的因素?我将被迫巢了 小组 组件,以便找到实际可绘制区域窗口?

在这里,我的代码失败中心的蓝色的正方形内,可绘制区域窗口:

@Override
public void paint (Graphics g) {
    g.setColor(Color.BLUE);
    g.setPaintMode();
    g.fillRect(30, 30, getWidth()-60, getHeight()-60);
}
有帮助吗?

解决方案

你可以找到该框架插图通过调用getInsets方法(定义中的容器)。框架内饰讨论框架的顶部API文档。

其他提示

所以你要油漆整个区域的和不想要一个标题吧?

假设你使用Java1.4(至少)然后你就可以宣布该框架是"未修饰"(java。awt.框架#setUndecorated(boolean)).这种方式没有标题的条创建的,因此该框架可绘制的地区相同的框架-消耗区。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top