我正在使用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解决方案的最后评论。
如果您将要设置的标签更改为默认或受保护级别访问,那么只要两个类都在同一个包中(默认情况下),或者您的对话框扩展了标签所在的类(受保护),就可以从对话框中进行设置。
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!");
}
}