Поменять значения JList в зависимости от JComboBox - Java
Формулировка задачи:
Добрый день всем. Подскажите, пожалуйста, мне нужно сделать простой словарь (рус-англ), список слов на одном языке нужно передать в JList, а чтобы выбрать сам язык, то его нужно выбрать через JComboBox.
Вот код:
FormClass.java
MainClass.java
import java.awt.BorderLayout; import java.awt.GridLayout; import java.awt.event.ItemEvent; import java.awt.event.ItemListener; import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.util.Scanner; import java.util.Vector; import javax.swing.*; import javax.swing.event.ListSelectionEvent; import javax.swing.event.ListSelectionListener; public class FormClass extends JFrame { JTextField text; JButton button; JList list; JScrollPane listBox; JComboBox combo; JPanel panel; String[] eng, rus, temp; String line; int tempIndex, choice; public FormClass() throws FileNotFoundException{ setLayout(new BorderLayout()); panel = new JPanel(); panel.setLayout(new GridLayout(1, 2)); text = new JTextField(); button = new JButton("Search"); File file = new File("input.txt"); Scanner sc = new Scanner(file); temp = new String[(int) file.length()]; while(sc.hasNextLine()){ line = sc.nextLine(); temp = line.split("="); } rus = new String[temp.length]; eng = new String[temp.length]; for(int i = 0; i < temp.length; i++){ if(i % 2 != 0){ rus[i] = temp[i]; }else{ eng[i] = temp[i]; } } list = new JList(new DefaultListModel()); listBox = new JScrollPane(list); list.addListSelectionListener(new ListSelectionListener() { @Override public void valueChanged(ListSelectionEvent e) { // TODO Auto-generated method stub tempIndex = list.getSelectedIndex(); text.setText(rus[tempIndex + 1]); } }); combo = new JComboBox(); combo.addItem("Eng"); combo.addItem("Rus"); combo.addItemListener(new ItemListener() { @Override public void itemStateChanged(ItemEvent e) { // TODO Auto-generated method stub } }); panel.add(text); panel.add(button); add(panel, BorderLayout.NORTH); add(list, BorderLayout.CENTER); add(combo, BorderLayout.SOUTH); } }
import java.io.FileNotFoundException; import javax.swing.WindowConstants; public class MainClass { public static void main(String[] args) throws FileNotFoundException { // TODO Auto-generated method stub FormClass form = new FormClass(); form.setSize(300, 300); form.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE); form.setVisible(true); } }
Решение задачи: «Поменять значения JList в зависимости от JComboBox»
textual
Листинг программы
JCombo.addItemListener(new java.awt.event.ItemListener() { public void itemStateChanged(java.awt.event.ItemEvent evt) { //Меняем содержимое JList } });
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д