我有这个应用程序,但是,当我调整窗口大小时,里面的元素 JTextArea
不会随窗口调整大小。为什么?
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class ExampleGUI {
private JTextArea text_area;
private JScrollPane scroll_bar;
private JFrame frame;
private JPanel panel;
public ExampleGUI(){
frame = new JFrame("Example GUI");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
text_area = new JTextArea();
scroll_bar = new JScrollPane(text_area);
panel = new JPanel();
panel.add(scroll_bar);
frame.add(panel);
frame.pack();
frame.setVisible(true);
}
public static void main(String[] args) {
SwingUtilities.invokeLater(new Runnable(){public void run(){new ExampleGUI();}});
}
}
最佳答案
您需要将 GridBagConstraint x 和 y 权重(weightx 和 weighty —— GridBagConstraint 构造函数中的第 5 个和第 6 个参数)设置为 0.0 以外的正值。如果您要使用它,您应该阅读有关 GridBagLayout 的教程,因为它相当复杂。有些人在嵌套更简单的布局或使用第 3 方布局(例如 MigLayout)方面取得了巨大成功。 .
关于java - 该应用程序不会调整其组件的大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8779085/