小编Ave*_*eus的帖子

JPanels中的JButtons带有GridLayout JFrame

Java/Eclipse IDE在这里.

我有一个JFrame设置为大小为NxN的GridLayout.用户将N作为程序开头的命令行给出.NxN模式的JButtons被添加到JPanels的窗口中,由GridLayout设置在位置(我认为).

每个JButton都需要自己的JPanel来使用GridLayout吗?我的印象是你可以为所有按钮设置一个JPanel,并将JPanel设置为JButtons的GridLayout.我想在按钮数组的左侧添加另一个JPanel,以显示按钮单击(JLabel)和同一左侧JPanel内的重置按钮.

这是(一点点)我的代码,其中N由用户给出,system是我的后台进程类,ButtonEvent是ActionListener/actionPerformed的类:

JFrame window = new JFrame("");
GridLayout layout = new GridLayout(N,N);
window.setLayout(layout);

for (int row = 0; row < N; row++){
    for (int col = 0; col < N; col++){
        JPanel panel = new JPanel();
        JButton b = new JButton ("("+row+","+col+")");
        window.add(b).setLocation(row, col);
        panel.add(b);
        b.addActionListener(new ButtonEvent(b, system, row, col));
        window.add(panel);
    }
}

window.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
window.pack();
window.setVisible(true);
Run Code Online (Sandbox Code Playgroud)

这就是我所拥有的(N = 4):

http://i.imgur.com/nbQoM.png

这是(大约)我正在寻找的(N = 4):

http://i.imgur.com/SiVWO.png

我需要/想要的只是两个(或更多)JPanels,大致如上所述,我尝试过的所有布局管理器都不适合GridLayout布局JFrame.

欢迎提出有关更好解决方案的任何建议.

谢谢!

java eclipse layout user-interface swing

7
推荐指数
2
解决办法
5万
查看次数

在GridLayout JPanel中访问本地定义的JButton

假设您在NxN网格中有一个JButtons的GridLayout,代码如下:

JPanel bPanel = new JPanel();
bPanel.setLayout(new GridLayout(N, N, 10, 10));
    for (int row = 0; row < N; row++)
    {
        for (int col = 0; col < N; col++)
        {
            JButton b = new JButton("(" + row + ", " + col + ")");
            b.addActionListener(new ActionListener()
            {
                public void actionPerformed(ActionEvent e)
                {

                }
            });
            bPanel.add(b);
        }
    }
Run Code Online (Sandbox Code Playgroud)

如何在网格中单独访问每个按钮以通过setText()更改按钮的名称?这需要在实际按下相关按钮之外完成.

因为每个按钮在本地实例化为"b",所以当前不可能为每个按钮提供全局可访问的名称.如何独立访问每个按钮?像JButton [] []这样的数组是否可以保存对所有按钮的引用?如何在上面的代码中设置?

任何输入都表示赞赏.

谢谢.

java swing jbutton grid-layout

2
推荐指数
1
解决办法
1427
查看次数

标签 统计

java ×2

swing ×2

eclipse ×1

grid-layout ×1

jbutton ×1

layout ×1

user-interface ×1