Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/322.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
从UI调整java swing组件的大小_Java_Swing_Components_Resizable - Fatal编程技术网

从UI调整java swing组件的大小

从UI调整java swing组件的大小,java,swing,components,resizable,Java,Swing,Components,Resizable,我需要制作可调整大小的java swing组件(JPanel),因此当我单击该组件的边框并用光标拖动到其他地方时,该组件将根据鼠标位置改变大小。这有什么简单的解决方法吗?在组件上附加一个MouseListener,在检查鼠标是否按在您定义的边框上后,在开始拖动鼠标按下方法时记录鼠标位置,然后在鼠标释放方法中调整组件的大小,通过减去拖动开始和结束时的鼠标位置来计算大小差异 如果拖动时需要/想要连续调整大小,请使用MouseInputListener,也可以在“鼠标按下”方法中记录组件的大小,并在“

我需要制作可调整大小的java swing组件(JPanel),因此当我单击该组件的边框并用光标拖动到其他地方时,该组件将根据鼠标位置改变大小。这有什么简单的解决方法吗?

在组件上附加一个
MouseListener
,在检查鼠标是否按在您定义的边框上后,在开始拖动鼠标按下方法时记录鼠标位置,然后在鼠标释放方法中调整组件的大小,通过减去拖动开始和结束时的鼠标位置来计算大小差异

如果拖动时需要/想要连续调整大小,请使用
MouseInputListener
,也可以在“鼠标按下”方法中记录组件的大小,并在“鼠标移动”方法中进行调整大小


如果您还希望有一个可见的边框,您可以将该边框添加到组件中,并将鼠标侦听器添加到边框中,这样当您获得按下的事件时,您就知道自己在边框上。

鼠标侦听器
附加到组件上,在“鼠标按下”方法中记录拖动开始时的鼠标位置,检查鼠标是否按在您定义的边界上后,然后在“鼠标释放”方法中调整组件的大小,通过减去拖动开始和结束时的鼠标位置来计算大小差

如果拖动时需要/想要连续调整大小,请使用
MouseInputListener
,也可以在“鼠标按下”方法中记录组件的大小,并在“鼠标移动”方法中进行调整大小

如果您还希望有一个可见的边框,您可以将该边框添加到组件中,并将鼠标侦听器添加到边框中,这样当您收到按下的事件时,您就知道自己在边框上。

签出。签出。