1

私はJavaプログラミング言語が初めてです。アプリケーションを 1 分間開いた後、いくつかのコードを実行したいと考えています。どうすればいいですか?

こんにちは、私を助けてくれてありがとう!今から詳しく説明します。私がやりたいのは Bukkit プラグインで、1 分後にプレーヤーが何かを落とした場合、コンソールに「プレーヤーが移動しています」などの情報メッセージが表示されますが、最初のメッセージ「プレーヤーが何かを落としました」を表示させることができます。エラーは私が使用したブール値にあると思います。誰かがブキットで私を助けてくれますか? これは私のコードです:

public class HgCake extends JavaPlugin implements Listener{
boolean reference = false;
@Override
public void onEnable() {
    Bukkit.getServer().getPluginManager().registerEvents(this, this);
}

@EventHandler
public void onDropItem (PlayerDropItemEvent e) {
    getLogger().info("Player dropped something");
    reference = true;

}

    public void onPlayerMove (PlayerMoveEvent e){
        if (reference = true){
            getLogger().info("Players are moving");


        }

}
 }
4

2 に答える 2

2

1 つの方法は、ある種のタイマーを使用することです。これが Swing GUI の場合は Swing タイマー (javax.swing.Timer)、そうでない場合はユーティリティ タイマー (java.util.Timer) またはScheduledThreadPoolExecutorです。

より具体的で「役立つ」ヘルプが必要な場合は、関連するコードを含め、試したことを投稿することをお勧めします。すべてのエラーと例外を表示するなど、どのように機能しないかを説明します。そして、何が理解できないのかについて、必要に応じて非常に具体的な質問をしてください。

于 2013-09-10T22:57:03.810 に答える
1

java.util.concurrent.ScheduledExecutorServiceドキュメント内の例を参照してください。

java.util.Timerより簡単な解決策です

于 2013-09-10T22:57:45.330 に答える