Поменять значения 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
- }
- });
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д