gpt4 book ai didi

java - 调整 JFrame java 西侧的大小

转载 作者:行者123 更新时间:2023-11-29 05:38:59 24 4
gpt4 key购买 nike

我目前正在尝试使用 MouseListeners 调整由未修饰的 JFrame 制作的窗口的大小。下面是我调整 JFrame 东侧大小的实现示例。

sizeXsizeY 是框架的当前大小,取自程序的初始化部分。 bg 是我的内容 Pane 中的唯一元素。我使用了 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() 方法调整大小。但是我不知道如何在西侧使用它。对替代方案有什么建议吗?

最佳答案

As you can see I'm trying to resize using the setSize() method.

当你在西边调整大小时,你需要使用:

  1. setLocation(...) - 因为框架的边缘移动到一个新的地方
  2. setSize(...) - 因为大小也会增加。

关于java - 调整 JFrame java 西侧的大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18394725/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com