调用另一个类中的方法来设置标签文本(不要使用 Netbeans 的默认内容)



我正在使用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!");
    }
}

相关内容

  • 没有找到相关文章

最新更新