java - 为什么我的自定义 JButton 不显示其名称?

标签 java swing jbutton

您好,我正在开发一个项目,但在添加 JButton 时遇到问题。由于某种原因,它不会打印它的名字。

此类应该添加自定义按钮

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

public class FightPanel extends JPanel {

public static final int WIDTH = 600;
public static final int HEIGHT = 600;

public FightPanel() {
    setPreferredSize(new Dimension(WIDTH, HEIGHT));
    setLayout(new BorderLayout());

    FightButton test = new FightButton("test");
    add(test);
}
}

该类是自定义按钮类

import javax.swing.JButton;

public class FightButton extends JButton {

private String name;

public FightButton(String name) {
    this.name = name;
    setName(name);
}

}

最佳答案

setName() 方法不控制按钮上显示的文本。它基本上只是由应用程序代码用来识别组件。

setText(...) 用于设置按钮中显示的文本。

did now know that you have to use the super constructor to do that.

您不必这样做,但这是执行您想要的操作的最简单方法,因为您将文本作为参数传递给您的类。

如果您想在创建组件后更改文本,则可以使用 setText() 方法。

关于java - 为什么我的自定义 JButton 不显示其名称?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22897541/

相关文章:

java - Android - 循环遍历 strings.xml 文件

java - 使用 JButton 作为图像

java - 为什么按钮不反射(reflect) Action 的 NAME 属性?

java - 在部署到 Azure 的 Spring Boot 应用程序中运行计划任务一次

java - java中设计类的问题

java - TomCat - 构造函数在尝试从文件中读取时抛出异常

java - JTable : No selected row

java - Swing 和 WebEditorKit - 在 SwingFrame 中显示我的浏览器

java - 使用 MigLayout 将标签居中

java - 如何将值从一个 JFrame 传递到另一个 JFrame?