调整JFrame java的西侧大小
我目前正在尝试使用鼠标侦听器,通过未装饰的调整JFrame java的西侧大小,java,swing,resize,jframe,Java,Swing,Resize,Jframe,我目前正在尝试使用鼠标侦听器,通过未装饰的JFrame来调整窗口的大小。下面是一个调整JFrame东侧大小的实现示例 sizeX和sizeY是从程序的初始化部分获取的帧的当前大小bg是“我的内容”窗格中的唯一元素。我使用了frame.pack() public void mouseMoved(MouseEvent e){ if((sizeX-2)e.getX()){ resizeXE(e); } 打印信息(“拖动”,e); } void changeCursor(光标光标、布尔值调整大小){ 如
JFrame
来调整窗口的大小。下面是一个调整JFrame东侧大小的实现示例
sizeX
和sizeY
是从程序的初始化部分获取的帧的当前大小<代码>bg是“我的内容”窗格中的唯一元素。我使用了frame.pack()
public void mouseMoved(MouseEvent e){
if((sizeX-2)e.getX()){
resizeXE(e);
}
打印信息(“拖动”,e);
}
void changeCursor(光标光标、布尔值调整大小){
如果(调整大小){
resizeFlag=true;
}否则{
resizeFlag=false;
}
bg.setCursor(游标);
}
void resizeXE(MouseEvent e){
如果(resizeFlag){
sizeX=e.getX();
((JFrame)SwingUtilities.getAncestorOfClass(JFrame.class,bg)).setSize(
(sizeX,sizeY),;
}
}
我需要帮助来实施西区的规模调整。我相信如果我弄明白了这一点,我可能就不需要南北双方的帮助了
如您所见,我正在尝试使用setSize()
方法调整大小。然而,我不知道如何在西区使用它。有其他选择的建议吗
如您所见,我正在尝试使用setSize()方法调整大小
在西面调整大小时,需要使用:
有道理。我实际上是在避免这样做,但我现在要试试。我已经完成了它的实现,但它太。。提奇。与西方相比,东方的调整要顺利得多。这显然是由设置位置引起的。是否可以使其大小更清晰?@user2280704,请参阅以了解我的实现。它将比您的更复杂,因为它支持捕捉等其他功能,但如果您仔细查看代码,它可能会给您一些想法。
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);
}
}