java 峰值问题_java-移动播放器时出现延迟峰值

本文探讨了在使用RelativeLayout布局管理器时,播放器面板位置更新过程中遇到的问题。当通过键盘事件改变播放器的位置并重新验证布局时,会同时影响到其他小面板的位置,导致布局混乱。文中提供了一个具体的代码示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

播放器是一个面板,将其删除,更改其位置,然后重新添加到另一个绘制到主框架的面板(包含此方法的面板)中.还有许多其他小的面板,其中包含草精灵作为地形图块绘制到主面板上.我认为问题在于,当我调用revalidate()时,它也会重新验证所有这些小面板.我该如何解决?

编辑:我应该提到,我正在使用RelativeLayout将播放器放置在主面板上.

private class MainKeyAdapter extends KeyAdapter {

@Override

public void keyPressed(KeyEvent evt) {

// TODO add your handling code here:

if(AttentionedPlayer != null)

{

if (evt.getKeyCode() == KeyEvent.VK_UP) {

AttentionedPlayer.Ypos -= 16;

}

if (evt.getKeyCode() == KeyEvent.VK_DOWN) {

AttentionedPlayer.Ypos += 16;

}

if (evt.getKeyCode() == KeyEvent.VK_LEFT) {

AttentionedPlayer.Xpos -= 16;

}

if (evt.getKeyCode() == KeyEvent.VK_RIGHT) {

AttentionedPlayer.Xpos += 16;

}

remove(AttentionedPlayer);

AttentionedPlayer.movePlayer();

System.out.println("!!!!"+AttentionedPlayer.constraints.toString());

add(AttentionedPlayer, AttentionedPlayer.constraints, AttentionedPlayer.Zpos);

AttentionedPlayer.revalidate();

}

}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值