所以说你有一个 JTabbedPane。在每个选项卡上,您都有一个带有 JLabel 的 JPanel 和一个 JButton。将 JLabel 的文本添加到窗格后,如何修改它?
问问题
1540 次
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 回答