當用戶單擊JFrame的角落以調整大小並拖動鼠標時,JFrame將根據用戶拖動的鼠標的當前位置重新繪製。你怎麼能聽這些事件?在用戶拖動鼠標時收聽JFrame調整大小事件?
下面是我所目前正在嘗試:
public final class TestFrame extends JFrame {
public TestFrame() {
this.addComponentListener(new ComponentAdapter() {
public void componentResized(ComponentEvent e) {
// This is only called when the user releases the mouse button.
System.out.println("componentResized");
}
});
}
// These methods do not appear to be called at all when a JFrame
// is being resized.
@Override
public void setSize(int width, int height) {
System.out.println("setSize");
}
@Override
public void setBounds(Rectangle r) {
System.out.println("setBounds A");
}
@Override
public void setBounds(int x, int y, int width, int height) {
System.out.println("setBounds B");
}
}
如何確定並限制用戶如何調整其大小的窗口(基於窗口的當前長寬比),因爲他們周圍拖動鼠標周圍?
@finnw請你澄清你的賞金理由,因爲我看到'Java_1.4'和'Java_1.5'之間的區別,但是我找不到'Java_6','note'的區別,但是沒有最深的檢查到嵌套和繼承方法 – mKorbel 2011-10-06 08:53:39
@mKorbel,我嘗試了兩種方法(JPanel上的ComponentListener;覆蓋驗證)。代碼編譯並在兩個版本的Java下運行,但在Java 1.6中,佈局不斷被重新計算,但是在Java 1.5只有當我釋放鼠標。 – finnw 2011-10-06 12:17:35
@finnw你調整JComponent或JFrame – mKorbel 2011-10-06 12:23:40