Что я могу сделать, когда я создаю прослушиватель событий для кнопки, и он сообщает мне, что она не существует?

#java #swing #jframe #jbutton

#java #swing #jframe #кнопка jbutton

Вопрос:

Я работаю в eclipse над созданием приложения для преобразования температуры. Я сделал JButton btnConvert . Однако, когда я иду, чтобы создать прослушиватель событий, он сообщает мне btnConvert cannot be resolved.

Я заметил, что он не отображается там, где другие элементы управления перечислены в схеме, и у меня это явно есть в моем коде:

 JButton btnConvert = new JButton("Convert");
 

Кто-нибудь может помочь? Я импортировал все, что нужно импортировать, и до этого не сталкивался с какими-либо проблемами.

Комментарии:

1. Кроме того, не могли бы вы опубликовать свой полный код класса, чтобы у нас был контекст

2. Этот веб-сайт предоставляет бесплатную экспертную помощь; поэтому можно разумно ожидать, что любой, кто задает здесь вопрос, приложит необходимые усилия. И поскольку вы хотите получить от нас бесплатную помощь, почему нас должно волновать, получаете ли вы деньги? Даже если это может показаться не так, этот веб-сайт на самом деле более дружелюбен к публикациям новичков с небольшими усилиями, чем раньше (но только потому, что мы вынуждены быть)

3. @Chris G В этом посте нет ничего о получении оплаты. Это был еще один пост, который я удалил.

4. …. да, вы удалили ее, поэтому я разместил здесь, потому что не был уверен, получили ли вы сообщение. Впрочем, неважно.

5. @Chris G, да, я получил сообщение, я просто пошел дальше и удалил это сообщение, пока у меня не будет больше времени, чтобы подробнее ознакомиться с правилами публикации.

Ответ №1:

Если кнопка была создана только в методе, то она будет видна только в пределах этого метода, и если вы пытаетесь получить к ней доступ за пределами метода, в котором она была создана, он скажет, что не может найти кнопку. Вместо этого вы можете использовать переменную экземпляра, это будет выглядеть примерно так:

 public class WhateverYourClassNameIs 
{
    public JButton btnConvert; 

    public static void main(String[] args) 
    {
        //define the instance variable, this doesn't have to be in main
        // it can be wherever you are initializing the code you're working on
        btnConvert = new JButton("Convert"); 
    }
}
 

Комментарии:

1. Здравствуйте, спасибо за ваш ответ, в этом проблема, должна быть переменная экземпляра.