Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/image-processing/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 GridBagLayoutDemo示例中声明这些静态变量?_Java_Swing_Gridbaglayout - Fatal编程技术网

为什么在这个Java GridBagLayoutDemo示例中声明这些静态变量?

为什么在这个Java GridBagLayoutDemo示例中声明这些静态变量?,java,swing,gridbaglayout,Java,Swing,Gridbaglayout,我正在学习Java GUI及其工作原理: (完整)我不明白为什么您需要/想要这里的3个布尔值—shouldFill、shouldWeightX和RIGHT_to_LEFT—也就是说,我们不能简单地删除这3个if语句吗?这不是必需的,但有时声明常量有助于全面了解所有的设置值。这允许您快速尝试值组合,而无需在代码中搜索(因此更抽象)。也许程序员选择只使用布尔值来对齐/简化值。。。 注意:常量应该遵守从右到左所使用的语法 final static boolean shouldFill = true;

我正在学习Java GUI及其工作原理:


(完整)我不明白为什么您需要/想要这里的3个布尔值—shouldFill、shouldWeightX和RIGHT_to_LEFT—也就是说,我们不能简单地删除这3个if语句吗?

这不是必需的,但有时声明常量有助于全面了解所有的设置值。这允许您快速尝试值组合,而无需在代码中搜索(因此更抽象)。也许程序员选择只使用布尔值来对齐/简化值。。。 注意:常量应该遵守从右到左所使用的语法

final static boolean shouldFill = true;
final static boolean shouldWeightX = true;
final static boolean RIGHT_TO_LEFT = false;

public static void addComponentsToPane(Container pane) {
    if (RIGHT_TO_LEFT) {
        pane.setComponentOrientation(ComponentOrientation.RIGHT_TO_LEFT);
    }

    JButton button;
    pane.setLayout(new GridBagLayout());
    GridBagConstraints c = new GridBagConstraints();
    if (shouldFill) {
    //natural height, maximum width
        c.fill = GridBagConstraints.HORIZONTAL;
    }

    button = new JButton("Button 1");
    if (shouldWeightX) {
        c.weightx = 0.5;
}