部分代码:
private void setupComponent(JComponent component, int gridx, int gridy,
int gridwidth, int ipadx, boolean fill) {
final GridBagConstraints gridBagConstrains = new GridBagConstraints();
gridBagConstrains.gridx = gridx;
gridBagConstrains.gridy = gridy;
gridBagConstrains.insets = new Insets(5, 1, 3, 1); //指定一个容器在它上、左、下、右边界上四个空白宽度
if (gridwidth > 0)
gridBagConstrains.gridwidth = gridwidth;
if (ipadx > 1)
gridBagConstrains.ipadx = ipadx;
if (fill)
gridBagConstrains.fill = GridBagConstraints.HORIZONTAL;
add(component, gridBagConstrains);
}
——————
setupComponent(new JLabel("合同价格:"), 0, 0, 1, 1, false);
heTongJiaGe = new JTextField();
setupComponent(heTongJiaGe, 1, 0, 2, 1, true);
setupComponent(new JLabel("核定价格:"), 3, 0, 1, 1, false);
heDingJiaGe = new JTextField();
setupComponent(heDingJiaGe, 4, 0, 2, 1, true);
setupComponent(new JLabel("房屋面积:"), 0, 1, 1, 1, false);
mianJi = new JTextField();
setupComponent(mianJi, 1, 1, 2, 1, true);
setupComponent(new JLabel("房屋年限:"), 3, 1, 1, 1, false);
nianXian = new JTextField();
setupComponent(mianJi, 4, 1, 2, 1, true);
求指教
使用了默认布局吧,换成groupLayout布局试试,还有开发swing界面程序,我一般用windowsBuilder插件,建议使用
package org.yanbei.windowsbuilder;
import java.awt.EventQueue;
import javax.swing.JFrame;
import java.awt.Font;
import javax.swing.GroupLayout;
import javax.swing.GroupLayout.Alignment;
import javax.swing.JPanel;
import javax.swing.LayoutStyle.ComponentPlacement;
import javax.swing.JLabel;
import javax.swing.JTextField;
import javax.swing.JButton;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;
public class MainWindow {
private JFrame frame;
private JTextField textField;
private JTextField textField_1;
private JTextField textField_2;
private JTextField textField_3;
private JTextField textField_4;
private JTextField textField_5;
/**
* Launch the application.
*/
public static void main(String[] args) {
EventQueue.invokeLater(new Runnable() {
public void run() {
try {
MainWindow window = new MainWindow();
window.frame.setVisible(true);
} catch (Exception e) {
e.printStackTrace();
}
}
});
}
/**
* Create the application.
*/
public MainWindow() {
initialize();
}
/**
* Initialize the contents of the frame.
*/
private void initialize() {
frame = new JFrame();
frame.setFont(new Font("微软雅黑", Font.BOLD, 14));
frame.setTitle("\u5B58\u91CF\u623F\u4EA4\u6613\u7A0E\u6536");
frame.setBounds(100, 100, 751, 449);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
JPanel panel = new JPanel();
JPanel panel_1 = new JPanel();
JPanel panel_2 = new JPanel();
GroupLayout groupLayout = new GroupLayout(frame.getContentPane());
groupLayout.setHorizontalGroup(
groupLayout.createParallelGroup(Alignment.LEADING)
.addComponent(panel_2, GroupLayout.DEFAULT_SIZE, 735, Short.MAX_VALUE)
.addComponent(panel, GroupLayout.DEFAULT_SIZE, 735, Short.MAX_VALUE)
.addComponent(panel_1, GroupLayout.DEFAULT_SIZE, 735, Short.MAX_VALUE)
);
groupLayout.setVerticalGroup(
groupLayout.createParallelGroup(Alignment.LEADING)
.addGroup(groupLayout.createSequentialGroup()
.addComponent(panel, GroupLayout.PREFERRED_SIZE, 67, GroupLayout.PREFERRED_SIZE)
.addPreferredGap(ComponentPlacement.RELATED)
.addComponent(panel_1, GroupLayout.PREFERRED_SIZE, 235, GroupLayout.PREFERRED_SIZE)
.addPreferredGap(ComponentPlacement.RELATED)
.addComponent(panel_2, GroupLayout.DEFAULT_SIZE, 97, Short.MAX_VALUE))
);
JPanel panel_3 = new JPanel();
JPanel panel_4 = new JPanel();
JPanel panel_5 = new JPanel();
GroupLayout gl_panel_1 = new GroupLayout(panel_1);
gl_panel_1.setHorizontalGroup(
gl_panel_1.createParallelGroup(Alignment.LEADING)
.addGroup(gl_panel_1.createSequentialGroup()
.addComponent(panel_3, GroupLayout.PREFERRED_SIZE, 98, GroupLayout.PREFERRED_SIZE)
.addPreferredGap(ComponentPlacement.RELATED)
.addComponent(panel_4, GroupLayout.DEFAULT_SIZE, 449, Short.MAX_VALUE)
.addPreferredGap(ComponentPlacement.UNRELATED)
.addComponent(panel_5, GroupLayout.PREFERRED_SIZE, 172, GroupLayout.PREFERRED_SIZE))
);
gl_panel_1.setVerticalGroup(
gl_panel_1.createParallelGroup(Alignment.LEADING)
.addComponent(panel_5, Alignment.TRAILING, GroupLayout.DEFAULT_SIZE, 203, Short.MAX_VALUE)
.addComponent(panel_3, Alignment.TRAILING, GroupLayout.DEFAULT_SIZE, 203, Short.MAX_VALUE)
.addComponent(panel_4, Alignment.TRAILING, GroupLayout.DEFAULT_SIZE, 203, Short.MAX_VALUE)
);
JLabel label = new JLabel("\u5408\u540C\u4EF7\u683C:");
textField = new JTextField();
textField.setColumns(10);
JLabel label_1 = new JLabel("\u6838\u5B9A\u4EF7\u683C:");
textField_1 = new JTextField();
textField_1.setColumns(10);
JLabel label_2 = new JLabel("\u623F\u5C4B\u9762\u79EF:");
textField_2 = new JTextField();
textField_2.setColumns(10);
JLabel label_3 = new JLabel("\u623F\u5C4B\u5E74\u9650:");
textField_3 = new JTextField();
textField_3.setColumns(10);
JLabel label_4 = new JLabel("\u5951\u7A0E:");
textField_4 = new JTextField();
textField_4.setText("0.");
textField_4.setEditable(false);
textField_4.setColumns(10);
JLabel label_5 = new JLabel("\u5370\u82B1\u7A0E:");
textField_5 = new JTextField();
textField_5.setText("0.");
textField_5.setEditable(false);
textField_5.setColumns(10);
JButton button = new JButton("\u8BA1\u7B97");
JButton button_1 = new JButton("\u6E05\u9664");
button_1.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
}
});
GroupLayout gl_panel_4 = new GroupLayout(panel_4);
gl_panel_4.setHorizontalGroup(
gl_panel_4.createParallelGroup(Alignment.LEADING)
.addGroup(gl_panel_4.createSequentialGroup()
.addGap(50)
.addGroup(gl_panel_4.createParallelGroup(Alignment.LEADING)
.addGroup(gl_panel_4.createSequentialGroup()
.addComponent(label)
.addPreferredGap(ComponentPlacement.RELATED)
.addComponent(textField, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
.addGap(18)
.addComponent(label_1)
.addPreferredGap(ComponentPlacement.RELATED)
.addComponent(textField_1, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE))
.addGroup(gl_panel_4.createSequentialGroup()
.addGap(14)
.addComponent(label_5)
.addPreferredGap(ComponentPlacement.RELATED)
.addGroup(gl_panel_4.createParallelGroup(Alignment.LEADING)
.addGroup(gl_panel_4.createSequentialGroup()
.addGap(46)
.addComponent(button)
.addGap(33)
.addComponent(button_1))
.addComponent(textField_5, GroupLayout.DEFAULT_SIZE, 254, Short.MAX_VALUE)))
.addGroup(gl_panel_4.createSequentialGroup()
.addGroup(gl_panel_4.createParallelGroup(Alignment.TRAILING)
.addComponent(label_4)
.addComponent(label_2))
.addPreferredGap(ComponentPlacement.RELATED)
.addGroup(gl_panel_4.createParallelGroup(Alignment.LEADING, false)
.addComponent(textField_4)
.addGroup(gl_panel_4.createSequentialGroup()
.addComponent(textField_2, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
.addGap(18)
.addComponent(label_3)
.addPreferredGap(ComponentPlacement.RELATED)
.addComponent(textField_3, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)))))
.addGap(85))
);
gl_panel_4.setVerticalGroup(
gl_panel_4.createParallelGroup(Alignment.LEADING)
.addGroup(gl_panel_4.createSequentialGroup()
.addGap(43)
.addGroup(gl_panel_4.createParallelGroup(Alignment.BASELINE)
.addComponent(label)
.addComponent(textField, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
.addComponent(label_1)
.addComponent(textField_1, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE))
.addGap(18)
.addGroup(gl_panel_4.createParallelGroup(Alignment.BASELINE)
.addComponent(label_2)
.addComponent(textField_2, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
.addComponent(label_3)
.addComponent(textField_3, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE))
.addGap(18)
.addGroup(gl_panel_4.createParallelGroup(Alignment.BASELINE)
.addComponent(textField_4, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
.addComponent(label_4))
.addPreferredGap(ComponentPlacement.UNRELATED)
.addGroup(gl_panel_4.createParallelGroup(Alignment.BASELINE)
.addComponent(textField_5, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
.addComponent(label_5))
.addPreferredGap(ComponentPlacement.RELATED, 7, Short.MAX_VALUE)
.addGroup(gl_panel_4.createParallelGroup(Alignment.BASELINE)
.addComponent(button)
.addComponent(button_1)))
);
panel_4.setLayout(gl_panel_4);
panel_1.setLayout(gl_panel_1);
frame.getContentPane().setLayout(groupLayout);
}
}
windowsBuilder 传送门
http://download.csdn.net/download/yushiyoufight/9896003