Java JLabel不工作

Java JLabel不工作,java,swing,Java,Swing,我对Java还很陌生。我决定将tic-tac-toe编码为练习(从头开始) 无论如何,我试图在单击时更改“JLabel标签”;从1开始,然后是2,等等。最终它会变成数字以外的东西。但是,就目前而言,它适用于测试 “System.out.println”(“点击次数:“+mouseIn”);”工作正常,并产生我想要的输出。控制台和JFrame/JPanel/JLabel的图片可以在这里看到: (JFrame中的小1是JLabel。我想匹配控制台中的输出 我已经在谷歌上搜索了,尝试了所有我知道的东

我对Java还很陌生。我决定将tic-tac-toe编码为练习(从头开始)

无论如何,我试图在单击时更改“JLabel标签”;从1开始,然后是2,等等。最终它会变成数字以外的东西。但是,就目前而言,它适用于测试

“System.out.println”(“点击次数:“+mouseIn”);”工作正常,并产生我想要的输出。控制台和JFrame/JPanel/JLabel的图片可以在这里看到:

(JFrame中的小1是JLabel。我想匹配控制台中的输出

我已经在谷歌上搜索了,尝试了所有我知道的东西(这并不多!),但我无法让这个该死的东西发挥作用……我只是想寻求一些指导。主要的方法只是构建JFrame/Panel

代码如下:

从名为(namone.java[出于我自己的原因将其命名为这个])的主类:

就像我说的。对Java非常陌生;我正在努力学习。我相信这是我自己的无知造成的


谢谢。

假设
mouse
是您编写的MouseEvents类型,一种可能是您需要将
mouse.getText()
传递给调用
label.setText(.)


无论如何,你设置游戏的方式对我来说有点奇怪。为什么每次有人点击时都要创建一个全新的
JPanel
?为什么不保留原来的JPanel并更新它呢?我个人会在每次点击按钮时运行一些代码的每个JButton上附加一个自定义ActionListener。如果Listener是一个内部类,它还可以查看JButton定义范围内的变量。

我无法让dang工作不是一个好问题。请尝试调试器。我需要一些指导。除了学习使用调试器外,还可以创建一个专注于单个按钮和标签的调试器。添加标签后尝试重新绘制面板
panel.revalidate();panel.repaint();
@Khinsu-OP的问题是他从不调用
setText
来更新标签中的文本。与重新绘制无关。这很有效!谢谢。
  public void run(JPanel p) //Takes panel from main method {

    for(int i = 0; i < ticList.length; i++){
        ticList[i] = new JButton(buttonText); //For every position in
        //ticList[], create a JButton object


        p.add(ticList[i]);
        ticList[i].setPreferredSize(new Dimension(140,140));

        ticList[i].addMouseListener(mouse); //Load mouseListner

    } 
    //Set mouseIn to click value in MouseEvents Class
    int mouseIn = mouse.getClicks();
    //Set text value to text value in MouseEvents class
    text = mouse.getText();

    //Output...

    System.out.println("Number of clicks: " + mouseIn); //For testing
    String mouse = Integer.toString(mouseIn); //Convert mouseIn value (from MouseEvents.java) to mouse
    JLabel label = new JLabel(); //New JLabel
    p.add(label); //Add label to screen
    label.setText(mouse); //Set the text of the label to value of mouse
    System.out.println(mouse); //For testing
    //So I can see if it's working (clicks wise)




}
public class MouseEvents extends namone implements MouseListener {

int clicks = 1;
String text = "first"; //For testing purposes
public namone game = new namone();

public int getClicks(){
    return clicks;
}

public String getText(){
    return text;
}

public int intToString(){
    Integer.toString(clicks);
    return clicks;
}

@Override
public void mouseClicked(MouseEvent e) {
    clicks++;
    intToString();     

    JPanel p = new JPanel();

    text = "" + clicks;       
    game.run(p);


}