2
時,我有一個JComponent,做自定義繪製,並覆蓋下列方法:強制一個JComponent是正方形被調整
public Dimension getPreferredSize() {
return new Dimension(imageWidth, imageHeight);
}
public Dimension getMinimumSize() {
return new Dimension(imageWidth, imageHeight);
}
凡imageWidth和imageHeight是圖像的實際大小。
我一直在使用SpringLayout中把它添加到內容窗格:
layout.putConstraint(SpringLayout.SOUTH, customComponent, -10, SpringLayout.SOUTH, contentPane);
layout.putConstraint(SpringLayout.EAST, customComponent, -10, SpringLayout.EAST, contentPane);
layout.putConstraint(SpringLayout.NORTH, customComponent, 10, SpringLayout.NORTH, contentPane);
所以它被限制在北部和南部,使其將調整它的高度在調整大小時,東被限制在內容窗格的邊緣,但西部可以自由向左移動。
我希望它在調整大小時保持方形大小(寬度==高度)。任何人有任何想法如何做到這一點?
非常好,謝謝。雖然重塑似乎已被棄用,所以我會使用setBounds,但這是我正在尋找的方向。 – DanielGibbs 2010-08-16 03:44:34
如果您重寫'setBounds'而不是重新塑形,則可能無法捕捉所有尺寸更改。即使它已被棄用,「重塑」是所有其他人委派的方法。 – mdma 2010-08-16 10:19:29