您如何检查 window 是否已调整大小?

How do you check to see if a window has been resized?

我希望按钮的文字大小随着 window 高度的调整而增加。

button.setFont(new Font("Tahoma", Font.PLAIN, frame.getHeight() / 20));

但是,我找不到任何地方可以将它放入我的代码中,以便字体大小会实时更新。我要添加什么?

一种选择是让您的 JFrame 实施“ComponentListener”。此接口中的方法之一是:

public void componentResized(ComponentEvent e) {
    // Perform calculation here
} 

另一种选择是覆盖 JFrame paintComponent 方法以重新计算每次绘制的大小:

Dimension size;

protected void paintComponent(Graphics g){
  if (!size.equals(getSize()){
    size = getSize();      
  }
}