Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/332.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 网格布局及;JScrollPane:如何降低行高度?_Java_Swing_Gridbaglayout - Fatal编程技术网

Java 网格布局及;JScrollPane:如何降低行高度?

Java 网格布局及;JScrollPane:如何降低行高度?,java,swing,gridbaglayout,Java,Swing,Gridbaglayout,下面是一个使用GridBagLayout的简单测试代码(2行,第0行2个组件,第1行1个组件)。虽然我已经将第一行的权重指定为0.01,第二行的权重指定为1,但屏幕上的比例看起来更像是0.3对0.7。第一行的高度似乎调整了大小,使整个文本区域都适合它 如何降低第一行的高度,以便显示JScrollPane的滚动条 public class Test { public static void main(String... args) { String text = "tex

下面是一个使用GridBagLayout的简单测试代码(2行,第0行2个组件,第1行1个组件)。虽然我已经将第一行的权重指定为0.01,第二行的权重指定为1,但屏幕上的比例看起来更像是0.3对0.7。第一行的高度似乎调整了大小,使整个文本区域都适合它

如何降低第一行的高度,以便显示JScrollPane的滚动条

public class Test {

    public static void main(String... args) {
        String text = "text\n\n\n\n\n\n\n\ntext";
        JFrame frame = new JFrame();
        JTextArea area;
        JScrollPane pane;

        JPanel desktop = new JPanel(new GridBagLayout());
        GridBagConstraints c = new GridBagConstraints();
        c.fill = GridBagConstraints.HORIZONTAL;

        c.gridx = 0;
        c.gridy = 0;
        c.weightx = 0.25;
        c.weighty = 0.05;
        area = new JTextArea(text);
        area.setBackground(Color.RED);
        pane = new JScrollPane(area);
        desktop.add(pane, c);

        c.gridx = 1;
        c.gridy = 0;
        c.weightx = 0.75;
        c.weighty = 0.05;
        area = new JTextArea(text);
        area.setBackground(Color.BLUE);
        pane = new JScrollPane(area);
        desktop.add(pane, c);

        c.fill = GridBagConstraints.BOTH;
        c.gridx = 0;
        c.gridy = 1;
        c.weightx = 0;
        c.weighty = 1;
        c.gridwidth = 2;
        area = new JTextArea(text);
        area.setBackground(Color.GREEN);
        pane = new JScrollPane(area);
        desktop.add(pane, c);

        frame.setContentPane(desktop);
        frame.setPreferredSize(new Dimension(800, 600));
        frame.pack();
        frame.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
        frame.setVisible(true);

    }
}

权重-指定如何分配额外的垂直空间。因此,如果可用空间大于首选大小之和,则根据权重值分配额外的像素。

权重-指定如何分配额外的垂直空间。因此,如果可用空间大于首选大小之和,则根据权重值分配额外的像素。

设置JTextArea上的行数,以便textarea和scrollpane的首选大小将调整为该行数。如果textarea的文本中的行数过多,将出现滚动条。

设置JTextArea上的行数,以便textarea和scrollpane的首选大小将调整为该行数。如果文本区域的文本中的行数过多,将出现滚动条