【问题标题】:Update JLabel from another class doesn't work Java Swing从另一个类更新 JLabel 不起作用 Java Swing
【发布时间】:2020-11-12 21:01:04
【问题描述】:

这里我有两个类,分别是 PanelEditSnapshot扩展 jPanel

PanelEdit 类上有一个 jLabel。我想从 Snapshot 类更新类 PanelEdit 上的 JLabel

我的程序流程:用户必须在打开 Snapshot 之前打开 PanelEdit,所以在点击 Snapshot 类的按钮后,将更新 PanelEdit 上的 jLabel。

打开 PanelEdit -> 打开快照 -> 用户点击快照上的按钮 -> 更新 PanelEdit 上的 jLabel

我的尝试是:

  1. 在 PanelEdit 上创建方法设置器:
public void setLabel(String label){
    jLabel1.setText(label);
}

然后在 Snapshot 上点击 setter 方法:

 PanelEdit pe = new PanelEdit();
 pe.setLabel("test");

但我在PanelEdit 上的jLabel 没有更新

  1. PanelEdit 上设置公共jLabel,以便Snapshot 可以直接访问它
PanelEdit pe = new PanelEdit();
pe.jLabel1.setText("test");

仍然没有更新,

谁能帮帮我?

【问题讨论】:

  • 您不能只创建一个新的 PanelEdit 并在其上设置文本。您必须在显示的 PanelEdit 上设置文本。

标签: java swing jpanel jlabel


【解决方案1】:

这是一个小例子。

PanelEdit a = new PanelEdit();
PanelEdit b = new PanelEdit();

a.setLabel("what");
b.setLabel("else");

在本例中,a.jLabel1 将包含文本“what”。 b.jLabel1 将包含文本“else”。

您需要参考您在构建 gui 时创建的 PanelEdit。

【讨论】:

    猜你喜欢
    • 2014-10-12
    • 1970-01-01
    • 1970-01-01
    • 2013-11-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多