java - 我必须在 java 中创建一个二维复选框数组,并使用网格布局将它们排列在两列中。谁能帮我这个?

标签 java swing checkbox grid-layout jcheckbox

我创建了一个 JPanel 并将复选框添加到面板中。

import java.awt.*;
import java.awt.event.ItemEvent; 
import java.awt.event.ItemListener;
import javax.swing.JCheckBox;
import javax.swing.JComponent;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JTextField;

这是我到目前为止的工作,这是一个一维数组,它在左侧显示一列复选框。 如何在现有列旁边添加另一列。

public class UserInterface extends JFrame 
{

    private JPanel club;
    private JCheckBox[] check = new JCheckBox[10];

    public UserInterface()
    {
        super("SPORTS CLUB");
        club=new JPanel();

        add(club);

        club.setLayout(new GridLayout(10,2));

        check[0] = new JCheckBox("101");
        check[1] = new JCheckBox();
        check[2] = new JCheckBox();
        check[3] = new JCheckBox();
        check[4] = new JCheckBox();
        check[5] = new JCheckBox();
        check[6] = new JCheckBox();
        check[7] = new JCheckBox();
    check[8] = new JCheckBox();

        check[9] = new JCheckBox();

        club.setAlignmentY(JComponent.LEFT_ALIGNMENT);

        for (int i = 0; i < 10; i++) 
        {
            club.add(check[i]);
        }
    }


}

这是我的 Main 类,包含 main() 函数;

import javax.swing.JFrame;

public class Main {

    public static void main(String[] args) 
    {
        UserInterface data=new UserInterface();
        data.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        data.setSize(300,200);
        data.setVisible(true);
    }

}

感谢任何一点帮助,甚至欢迎引用。

最佳答案

How can i add another column

改变

// 10 rows, 2 columns
club.setLayout(new GridLayout(10,2));

至:

// variable number of rows, 2 columns
club.setLayout(new GridLayout(0, 2));

请注意,执行此操作时,每个奇数复选框都位于左侧,偶数复选框位于右侧,因此如果您希望在特定列中显示特定复选框,则添加顺序很重要。

关于java - 我必须在 java 中创建一个二维复选框数组,并使用网格布局将它们排列在两列中。谁能帮我这个?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40247135/

相关文章:

Java 编译器问题 : cannot find symbol

android - 动态创建的复选框监听器不起作用

javascript - 元素具有 `checked` 属性但未检查?

java - 计算数学底数

java - 这段代码<>在java中是什么意思

java - 在mybatis中传递数据库名称

Java 使用 revalidate() 和 repaint() 无法正常工作

java - 在选项卡切换上刷新 JPanel 内容

java - 如何将对象数组合并为单个格式化字符串

CSS3 选择器问题