如何修改JTabbedPane选项卡上的JLabel?

发布于 2024-11-25 17:40:25 字数 96 浏览 0 评论 0原文

假设您有一个 JTabbedPane。在每个选项卡上,您都有一个带有 JLabel 的 JPanel 和一个 JButton。在将 JLabel 添加到窗格后,如何修改它的文本?

So say you had a JTabbedPane. And on each of those tabs, you have a JPanel with a JLabel, and a JButton. How can you modify that JLabel's text after it's already been added to the pane?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

梦里的微风 2024-12-02 17:40:25

您可以照常使用jLabelN.setText("New Text");。标签添加到哪里并不重要。您只需要可以访问变量 jLabelN 即可。

You can use jLabelN.setText("New Text"); as usual. It does not matter where the label is added to. You just need your variable jLabelN to be accessible.

£冰雨忧蓝° 2024-12-02 17:40:25

您可以轻松地为 GUI 组件编写 getter 和 setter,例如(只是一些片段)

public class A extends JPanel{

    JLabel aLabel=new JLabel();//field

    public A(){ 

     this.add(aLabel);

//GUI init here...
  }



    public void setLabelText(String text)
    {
      this.aLabel.setText(text);
    }

    public String getLabelText(){return this.aLabel.getText(); }
...
}

让我们现在将其称为...

public class B extends JFrame
{
A a=new A(); //
A a1=new A();

JTabbedPane tp=new JTabbedPane();

public B()
{

a.setLabelText("Hello World!");
a1.setLabelText("Hello World Again!");

tb.add("tab 0", a);
tb.add("tab 1", a1);
//    ...
}

public void actionPerformed(ActionEvent e)
{
  /*a button clicked...
    Lets get the tab label text value */

  JOptionPane.showMessageDialog(this,"tab 0 label text is: "+this.a.getLabelText());
  this.a.setLabelText("Have a good Java Coding");
}

}

使用 getter 和 setter,这是对象数据交互的标准方式

祝你好运

You can easily write getters and setters for your GUI components like a (just some snippets)

public class A extends JPanel{

    JLabel aLabel=new JLabel();//field

    public A(){ 

     this.add(aLabel);

//GUI init here...
  }



    public void setLabelText(String text)
    {
      this.aLabel.setText(text);
    }

    public String getLabelText(){return this.aLabel.getText(); }
...
}

Lets call it now as...

public class B extends JFrame
{
A a=new A(); //
A a1=new A();

JTabbedPane tp=new JTabbedPane();

public B()
{

a.setLabelText("Hello World!");
a1.setLabelText("Hello World Again!");

tb.add("tab 0", a);
tb.add("tab 1", a1);
//    ...
}

public void actionPerformed(ActionEvent e)
{
  /*a button clicked...
    Lets get the tab label text value */

  JOptionPane.showMessageDialog(this,"tab 0 label text is: "+this.a.getLabelText());
  this.a.setLabelText("Have a good Java Coding");
}

}

Using getters and setters it is a standard way of objects data interaction

Good luck

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文