Перетащите путь к файлу в Java Swing JTextField - PullRequest
7 голосов
/ 12 марта 2012

Используя этот вопрос , я создал класс ниже, который обрабатывает перетаскивание файлов в JTextField.Смысл приложения в том, чтобы иметь возможность перетаскивать файл в текстовое поле, и в текстовом поле должен быть указан путь к файлу (вы можете ясно увидеть цель в коде).приведенный ниже код не компилируется.Ошибка компиляции гласит Cannot refer to non-final variable myPanel inside an inner class defined in a different method.Я мало работал с внутренними классами, поэтому кто-нибудь может показать мне, как устранить ошибку и заставить код работать так, как он был спроектирован?

Ответы [ 2 ]

5 голосов
/ 12 марта 2012

Как говорится в сообщении об ошибке, myPanel должно быть определено как окончательное.

final JTextArea myPanel = new JTextArea();

Таким образом, внутреннему классу можно дать один ссылочный указатель на экземпляр переменной, не опасаясь, что переменная может бытьизменено, чтобы указывать на что-то еще позже во время выполнения.

0 голосов
/ 18 июля 2015

Другой вариант - объявить переменную static.


    static JTextArea myPanel = new JTextArea();

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...