单击按钮时如何知道哪个“面板”可见?

问题描述

This is how the program looks like (Gifs)

所以我不想在程序中使用大量的框架。我有很多表要显示。所以我做了一些按钮。当我单击“大号”时,它关闭其他表并仅显示一个表。当我单击其他按钮时,它关闭旧按钮并显示新按钮。代码如下:

btn_1.addMouseListener(new MouseAdapter() {
                @Override
                public void mouseClicked(MouseEvent e) {
                    table1_panel.setVisible(false);
                    table2_panel.setVisible(false);
                    table3_panel.setVisible(false);
                    table4_panel.setVisible(false);
                    table5_panel.setVisible(true);
                }
            });

因此,它关闭了其他面板,仅打开了一个面板。但是,当我单击“DetaylarıGörüntüle”按钮时,我还需要打开一个包含所选行详细信息的框架。但是,当我单击时,我需要知道可见的表,以便可以对其他每个表执行不同的代码。所以我需要这样的东西:

if(table5_panel.setVisible(true);){
}

但是您知道它不是布尔值,所以它不起作用。我需要检查哪些代码可见的什么代码

解决方法

使用CardLayout包含面板。

然后,您无需隐藏/显示面板。用户界面会为您完成工作。

我想打开一个包含所选行详细信息的框架。

用于处理表格的按钮属于每个面板,而不是菜单。

每个表显示的详细信息都不相同,因此逻辑属于面板,因此可以针对每个表进行自定义。