Note that there are some explanatory texts on larger screens.

plurals
  1. POGridBagLayout & JScrollPane: how to reduce row height?
    primarykey
    data
    text
    <p>See below a simple test code using a GridBagLayout (2 rows, 2 component on row 0, 1 component on row 1). Although I have specified <code>weighty</code> to be 0.01 for first row and 1 for second row, the ratio on the screen looks more like 0.3 vs. 0.7. It seems that the height of the first row is resized so that the whole textarea fits in it.</p> <p>How can I reduce the height of the first row, so that the scroll bars of the JScrollPane will appear?</p> <pre><code>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); } } </code></pre>
    singulars
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload