获取JFrame的内部大小

时间:2015-10-15 18:56:47

标签: java swing jframe

我有一个JFrame定义

SQL> with tbl(name) as (
  2    select 'efs' from dual
  3    union
  4    select 'abc-' from dual
  5    union
  6    select 'a4bd' from dual
  7    union
  8    select 'gh$dll' from dual
  9    union
 10    select 'xy5zzy' from dual
 11  )
 12  select name from tbl
 13  where regexp_like(name, '^.*[-|$|4].*$');

NAME
------
a4bd
abc-
gh$dll

SQL>

我希望得到它内部的大小。

我尝试JFrame frame; frame = new JFrame(); ,但它的值与frame.getContentPane().getSize()相同 - 带边框的值。

我还尝试使用frame.getSize()执行某些操作,但它始终返回frame.getInsets()

关于如何获得[0, 0, 0, 0]的内部尺寸,您还有其他想法吗?

1 个答案:

答案 0 :(得分:1)

您需要先渲染JFrame,然后才能获得它的大小。 这可以通过

来完成
JFrame frame;
frame = new JFrame();
frame.setVisible(true);

System.out.println(frame.getContentPane().getSize());

如果您尝试在渲染之前获取大小,它将打印当前大小,即0。