Прежде всего, я не ищу решения, я спрашиваю, что является наиболее приемлемым способом для этого. Теперь у меня есть основной фрейм, который имеет рисунок JPanel и пару JScrollPane только для регистрации вещей. я поставил все точки зрения, связанные с лог в классе и добавляется к основной раме, как это:Как добавить subviews в кадр из другого класса?
logViews = new LogViews(this);
Я думаю, что я не должен добавить весь класс к объекту, но как еще я могу заставить его работать? Должен ли я расширять основной фрейм или создавать интерфейс? Просмотры журналов также должны связываться с основной панелью, поэтому ее необходимо подключить в обоих направлениях.
ИТАК, если его не достаточно ясно:
LogViews является пользовательский класс я сделал, это выглядит примерно так, но с более JLists:
public class LogViews {
private DefaultListModel logModel;
private JList<String> logList;
public LogViews(MainFrame frame){
logModel = new DefaultListModel();
logList = new JList();
logList.setModel(logModel);
JScrollPane logListScroll = new JScrollPane(logList);
frame.add(logListScroll, BorderLayout.NORTH);
}
}
Он работает, я просто интересно, если я может сделать это без добавления MainFrame в конструкторе.
1) Что такое 'LogViews', настраиваемый компонент? 2) _ «пара JScrollPane только для регистрации вещей». _ Что именно это означает? Есть ли в них текстовые области? 3) Как в мире это «logViews = новые LogViews (это)», покажите нам, что вы добавили его в фрейм? –
Я добавил простой пример – Endanke
Итак, в конечном счете, LogViews - это просто 'JList', я прав? И каков был вопрос о том, что вы хотите с этим делать? –