Выбрать элемент в списке, показать текст в текстовой области

Я работаю над черновиком графического интерфейса, рассматривая разные варианты. Я хотел использовать JList для отображения текста в JTextArea в зависимости от того, какой элемент выбран. Вы можете видеть JList слева и JTextArea в центре.

Или есть лучший способ сделать это? Я уже использую вкладки, которые будут использоваться для широкой категории. Я видел, что CardLayout, но не совсем нравится внешний вид. Какие-нибудь советы?

введите здесь описание изображения


person jerhynsoen    schedule 27.07.2012    source источник


Ответы (2)


Что ж, вы можете использовать ListSelectionListener, чтобы соответствующим образом установить содержимое.

 JList list = new JList(someArrayofData);
 list.addListSelectionListener(new ListSelectionListener(){
      public void valueChanged(ListSelectionEvent e){
            int selectedIndex = list.getSelectedIndex();
            //refresh the content based on the index
            setContent(selectedIndex);
      }
});

Трудно сказать, какой макет графического интерфейса будет работать лучше для вас, не зная, для чего предназначено приложение.

person Joel    schedule 27.07.2012
comment
это нормально, мне просто нужно было направление, когда Google подвел меня. все еще новичок в java, и есть много библиотек для изучения. Спасибо. - person jerhynsoen; 28.07.2012

Используйте положение элемента, выбранного в JList, чтобы сказать вам, какой текст установить в JTextArea посередине. Настройте listener на JList и проверьте события onChange. Возьмите индекс выбранного элемента. Где-нибудь в массиве используйте этот индекс, чтобы получить соответствующий текст, сопоставленный с выбранным элементом JList. Затем установите текст JTextArea на то, что вы захватили из массива.

person kurtzbot    schedule 27.07.2012