文本没有显示在java中的Jtogglebutton上

时间:2015-12-16 14:40:05

标签: java actionlistener

我正在进行一场扫雷游戏。我遇到的问题是我想在切换按钮上显示一个单词。我已经使用setText方法完成了这项工作,但是当我运行它时,单击时按钮上不会显示文本。

isMovingup = !isMovingup

}

1 个答案:

答案 0 :(得分:0)

试试这个:

this.props.config.select.option

我认为在之后添加public Mine() { initComponents(); for(int i = 0; i < hei ; i++) { for(int j = 0 ; j < wid;j++) { blocks[i][j] = new JToggleButton(); blocks[i][j].setSize(jPanel1.getWidth()/wid,jPanel1.getHeight()/hei); blocks[i][j].setLocation(j*jPanel1.getWidth()/wid, i*jPanel1.getHeight()/hei); blocks[i][j].addActionListener(listen); jPanel1.add(blocks[i][j]); } } } 之后添加侦听器的事实是导致问题的原因。

编辑#1:我也会尝试更改此内容:

JToggleButton

对此:

blocks[i][j].setText("Writing");

编辑#2:也许可以尝试使用((JComponent) e.getSource()).setText("Writing"); revalidate(),如下所示:

repaint()

编辑#3:如果编辑#2仍然不起作用,您的问题可能是您正在事件调度线程中执行所有操作。因此UI没有机会更新。您需要使用((JComponent) e.getSource()).revalidate(); ((JComponent) e.getSource()).repaint(); 或更好的Swing Timer(具有Action回调的那个)才能使其正常工作。 Here是如何使用Swing Timer的示例 祝你好运:)