Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/393.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/user-interface/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 在UI类中使用默认修饰符_Java_User Interface - Fatal编程技术网

Java 在UI类中使用默认修饰符

Java 在UI类中使用默认修饰符,java,user-interface,Java,User Interface,正如我经常被告知的那样:在任何情况下都要使字段私有以实现封装 但是,UI中的组件始终是静态的和最终的。所以我选择将其中一些组件公开(可以在任何地方访问),而另一些组件使用默认修饰符(可以在包中访问) 但由于我是java新手,我不确定它是否好。我想知道它的优势和可能存在的风险 class Frame extends JFrame{ ... public static JLabel label_resource; public static JLabel label_ship

正如我经常被告知的那样:在任何情况下都要使字段私有以实现封装

但是,UI中的组件始终是静态的和最终的。所以我选择将其中一些组件公开(可以在任何地方访问),而另一些组件使用默认修饰符(可以在包中访问)

但由于我是java新手,我不确定它是否好。我想知道它的优势和可能存在的风险

class Frame extends JFrame{
    ...
    public static JLabel label_resource;
    public static JLabel label_shipNum;
    public static JLabel label_status;
    public static JTextArea[] textAreas_fleet;
    public static JTabbedPane tabbedPane_fleet; 
    public static JToggleButton toggleButton_bathingPause;
    JTextField textField_url;
    JTextField textField_params;
    JPanel panel_login;
    JPanel panel_status;
    JPanel panel_action;
    JPanel panel_control;
    ...
}

UI中几乎没有可封装的内容,这通常适用于域。请分享困扰您的代码,作为问题的演示。
但是UI中的组件始终是静态的和最终的
,在哪种情况下总是发生这种情况
?@jeroenvanevel代码太长,无法显示(1000多行)。在你不改变ui的组件和布局的情况下,我会发布一些@nachokk。和记事本一样,它只需要一个工具栏和一个文本区域,我将把这两个设置为最终和静态。