【发布时间】:2015-10-22 03:47:56
【问题描述】:
我有一个包含多个类的 JApplet 程序。 RegPanel、WorkshopPanel、CnferenceGUI、CnferenceHandler 和 CnferenceClient。基本上 RegPanel 和 WorkShop 面板被添加到 CnferenceGUI 中,它还创建并添加了几个小面板。 CnferenceClient 类只是用来启动类来运行小程序。 CnferenceHandler 用于处理 JButtons、JTextArea、JCheckBox 等的动作事件……这是我的问题;
在 CnferenceGUI 类中,我将动作侦听器添加到按钮/组合框,程序运行良好。但是,当我在 JCheckBox 上添加侦听器的代码时,整个小程序将变为空白。有谁知道这是为什么?
这里是 CnferenceGUI 类中的构造函数:
public ConferenceGUI()
{
setLayout(new BorderLayout());
titlePanel = new JPanel();
titleLabel = new JLabel("Select Registration Options",JLabel.CENTER);
Font titleFont = new Font("SansSerif", Font.BOLD, 18);
titleLabel.setFont(titleFont);
titlePanel.add(titleLabel);
add(titlePanel, BorderLayout.NORTH);
regPanel = new RegPanel();
add(regPanel, BorderLayout.WEST);
workshopPanel = new WorkshopPanel();
add(workshopPanel, BorderLayout.EAST);
buildButtonPanel();
add(buttonPanel, BorderLayout.SOUTH);
ConferenceHandler handler = new ConferenceHandler(this);
regPanel.regTypeComboBox.addItemListener(handler);
regPanel.regNameTextBox.addFocusListener(handler);
// This is the line that make the entire applet blank if included
regPanel.keynoteCheckBox.addItemListener(handler);
}
【问题讨论】:
-
在寻求调试帮助时,本质上是“为什么这段代码没有按预期工作?”帮助,您确实应该创建并发布最短的代码,以便我们能够编译、运行和帮助识别您的问题,minimal reproducible example(请查看链接)。否则,除了提供非常笼统和模糊的建议或参考教程外,我们将无法提供很好的帮助。是的,我要求的不是一件容易或快速的事情,因为它需要你付出相当多的努力,但如果你仍然卡住并需要解决这个问题,那么这将是值得的努力。
标签: java swing event-handling japplet jcheckbox