java - 如何使用designgridlayout在页面中的两类数据之间插入垂直JSeperator?

标签 java swing layout jseparator

例如,我想将数据插入到页面中的两个类别中。

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/

相关文章:

java - Dozer:将单个字段映射到 Set

java - 从 GUI java 将对象的属性写入文件时出错

Android:设计布局问题

java - 将值从 JsonObject 转换为 BigDecimal

java - 使用 JAVA 使用 BouncyCaSTLe 对 CAdES 进行签名

java - 私有(private)变量是否与私有(private)类中的包/默认/无修饰符变量具有相同的访问权限?

android - 在屏幕底部设置布局,其余部分填充父级

java - JOptionPane 在不同的行上有多个输入

java - JDBC 空指针异常

c++ - C++中如何存储静态数据和方法细节