相关疑难解决方法(0)

无限期地将Runnable从java转换为kotlin

我在监视某个文件的java中有这样的代码:

private Handler mHandler = new Handler();
private final Runnable monitor = new Runnable() {

    public void run() {
        // Do my stuff
        mHandler.postDelayed(monitor, 1000); // 1 second
    }
};
Run Code Online (Sandbox Code Playgroud)

这是我的kotlin代码:

private val mHandler = Handler()
val monitor: Runnable = Runnable {
    // do my stuff
    mHandler.postDelayed(whatToDoHere, 1000) // 1 second
}
Run Code Online (Sandbox Code Playgroud)

我不明白Runnable我应该传递什么mHandler.postDelayed.什么是正确的解决方案?另一件有趣的事情是,当我提供这段代码时,kotlin到java转换器会冻结.

java android kotlin

13
推荐指数
2
解决办法
1万
查看次数

Java Swing:延迟后更改文本

基本上,我有这个游戏,一旦猜到正确答案,它开始一个新单词的新游戏.我想显示Correct!但三秒后,将其更改为空字符串.我怎么做?

我的尝试:

if (anagram.isCorrect(userInput.getText()))
    {

        anagram = new Anagram();
        answer.setText("CORRECT!");
        word.setText(anagram.getRandomScrambledWord());
        this.repaint();
        try
        {
        Thread.currentThread().sleep(3000);
        }
        catch (Exception e)
        {
        }
        answer.setText("");

    } else
    {
        answer.setForeground(Color.pink);
        answer.setText("INCORRECT!");
    }
Run Code Online (Sandbox Code Playgroud)

编辑:

我的解决方案

private void jButton1ActionPerformed(java.awt.event.ActionEvent evt)
    {
        // TODO add your handling code here:
    if (anagram.isCorrect(userInput.getText()))
    {
        answer.setText("CORRECT!");

        ActionListener taskPerformer = new ActionListener()
    {
    public void actionPerformed(ActionEvent evt)
    {
        anagram = new Anagram();
        word.setText(anagram.getRandomScrambledWord());
        answer.setText("");
        userInput.setText("");
    }
    };
    Timer timer = new Timer(3000, taskPerformer);
    timer.setRepeats(false);
    timer.start();
    } else
    {
        answer.setForeground(Color.pink); …
Run Code Online (Sandbox Code Playgroud)

java swing timer delay

3
推荐指数
1
解决办法
2150
查看次数

如何在每次迭代之间使这个java for循环暂停1/2秒?

private class MultipleGensListener implements ActionListener
   {
    public void actionPerformed(ActionEvent e)
        {
            for(int i = 0; i < 25; i++)
            {
                game.runSimulationOneGen();
                changeGrid();
            }
        }
   }
Run Code Online (Sandbox Code Playgroud)

//这是循环.changeGrid方法在GUI上显示游戏网格,但//仅在屏幕上显示第25次迭代.在循环继续之前,我希望每个人都可以看到大约半秒钟.//我在这里看到的一些问题与我提出的问题非常接近,但是我真的不明白如何将它应用到我的程序中... //感谢您的帮助.

java swing loops timer delay

0
推荐指数
1
解决办法
6104
查看次数

标签 统计

java ×3

delay ×2

swing ×2

timer ×2

android ×1

kotlin ×1

loops ×1