例如,我想将数据插入到页面中的两个类别中。
USER | PASSWORDS
user1 | ******
user2 | *******
user3 | *********
我插入了管道符号来表示垂直分隔符。不过,垂直分隔符应该是连续的。请帮忙。
DesignGridLayout layout= new DesignGridLayout(Panel);
JSeparator sep = new JSeparator(JSeparator.VERTICAL);
layout.row().grid(userlabel).add(passwordlabel);
最佳答案
你可能会这样做......
import java.awt.GridLayout;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JPasswordField;
import javax.swing.JSeparator;
public class PanelAdd extends JFrame {
JPanel panelLabels, panelPasswords ;
JLabel [] userLabels ;
JPasswordField [] passwordFields;
public PanelAdd() {
panelLabels = new JPanel();
panelPasswords = new JPanel();
GridLayout panelsLayout = new GridLayout(0, 1, 0, 5);
GridLayout mainLayout = new GridLayout(1, 2);
panelLabels.setLayout(panelsLayout);
panelPasswords.setLayout(panelsLayout);
setLayout(mainLayout);
setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
setSize(350, 150);
}
public static void main(String [] args) {
PanelAdd add = new PanelAdd();
add.addControls();
add.setVisible(true);
}
private void addControls() {
userLabels = new JLabel[3];
passwordFields = new JPasswordField[3];
panelLabels.add(new JLabel("Users"));
panelPasswords.add(new JLabel("Passwords"));
for ( int i = 0 ; i < 3 ; i++) {
userLabels[i] = new JLabel("User "+i);
passwordFields[i] = new JPasswordField();
panelLabels.add(userLabels[i]);
panelPasswords.add(passwordFields[i]);
}
add(panelLabels);
JSeparator sep = new JSeparator(JSeparator.VERTICAL);
add(sep);
add(panelPasswords);
}
}
GridLayout
对象使您能够在
用于放置组件的位置。网格中的每个单元格都是相同的
高度与其他单元格相同,每个单元格的宽度与单元格的宽度相同
其他细胞。组件在垂直和水平方向上拉伸(stretch)
填充单元格。
关于java - 如何使用designgridlayout在页面中的两类数据之间插入垂直JSeperator?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22004441/