【发布时间】:2014-07-16 19:59:41
【问题描述】:
这是一段由 netbeans Swing gui 设计器生成的代码。
我正在尝试执行以下操作:jLabel1 和 jLabel2 将仅包含尺寸为 52x46 像素的图像图标,不包含文本,它们应固定在行的左侧和右侧,jTextField2 预计将填充jlabels 和自动调整到全屏/视图宽度之间的间隙。
问题是,无论窗口/视图大小如何,jTextField2 都保持相同的宽度...初始宽度取决于字段内硬编码文本的长度...
你有什么想法,怎么做?
private void initComponents() {
javax.swing.JLabel jLabel1;
javax.swing.JLabel jLabel2;
javax.swing.JTextField jTextField2;
java.awt.GridBagConstraints gridBagConstraints;
jLabel1 = new javax.swing.JLabel();
jTextField2 = new javax.swing.JTextField();
jLabel2 = new javax.swing.JLabel();
setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
getContentPane().setLayout(new java.awt.GridBagLayout());
jLabel1.setText("ABC");
gridBagConstraints = new java.awt.GridBagConstraints();
gridBagConstraints.anchor = java.awt.GridBagConstraints.LINE_START;
getContentPane().add(jLabel1, gridBagConstraints);
jTextField2.setText("some text field content");
gridBagConstraints = new java.awt.GridBagConstraints();
gridBagConstraints.gridwidth = java.awt.GridBagConstraints.RELATIVE;
gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
getContentPane().add(jTextField2, gridBagConstraints);
jLabel2.setText("ABC");
gridBagConstraints = new java.awt.GridBagConstraints();
gridBagConstraints.gridwidth = java.awt.GridBagConstraints.REMAINDER;
gridBagConstraints.anchor = java.awt.GridBagConstraints.LINE_END;
getContentPane().add(jLabel2, gridBagConstraints);
pack();
}
【问题讨论】: