【问题标题】:Java Programming, Window Size PredicamentJava 编程,窗口大小困境
【发布时间】:2013-12-07 21:07:26
【问题描述】:

我正在创建一个将矩阵转换为图形的程序。它需要矩阵通过它,然后将显示 10*10 框。一切正常,但这是我的问题。

假设我想制作一个矩阵[3][3],这样当我制作我的 JFrame 30*30 时,图像将是 30 x 30,它太小了。这可能是初学者的错误,但我怀疑我不包括边界?

所以它制作的正方形是 10 x 10,JFrame 大小是 30,30,但 JFrame 内的空间比它应该小得多。

public void paint(Graphics w){
for (int row = 0; row < a.length; row ++ )
     for (int col = 0; col < a[row].length; col++ )
     {
        if(a[row][col]==1){
            w.fillRect(col*10, row*10, 10,10);
        }
        x+=10;
     }
}

能否请您解释一下窗口的边框有多大,以便我可以使我的 JFrame 大小正确?谢谢你帮助我理解!

【问题讨论】:

  • 措辞还行,但缺少代码很伤...

标签: java swing graphics jframe size


【解决方案1】:

窗口(和框架)周围有装饰物,它们位于框架绑定依赖项内,因此如果您将框架设置为 30x30,则框架的可视尺寸会更小。

您要做的是覆盖主容器的 getPreferredSize 方法,该方法返回(在本例中)30x30 和框架上的调用 pack

这将调整窗口的大小,使可视区域至少为 30x30

【讨论】:

  • 我不太明白你介意尝试“更简单”地解释它吗谢谢!我只是计算机科学 AP,所以我不是“专家”是的 :) 谢谢!
  • 基本上,为自己创建一个从 do,egg 类 JPanel 扩展的新类,重写它的 getPreferredSize 方法并返回您需要的组件的大小。使用它来显示您的矩阵并将其添加到您的框架中。准备好后,在调用 setVisible 之前调用“pack()”
  • 明白了!非常感谢!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-12-06
  • 2014-07-24
  • 1970-01-01
  • 2013-10-07
  • 1970-01-01
相关资源
最近更新 更多