动画JAVA JPanel同时滑出和滑入
我在移动JPanel时遇到问题
我有一个窗口400x600和一个JPanel(红色)100x100
public class RulettModel {
private int num;
public void Slide() {
num = num + 1;
if(num > 600) {
num = -100;
}
}
public int getNum() {
return num;
}
}
class RulettListener implements ActionListener{
Timer tm = new Timer(1, this);
@Override
public void actionPerformed(ActionEvent e) {
tm.start();
int y = 0;
theModel.Slide();
theView.setNewLocationOfPiros(theModel.getNum(), y);
}
}
void setNewLocationOfJpanel(int x, int y) {
JPanel1.setLocation(x,y);
}
这个代码是我的代码的一部分,这是需要在这里,这很好,我的JPanel是滑出窗口的右侧,当它的窗口宽度开始从-100回来,所以从左侧
我遇到的问题是: 我希望我的JPanel在右侧完全消失之前从左侧进入
所以,如果面板的一半已经熄灭了,那么那一半应该已经出现在左边了,所以我的面板应该一次在两个位置,一半在这里,一半在那里,这有可能吗
任何其他解决这件事的建议
# 1 楼答案
在编写以下代码之前,我使用Microsoft Paint制作了7个不同颜色的矩形,60像素宽,90像素高。你看
jf.setSize(186,120)
我只是通过反复试验得到这些值。我刚才猜的timerDelay是一个合适的值。至于原因,所有其他价值观都应该是显而易见的所有这一切的关键是,在TimerActionListener中,我只需获取每个分幅[I]的位置(),将5添加到x坐标,并在达到300时将其重置为-120,然后再次设置位置(int,int)
# 2 楼答案
我想你需要两个JPanel。那我就
并且有
setNewLocOfJPanel1(int, int)
和setNewLocOfJPanel2(int, int)
方法