jButtons 在运行时调整大小
我想在运行时通过单击其边框并拖动它来调整 JButton 的大小。谁能用示例代码向我解释一下如何做到这一点。
public void mouseDragged(MouseEvent E)
{
Point point= E.getPoint();
//JButton get = floor_plan.dynamicButtons.get(E.getComponent());
JButton get=(JButton) E.getComponent();
int height = get.getHeight();
int width = get.getWidth();
int X=E.getXOnScreen();
int Y=E.getYOnScreen();
if(floor_plan.resize==1)
if (floor_plan.isHeld) {
System.out.println(X);
System.out.println(Y);
get.setPreferredSize(
new Dimension(floor_plan.grabbedDimension.width -
(floor_plan.grabbedPoint.x - point.x),
floor_plan.grabbedDimension.height -
(floor_plan.grabbedPoint.y - point.y)));
get.setBounds(new Rectangle(get.getLocation(), get.getPreferredSize()));
return;
}
System.out.println("height:"+height);
System.out.println("width:"+width);
get.setBounds(X-240,Y-125,height,width);
}
I want to resize the JButton
at runtime by clicking on its border and draging it. Can anyone explain me how to do it with a sample code.
public void mouseDragged(MouseEvent E)
{
Point point= E.getPoint();
//JButton get = floor_plan.dynamicButtons.get(E.getComponent());
JButton get=(JButton) E.getComponent();
int height = get.getHeight();
int width = get.getWidth();
int X=E.getXOnScreen();
int Y=E.getYOnScreen();
if(floor_plan.resize==1)
if (floor_plan.isHeld) {
System.out.println(X);
System.out.println(Y);
get.setPreferredSize(
new Dimension(floor_plan.grabbedDimension.width -
(floor_plan.grabbedPoint.x - point.x),
floor_plan.grabbedDimension.height -
(floor_plan.grabbedPoint.y - point.y)));
get.setBounds(new Rectangle(get.getLocation(), get.getPreferredSize()));
return;
}
System.out.println("height:"+height);
System.out.println("width:"+width);
get.setBounds(X-240,Y-125,height,width);
}
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
嗯,这可能适合你。添加新按钮时,只需添加一个
ResizableButton
即可。请注意,无论您在何处单击它,它都会调整大小。
下面是一个按钮的代码,该按钮根据是否按下 Alt 按钮来移动或调整大小:
Well, this might do it for you. When adding the new button, simply add a
ResizableButton
instead.Note, it will resize no matter where you click on it.
Below is code for a button that moves or re-sizes based on whether or not the Alt button is pressed.:
鼠标上的按钮
的位置
鼠标拖动你注册新的
您采取的 MouseEvent 的位置
两个事件的增量并相加
使用按钮的大小
setSize/setPreferredSize/任意
他们被称为
button
the location of the MouseEvent
mouseDragged you register the new
location of the MouseEvent you take
the delta of the two events and add
that to the size of the button using
setSize/setPreferredSize/whatever
they are called
尝试
http://tips4java.wordpress.com/2009/09/13/resizing -components/
以及用于移动组件
http://tips4java.wordpress .com/2009/06/14/moving-windows/
try
http://tips4java.wordpress.com/2009/09/13/resizing-components/
and for moving components
http://tips4java.wordpress.com/2009/06/14/moving-windows/