2015-10-22 6 views
-1

У меня есть программа JApplet с несколькими классами. RegPanel, WorkshopPanel, CnferenceGUI, CnferenceHandler и CnferenceClient. В основном панель RegPanel и WorkShop добавляются в CnferenceGUI, который также создает и добавляет пару небольших панелей. Класс CnferenceClient используется для инициализации класса для запуска апплета. CnferenceHandler используется для обработки событий действий для JButtons, JTextArea, JCheckBox и т. Д. Вот моя проблема;Добавление слушателя в JCheckBox полностью очищает JApplet

В классе CnferenceGUI я добавляю слушателей действий к кнопкам/combobox, и программа работает нормально. Но когда я добавляю код для слушателя на 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); 



    }  
+2

При запросе справки по отладке, по сути, «почему этот код не работает должным образом?» вам действительно нужно создать и опубликовать кратчайший код, необходимый нам для компиляции, запуска и определения вашей проблемы, [mcve] (пожалуйста, проверьте ссылку). Иначе мы не сможем помочь, кроме как дать очень общий и неопределенный совет или реферал к учебнику. И да, то, что я запрашиваю, было бы нелегким или быстрым, поскольку для этого потребовалось бы немало усилий с вашей стороны, но если вы останетесь застрявшим и нуждаетесь в решении этого, это будет потрачено на то, чтобы потратить много усилий. –

ответ

0

Похоже необработанное исключение происходит во время апплета строительства! Проверьте консоль. Добавление обработчика к флажку не может вызвать такую ​​проблему.

+0

Это вызывает такую ​​проблему. Код без прокомментированной строки работает очень хорошо, как только строка добавляется в апплет, пустой. Это не имеет никакого смысла для меня вообще, но это то, что происходит. Если это помогает, я использую blueJ. –

+1

* «Если это помогает, я использую blueJ». * Что поможет больше всего, если вы последовали совету, предлагаемому @HovercraftFullOfEels, за полчаса до вашего комментария. –

+0

не нужно для агрессии, я нахожусь в процесс переделать мой пост. –