Как использовать WindowBuilder для редактирования JPanel во внутреннем классе - PullRequest
4 голосов
/ 22 декабря 2010

Я хотел бы использовать WindowBuilder в Eclipse для создания графических интерфейсов Swing. JPanels, которые мне нужно построить, будут внутренними классами в не-GUI-оболочке, например:

public class MyWrapper extends MyBaseClass {
  ...
  class MyPanel extends JPanel {
    ...
  }
}

Итак, мой вопрос таков: могу ли я создать MyPanel с помощью WindowBuilder? Если да, то как мне его настроить?

Если кому-то интересно, обертка - это абстрактный базовый класс, который должны расширять плагины, которые я разрабатываю для своего приложения; Проблемы развертывания означают, что на самом деле не практично помещать GUI в отдельный JAR-файл, поэтому мне, скорее всего, придется делать это следующим образом.

Мой текущий рабочий процесс, который ужасен, состоит в том, чтобы создать графический интерфейс в NetBeans и вставить весь сгенерированный класс в Eclipse, где я подключаю его к методам в моей оболочке. Я очень надеюсь, что WindowBuilder позволит мне работать более надежно и эффективно, если я смогу заставить его генерировать код в MyPanel, а не в MyWrapper.

Спасибо

1 Ответ

2 голосов
/ 27 декабря 2010

Непонятно, почему JPanel должен быть внутренним классом. В общем, это не очень хорошая идея (в любом случае вы получите несколько файлов .class). JPanel должен быть просто собственным классом верхнего уровня, на который ссылается ваш класс-обертка (каждый из которых может находиться в одном банке). WindowBuilder можно легко использовать для создания / редактирования ваших подклассов JPanel (включая те, которые изначально были созданы с помощью NetBeans), но это будет сделано только для классов верхнего уровня. Он не позволит вам создать / отредактировать внутренний класс, подобный этому (который является полностью преднамеренным).

...