小编Ale*_*man的帖子

setInterval()如何与button.onclick一起使用

我希望只有在单击按钮时才会调用alertMe函数,但是它会被调用(调用setInterval调用它),就像页面加载一样.但是,如果我取走pageLoad函数,那么startButton为null,我无法用它做任何事情.谢谢你,伙计们!

/when user clicks start, start the animation
window.onload = pageLoad;

function pageLoad() {
    var startButton = document.getElementById("start");

    startButton.onclick = setInterval(alertMe,200);
}

function alertMe() {
  alert("hi");
}
Run Code Online (Sandbox Code Playgroud)

javascript setinterval

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

为什么setText没有更新JLabel?

我在这里检查了其他线程,但没有找到解决方案.

1)JFrame是setVisible(true).

2)这意味着什么:"我想知道你的问题是否是一个并发问题,你是在Swing事件线程上进行长时间运行的进程,这是在阻止你的标签更新其文本." 我在其他地方读到了.

3)我没有多次初始化包含标签的JPanel.

编辑:4)从包含TrackingPanel(即gamePanel)的JPanel调用updateTurn .我调用方法changeTurns();,这是代码:

public void changeTurns() {
    if(turnPlayer == playerX)
        turnPlayer = playerO;
    else
        turnPlayer = playerX;

    trackingPanel.updateTurn();
}   
Run Code Online (Sandbox Code Playgroud)

以下是完整的相关代码:

import javax.swing.*;
import java.awt.*;
import java.awt.event.*;

public class TrackingPanel extends JPanel{

    /*TURN STUFF*/
    private JPanel turnPanel; //turns panel to keep track of whose turn it is
    private JLabel turnLabel;
    private String turn;

    /*OTHER*/
    private GamePanel gamePanel;


    public TrackingPanel( GamePanel gamePan ) {

        setLayout( new GridLayout(1,4) );
        setBorder(BorderFactory.createMatteBorder(2,2,4,2,Color.BLACK));

        gamePanel = gamePan; …
Run Code Online (Sandbox Code Playgroud)

java swing jlabel settext

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

标签 统计

java ×1

javascript ×1

jlabel ×1

setinterval ×1

settext ×1

swing ×1