Поменять значения JList в зависимости от JComboBox - Java

Узнай цену своей работы

Формулировка задачи:

Добрый день всем. Подскажите, пожалуйста, мне нужно сделать простой словарь (рус-англ), список слов на одном языке нужно передать в JList, а чтобы выбрать сам язык, то его нужно выбрать через JComboBox. Вот код: FormClass.java
Листинг программы
  1. import java.awt.BorderLayout;
  2. import java.awt.GridLayout;
  3. import java.awt.event.ItemEvent;
  4. import java.awt.event.ItemListener;
  5. import java.io.File;
  6. import java.io.FileInputStream;
  7. import java.io.FileNotFoundException;
  8. import java.util.Scanner;
  9. import java.util.Vector;
  10. import javax.swing.*;
  11. import javax.swing.event.ListSelectionEvent;
  12. import javax.swing.event.ListSelectionListener;
  13.  
  14. public class FormClass extends JFrame {
  15. JTextField text;
  16. JButton button;
  17. JList list;
  18. JScrollPane listBox;
  19. JComboBox combo;
  20. JPanel panel;
  21. String[] eng, rus, temp;
  22. String line;
  23. int tempIndex, choice;
  24. public FormClass() throws FileNotFoundException{
  25. setLayout(new BorderLayout());
  26. panel = new JPanel();
  27. panel.setLayout(new GridLayout(1, 2));
  28. text = new JTextField();
  29. button = new JButton("Search");
  30. File file = new File("input.txt");
  31. Scanner sc = new Scanner(file);
  32. temp = new String[(int) file.length()];
  33. while(sc.hasNextLine()){
  34. line = sc.nextLine();
  35. temp = line.split("=");
  36. }
  37. rus = new String[temp.length];
  38. eng = new String[temp.length];
  39. for(int i = 0; i < temp.length; i++){
  40. if(i % 2 != 0){
  41. rus[i] = temp[i];
  42. }else{
  43. eng[i] = temp[i];
  44. }
  45. }
  46. list = new JList(new DefaultListModel());
  47. listBox = new JScrollPane(list);
  48. list.addListSelectionListener(new ListSelectionListener() {
  49. @Override
  50. public void valueChanged(ListSelectionEvent e) {
  51. // TODO Auto-generated method stub
  52. tempIndex = list.getSelectedIndex();
  53. text.setText(rus[tempIndex + 1]);
  54. }
  55. });
  56. combo = new JComboBox();
  57. combo.addItem("Eng");
  58. combo.addItem("Rus");
  59. combo.addItemListener(new ItemListener() {
  60. @Override
  61. public void itemStateChanged(ItemEvent e) {
  62. // TODO Auto-generated method stub
  63. }
  64. });
  65. panel.add(text);
  66. panel.add(button);
  67. add(panel, BorderLayout.NORTH);
  68. add(list, BorderLayout.CENTER);
  69. add(combo, BorderLayout.SOUTH);
  70. }
  71. }
MainClass.java
Листинг программы
  1. import java.io.FileNotFoundException;
  2. import javax.swing.WindowConstants;
  3.  
  4. public class MainClass {
  5. public static void main(String[] args) throws FileNotFoundException {
  6. // TODO Auto-generated method stub
  7. FormClass form = new FormClass();
  8. form.setSize(300, 300);
  9. form.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
  10. form.setVisible(true);
  11. }
  12. }

Решение задачи: «Поменять значения JList в зависимости от JComboBox»

textual
Листинг программы
  1. JCombo.addItemListener(new java.awt.event.ItemListener() {
  2.     public void itemStateChanged(java.awt.event.ItemEvent evt) {
  3.         //Меняем содержимое JList
  4.     }
  5. });

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

11   голосов , оценка 3.818 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут