gpt4 book ai didi

java - 添加到面板的禁用复选框未被禁用

转载 作者:行者123 更新时间:2023-11-29 06:02:58 26 4
gpt4 key购买 nike

我有一个 JDialog,它有多个选项卡。其中一个选项卡填充复选框的动态列表并将其添加到 JPanel。然后将此面板添加到JTabbedPane

在此动态列表中,我想根据某些条件禁用一些复选框。

问题是即使我添加了一个处于禁用状态的复选框,它仍然处于启用状态。

我不明白为什么它会这样或者我哪里出错了?

用于实现此目的的代码片段如下:

private void populateComponents() 
{
cwwObjComponentList = cwwObjOprGeneralSetings.getComponentList();
cwwObjComponentName = cwwObjOprGeneralSetings.getComponentName();
cwwObjComponentWithType = cwwObjOprGeneralSetings.getComponentsWithType();

cwwObjPnlComponents.setLayout(new GridLayout(4, 2));

String mwwStrInstallationType = null;
if(Configuration.getParameter(ConfigSettings.InstallationType).equalsIgnoreCase("Enterprise"))
{
mwwStrInstallationType = StoreSettingsFrame.cwwStrEnterpriseInstallation;
}
else if (Configuration.getParameter(ConfigSettings.InstallationType).equalsIgnoreCase("Server"))
{
mwwStrInstallationType = StoreSettingsFrame.cwwStrServerInstallation;
}
else
{
mwwStrInstallationType = StoreSettingsFrame.cwwStrClientInstallation;
}


for (int i = 0; i < cwwObjComponentList.size(); i++)
{
cwwObjCheckbox = new JCheckBox(cwwObjComponentList.get(i));

String mwwStrComponentType = cwwObjComponentWithType.get(cwwObjComponentList.get(i));

if(mwwStrComponentType.equalsIgnoreCase(mwwStrInstallationType))
{
cwwObjCheckbox.setEnabled(true);
}
else
{
cwwObjCheckbox.setEnabled(false);//inspite of disabling few checkboxes, all appear to be enabled
}

cwwObjPnlComponents.add(cwwObjCheckbox);


}
}

最佳答案

似乎在这个 SSCCE 中工作得很好。

DisableMe

import java.awt.*;
import javax.swing.*;

class DisableMe {

public static void main(String[] args) {
SwingUtilities.invokeLater(new Runnable() {
public void run() {
JPanel gui = new JPanel(new GridLayout(1,0));
for (int ii=1; ii<7; ii++) {
JCheckBox cb = new JCheckBox(""+ii, ii%3==0);
cb.setEnabled(ii%2==0);
gui.add(cb);
}
JOptionPane.showMessageDialog(null, gui);
}
});
}
}

它在您的机器上是否按预期工作?

关于java - 添加到面板的禁用复选框未被禁用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9460733/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com