布局一个panel,部分源码如下:
private JPanel getDataFieldsPanel(ArrayList<DataField> dataFields) {
// create panel to hold labels and textFields
JPanel displayPanel = new JPanel(); //set the layout of the display panel
displayPanel.setLayout(new GridLayout(dataFields.size(), 2, 0, 0));
//displayPanel.makeColumnsEqualWidth = false; // create the components according to the length of dataFields
for(DataField element : dataFields) {
JLabel nameLabel = new JLabel(element.getName() + ":");
displayPanel.add(BorderLayout.WEST, nameLabel); JTextField valueField = new JTextField(element.getValue(), 10);
valueField.setEditable(false);
displayPanel.add(valueField);
} return displayPanel; }
效果如图,结果是两列组件的等宽,问题就是两列内容离得太远了,想靠近一点儿,怎么解决?
private JPanel getDataFieldsPanel(ArrayList<DataField> dataFields) {
// create panel to hold labels and textFields
JPanel displayPanel = new JPanel(); //set the layout of the display panel
displayPanel.setLayout(new GridLayout(dataFields.size(), 2, 0, 0));
//displayPanel.makeColumnsEqualWidth = false; // create the components according to the length of dataFields
for(DataField element : dataFields) {
JLabel nameLabel = new JLabel(element.getName() + ":");
displayPanel.add(BorderLayout.WEST, nameLabel); JTextField valueField = new JTextField(element.getValue(), 10);
valueField.setEditable(false);
displayPanel.add(valueField);
} return displayPanel; }
效果如图,结果是两列组件的等宽,问题就是两列内容离得太远了,想靠近一点儿,怎么解决?
Swing不知道有没有