Возможно ли определить несколько JPanels для вашей программы в одном файле (классе)? Как это обычно делается, вы определяете JPanel как верхний класс в файле, тогда вы определяете класс слушателя как вложенный класс внутри высшего класса. Но, если вы хотите определить несколько панелей (вместе со своими классами слушателей) внутри одного и того же файла, вместо создания нескольких файлов. Извините, я новичок в Java и тот факт, что все должно быть помещено внутри класса, немного запутанно для меня.Несколько определений JPanels внутри одного и того же файла
0
A
ответ
1
Да, вы можете использовать внутренние классы, к примеру ...
import java.awt.Dimension;
import java.awt.EventQueue;
import java.awt.GridBagLayout;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.UIManager;
import javax.swing.UnsupportedLookAndFeelException;
public class Test {
public static void main(String[] args) {
new Test();
}
public Test() {
EventQueue.invokeLater(new Runnable() {
@Override
public void run() {
try {
UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
} catch (ClassNotFoundException | InstantiationException | IllegalAccessException | UnsupportedLookAndFeelException ex) {
ex.printStackTrace();
}
JFrame frame = new JFrame("Testing");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.add(new TestPane());
frame.pack();
frame.setLocationRelativeTo(null);
frame.setVisible(true);
}
});
}
public class TestPane extends JPanel {
public TestPane() {
setLayout(new GridBagLayout());
add(new JLabel("Bananas are green"));
}
@Override
public Dimension getPreferredSize() {
return new Dimension(200, 200);
}
}
}
См Inner Class Example для более подробной информации
Смежные вопросы
- 1. несколько определений одного и того же класса
- 2. Определение переменных внутри макроса приводит несколько определений одного и того же переменной
- 3. несколько представлений одного и того же объекта
- 4. Сравнение нескольких столбцов внутри одного и того же файла
- 5. Открыть несколько окон одного и того же файла в Textmate
- 6. Прочитать несколько строк одного и того же файла Python
- 7. Несколько значений из одного и того же файла txt
- 8. Чтение одного и того же файла несколько раз в Python
- 9. CMD Создать несколько копий одного и того же файла?
- 10. Несколько разделителей для одного и того же файла ввода R
- 11. Несколько сервисов из одного и того же исполняемого файла
- 12. Несколько атрибутов одного и того же файла xml
- 13. Несколько XIB-владельцев одного и того же файла
- 14. Хорошо запустить несколько экземпляров одного и того же исполняемого файла?
- 15. несколько экземпляров одного и того же типа
- 16. Несколько вхождений одного и того же сайта
- 17. Несколько определений одного и того же #define макроса в обязательных библиотеках
- 18. Разрешения FTP и несколько файлов одного и того же имени
- 19. Создание JPanel и внутри добавить несколько JPanels
- 20. Несколько jPanels в jFrame и переключение jPanels
- 21. Несколько потоков, считываемых из того же файла
- 22. Определенный тип файла mime для одного и того же файла
- 23. Несколько страниц просмотра одного и того же PDF
- 24. как запретить несколько FOPEN() того же файла
- 25. Выполнение одного и того же плагина несколько раз в Maven
- 26. TFS Release Magament несколько развертываний одного и того же приложения
- 27. C# XML несколько вхождений одного и того же элемента
- 28. Как установить несколько экземпляров одного и того же окна службы
- 29. Несколько объявлений CSS для одного и того же тега
- 30. Загрузка одного и того же файла javascript по нескольким адресам
Да, вы можете использовать внутренние классы, см [внутренний класс Пример] (HTTPS://docs.oracle.com/javase/tutorial/java/javaOO/innerclasses.html) для получения дополнительной информации – MadProgrammer