我目前正在尝试使用未装饰的JFrame
MouseListeners 来调整我的窗口大小。这是我实现调整 JFrame 东侧大小的示例。
sizeX
并且sizeY
是取自程序初始化部分的帧的当前大小。bg
是我的内容窗格上的唯一元素。我用过frame.pack()
。
public void mouseMoved(MouseEvent e){
if((sizeX - 2) <= e.getX()){
changeCursor(new Cursor(Cursor.E_RESIZE_CURSOR), true);
}else{
changeCursor(new Cursor(Cursor.DEFAULT_CURSOR), false);
}
printInfo("Moved", e);
}
public void mouseDragged(MouseEvent e){
if(sizeX < e.getX() ||
sizeX > e.getX()){
resizeXE(e);
}
printInfo("Dragged", e);
}
void changeCursor(Cursor cursor, boolean resize){
if(resize){
resizeFlag = true;
}else{
resizeFlag = false;
}
bg.setCursor(cursor);
}
void resizeXE(MouseEvent e){
if(resizeFlag){
sizeX = e.getX();
((JFrame) SwingUtilities.getAncestorOfClass(JFrame.class, bg)).setSize(
sizeX, sizeY);
}
}
我需要帮助尝试调整西侧的大小。我相信如果我弄清楚这一点,我可能不需要在南北两侧的帮助。
如您所见,我正在尝试使用该setSize()
方法调整大小。但是我不知道如何在西侧使用它。对替代品有什么建议吗?