1

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

4

2 回答 2

3

您可以jLabelN.setText("New Text");照常使用。标签添加到何处无关紧要。你只需要你的变量 jLabelN 可以访问。

于 2011-07-22T07:08:44.460 回答
1

您可以轻松地为您的 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 是对象数据交互的标准方式

祝你好运

于 2011-07-22T20:11:43.140 回答