Java нерешенная переменная JPanel? -- java поле с участием eclipse пол Связанный проблема

Java unresolved JPanel variable?


0
vote

проблема

русский

Почему не может <код> aniPanel быть разрешена в переменной. Я пробовал

 <код> AniPanel aniPanel = new AniPanel();    

Но это не решает проблему. Я также позаботился о том, чтобы

Импорт java.swing.jpanel

Это класс:

 <код> public class Animation {      public JPanel AniPanel;      private boolean loop = true;      private RenderingHints renderingHints = new RenderingHints(                 RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON);       @SuppressWarnings("serial")     class AniPanel extends JPanel {              public void paintComponent(Graphics g) {                  Graphics2D g2d = (Graphics2D) g;                 g2d.setRenderingHints(renderingHints);                 draw(g2d);             }         }       public static void main(String[] args){          Circle C = new Circle(100);          JFrame jf = new JFrame();          jf.setTitle("Falling Shapes Animation");         jf.setSize(600,400);          aniPanel = new AniPanel();         jf.getContentPane().add(aniPanel);          jf.setVisible(true);         jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);         jf.pack();      }   
Английский оригинал

Why can't aniPanel be resolved to a variable. I've tried

AniPanel aniPanel = new AniPanel();  

but this doesn't solve the problem. I've also made sure to

import java.swing.JPanel

This is the class:

public class Animation {      public JPanel AniPanel;      private boolean loop = true;      private RenderingHints renderingHints = new RenderingHints(                 RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON);       @SuppressWarnings("serial")     class AniPanel extends JPanel {              public void paintComponent(Graphics g) {                  Graphics2D g2d = (Graphics2D) g;                 g2d.setRenderingHints(renderingHints);                 draw(g2d);             }         }       public static void main(String[] args){          Circle C = new Circle(100);          JFrame jf = new JFrame();          jf.setTitle("Falling Shapes Animation");         jf.setSize(600,400);          aniPanel = new AniPanel();         jf.getContentPane().add(aniPanel);          jf.setVisible(true);         jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);         jf.pack();      } 
</div
     

Список ответов

1
 
vote

Есть разные вещи не так с вашим кодом.

Во-первых, Java чувствителен к регистру. Вот ваше переменная декларация:

 <код> public JPanel AniPanel;   

И вот где вы пытаетесь его использовать:

 <код> aniPanel = new AniPanel();   

Обратите внимание на капитал <код> A в декларации. Кроме того, вы пытаетесь использовать его из статического метода , поэтому вам либо нужно указать экземпляр для него, либо вы делаете его статической переменной. Это должно быть:

 <код> public static JPanel aniPanel;   

... или предпочтительно:

 <код> private static JPanel aniPanel;   
<Р> Еще лучше, сделать его локальная переменная вместо поля - вы только когда-либо использовать его в <код> main в любом случае. Так что просто удалите текущее объявление, а затем используйте:
 <код> AniPanel aniPanel = new AniPanel();   
<Р> Вы будете затем есть проблема, что это внутренний класс, который означает, что вам нужен экземпляр <код> Animation , чтобы создать экземпляр <код> AniPanel < / код>. Вы можете исправить это, либо делая <код> AniPanel статический вложенный класс, или путем удаления его в <код> aniPanel = new AniPanel(); 0 (делая его классом верхнего уровня). Лично я бы порекомендовал избежать вложенных классов, где это возможно - особенно если вы относительно новы в Java. Вы должны легко удалить <код> aniPanel = new AniPanel(); 1 переменную (вы никогда не используете его) и перемещаете <код> aniPanel = new AniPanel(); 2 в <код> aniPanel = new AniPanel(); 3 .
 

There are various things wrong with your code.

Firstly, Java is case-sensitive. Here's your variable declaration:

public JPanel AniPanel; 

And here's where you're trying to use it:

aniPanel = new AniPanel(); 

Note the capital A in the declaration. Additionally, you're trying to use it from a static method, so you either need to specify an instance for it, or you make it a static variable. It should be:

public static JPanel aniPanel; 

... or preferrably:

private static JPanel aniPanel; 

Even better, make it a local variable instead of a field - you only ever use it in main anyway. So just remove the current declaration and then use:

AniPanel aniPanel = new AniPanel(); 

You'll then have the problem that it's an inner class, which means you need an instance of Animation in order to create an instance of AniPanel. You can fix that by either making AniPanel a static nested class, or by removing it from within Animation (making it a top-level class). Personally I'd recommend avoiding nested classes where possible - particularly if you're relatively new to Java. You should remove the loop variable entirely (you never use it) and move renderingHints into AniPanel.

</div
 
 

Связанный проблема

0  Многонаправленное отношение много к одному в DataNucleus  ( Many to one unidirectional relation in datanucleus ) 
Для контекста, сторона клиента я использую шаблон MVP, поэтому вид с One One liste знает только идентификатор, а когда мой новый <код> Many получен Сервер...

1  Eclipse IDE отключается часто  ( Eclipse ide shuts down frequently ) 
Я пытался использовать SDK SDK SDK 22.3.0-887826, чтобы узнать о Develeopment Android, однако IDE отключается часто. Это происходит много, но в основном при и...

0  Basic Echo Server, отношения клиент-сервера  ( Basic echo server client server relationship ) 
Так как мой проект, который мне пришлось написать класс клиента и простой класс серверов, который будет эхом сообщение, написанным клиентом. По какой-то при...

0  Выберите JVM при запуске зажигания  ( Select jvm when running spark job ) 
Как я могу пройти путь Java, чтобы выпить, чтобы выбрать JVM, который не по умолчанию (не в Java_home)? Мне не разрешено устанавливать какие-либо env vars в м...

2  Как получить направление на кратчайший путь внешнего круга в Google Maps Android, когда мое текущее местоположение находится внутри 2 или более кругов?  ( How to get direction to the shortest path outside circle in google maps android ) 
Как получить направление к ближайшему расположению внешний круг, если голубые точки - текущее местоположение? 1 [ 1 и как отображать маркеры только во...

0  Как удалить начальное нулевое значение?  ( How to remove initial null value ) 
Я загружаю файл и отображаю его как ссылку ... но изначально, когда я загружаю страницу, она отображает нулевое значение ... Я хочу удалить это нулевое значен...

0  ConstanaintValidator - сделать JPA сделать проверку после ввода  ( Constraintvalidator make jpa make the validation after input ) 
Можно ли сделать JPA проверить вход сразу после типов пользователей в чем-либо? Я использую EclipseLink. Я не хочу ждать, пока JPA сохраняется для проверк...

1  Получить все идентификаторы элементов из Dynamodb Java с помощью dynamodbmapper  ( Retrieve all items ids from dynamodb java using dynamodbmapper ) 
Моя цель - получить идентификаторы всех предметов. Для этого я собираюсь использовать Java и Dynamodbmapper. Способ сделать это использовать сканирование . П...

1  Файл класса Java содержит комментарии - почему?  ( Java class file contains comments why ) 
Когда я открываю <код> MyClass.class файл в моем редакторе Eclipse, он также показывает мне комментарии кода. Не должен быть оптимизирован .class файла д...

105  Почему C # реализует методы как не виртуальные по умолчанию?  ( Why c sharp implements methods as non virtual by default ) 
В отличие от Java, почему C # методы лечения как не виртуальные функции по умолчанию? Скорее всего, это проблема производительности, а не на других возможных ...

-1  SQL Server для моего SQL  ( Sql server to my sql ) 
У меня есть новый проект от моего учителя, чтобы преобразовать базу данных в другую. Как я могу преобразовать базу данных MS SQL в MySQL с помощью Java? ...

0  Создание ссылки IPC между плагинами APC Java и C #  ( Establishing ipc link between a java app and c based plugins ) 
У нас есть приложение Java, а также ряд плагинов C #, для других приложений (например, Excel), которые могут взаимодействовать с основным приложением. Слой св...

0  Этикетки для вершин с использованием библиотеки Юнга  ( Labels for vertices using jung library ) 
Я начал использовать библиотеку Юнга для моей визуализации графика. Основная проблема в настоящее время в настоящее время я не знаю, как установить этикетки /...

1  WebView loaddatawithbaseurl java.lang.nullpointerexception  ( Webview loaddatawithbaseurl java lang nullpointerexception ) 
<код> //. . . public class MainActivity extends Activity { //. . . @Override protected void onCreate( Bundle savedInstanceState ) { //....

9  Phone Gam [Ошибка] CMD: Команда не удалась с помощью выхода кода Enoent  ( Phone gap error cmd command failed with exit code enoent ) 
Я пытаюсь получить разрыв на телефоне работать на Android, и моя команда выводит следующее: <код> phonegap build android [phonegap] detecting Android SDK en...

Связанный проблема

0  Многонаправленное отношение много к одному в DataNucleus 
1  Eclipse IDE отключается часто 
0  Basic Echo Server, отношения клиент-сервера 
0  Выберите JVM при запуске зажигания 
2  Как получить направление на кратчайший путь внешнего круга в Google Maps Android, когда мое текущее местоположение находится внутри 2 или более кругов? 
0  Как удалить начальное нулевое значение? 
0  ConstanaintValidator - сделать JPA сделать проверку после ввода 
1  Получить все идентификаторы элементов из Dynamodb Java с помощью dynamodbmapper 
1  Файл класса Java содержит комментарии - почему? 
105  Почему C # реализует методы как не виртуальные по умолчанию? 
-1  SQL Server для моего SQL 
0  Создание ссылки IPC между плагинами APC Java и C # 
0  Этикетки для вершин с использованием библиотеки Юнга 
1  WebView loaddatawithbaseurl java.lang.nullpointerexception 
9  Phone Gam [Ошибка] CMD: Команда не удалась с помощью выхода кода Enoent 



© 2021 www.qaru.top All Rights Reserved. Q&A House все права защищены


Licensed under cc by-sa 3.0 with attribution required.