我正在使用netbeans并希望编辑标签中的文本。我想从主驱动程序类中的另一个类编辑此标签。我有大约7或8个JDialog页面,让我们说标签在其中一个页面上。
当我尝试从其中一个JDialog调用该方法以便我可以编辑它时,它一直要求java.awt.Frame。我在哪里可以找到Frame名称?或者,是否有更简单的方法来编辑另一个类的标签?
Netbeans默认将标签设为私有,所以我在网上查看并且人们说使用setter方法最简单。
QuickScreen是一个.java文件,例如......
public static void resetNumbers(){
QuickScreen qs = new QuickScreen(some frame);
qs.editLabel("Hello");
}
请参阅我对bmoran解决方案的最新评论。
答案 0 :(得分:1)
如果更改要设置为默认或受保护级别访问权限的标签,则可以从对话框中设置它,只要两个类都在同一个包中(默认情况下)或者对话框扩展了类标签在(受保护)。
public class FrameClass extends JFrame {
JLabel label1;// package access
MyDialog dialog;
//constructor *** Netbeans may have an init() method ***
public FrameClass(){
label1=new JLabel("Hello!");
...
}
...
}
public class MyDialog{
public void changeLabel(){
FrameClass.label1.setText("Good Bye!");
}
}