这是一个小任务。一个JFrame程序必须编写,当你单击一个按钮时,同一个面板中的另一个按钮; y.in button.setBound(x,y,l,b);将减少100倍并在该位置停留一段时间并返回其原始位置。 现在问题出现了,当我按下按钮时,另一个按钮跳跃但并不总是。在某些点击它不会完全跳跃 - 这是任意发生的。
我的代码可能缺少什么? PS-JFrame是使用eclipse中的拖放调色板创建的,因此大多数代码都是自动生成的。
int jy=325,jx=214;
int x=325;
int o1x=403,o1y=359;//global in class
public void run()
{
int xo1=o1x;
while(true)
{
action.addMouseListener(new MouseAdapter() {
@Override
public void mouseClicked(MouseEvent arg0)
{
jumper.setBounds(jx, jy-100, 23, 70);
}
});
try{sleep(750);}catch(Exception e){}
jumper.setBounds(jx, jy, 23, 70);
xo1=xo1-50;
if(xo1<=100)
{
xo1=o1x;
}
obs1.setBounds(xo1, o1y, 12, 35);
}
}
答案 0 :(得分:0)
由于我无法看到您的所有代码,我只能猜测。你正在使用什么LayoutManager?它是一个空布局吗?否则,setBounds
方法最终可能无法正常工作。
如果你有一个空布局(应该做什么绝对定位),当jumper
已经可见时,你可能需要在调用setBounds()
之后重新绘制jumper
的父组件。为此,请尝试以下操作:
parent.revalidate();
parent.repaint();