Переместить выбранную запись из одного list в другой - Java
Формулировка задачи:
Добрый день!
Буду признательна, если подскажете, как дописать код. нужно из одного списка переместить выбранную запись в другой список по нажатию соответствующей кнопки.
Листинг программы
- package interf61;
- import java.awt.BorderLayout;
- import java.awt.EventQueue;
- import javax.swing.JFrame;
- import javax.swing.JPanel;
- import javax.swing.border.EmptyBorder;
- import javax.swing.event.ListSelectionEvent;
- import javax.swing.event.ListSelectionListener;
- import javax.swing.JList;
- import javax.swing.JButton;
- import javax.swing.ListSelectionModel;
- import java.awt.event.ActionListener;
- import java.awt.event.ActionEvent;
- import javax.swing.JLabel;
- public class TwoLists extends JFrame {
- private JPanel contentPane;
- public static void main(String[] args) {
- EventQueue.invokeLater(new Runnable() {
- public void run() {
- try {
- TwoLists frame = new TwoLists();
- frame.setVisible(true);
- } catch (Exception e) {
- e.printStackTrace();
- }
- }
- });
- }
- public TwoLists() {
- super("Task 6.1");
- setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
- setBounds(100, 100, 300, 200);
- contentPane = new JPanel();
- contentPane.setBorder(new EmptyBorder(10, 10, 10, 10));
- setContentPane(contentPane);
- contentPane.setLayout(new BorderLayout(0, 0));
- String[] options = {"1111111","2222222","3333333333"};
- String[] options1 = {"aaaaaaa","bbbbbb","cccccccc","dddd"};
- JList list = new JList(options);
- contentPane.add(list, BorderLayout.WEST);
- list.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
- //list.setSelectedIndex(0);
- JList list1 = new JList(options1);
- contentPane.add(list1, BorderLayout.EAST);
- list1.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
- //list1.setSelectedIndex(0);
- JPanel panel = new JPanel();
- contentPane.add(panel, BorderLayout.CENTER);
- panel.setLayout(new BorderLayout(0, 0));
- JButton button = new JButton(">");
- panel.add(button, BorderLayout.NORTH);
- JButton button1 = new JButton("<");
- panel.add(button1, BorderLayout.SOUTH);
- JLabel label = new JLabel("Выберите элемент");
- panel.add(label, BorderLayout.CENTER);
- list.addListSelectionListener(new ListSelectionListener(){
- public void valueChanged(ListSelectionEvent le){
- int index = list.getSelectedIndex();
- if (index != -1){
- label.setText("Вы выбрали " + options[index]);
- }
- else{
- label.setText("Выберите элемент");
- }
- }
- });
- list1.addListSelectionListener(new ListSelectionListener(){
- public void valueChanged(ListSelectionEvent le){
- int index1 = list1.getSelectedIndex();
- if (index1 != -1){
- label.setText("Вы выбрали " + options1[index1]);
- }
- else{
- label.setText("Выберите элемент");
- }
- }
- });
- button.addActionListener(new ActionListener(){
- public void actionPerformed(ActionEvent ae){
- int index = list.getSelectedIndex();
- if (index != -1){
- }
- else{
- }
- }
- });
- button1.addActionListener(new ActionListener(){
- public void actionPerformed(ActionEvent ae){
- int index = list1.getSelectedIndex();
- if (index != -1){
- }
- else{
- }
- }
- });
- }
- }
Решение задачи: «Переместить выбранную запись из одного list в другой»
textual
Листинг программы
- package twolists;
- import java.awt.BorderLayout;
- import java.awt.event.ActionEvent;
- import java.awt.event.ActionListener;
- import javax.swing.*;
- import javax.swing.border.EmptyBorder;
- import javax.swing.event.ListSelectionEvent;
- import javax.swing.event.ListSelectionListener;
- /**
- *
- * @author Nicholas White
- */
- public class TwoLists extends JFrame {
- private JPanel contentPane;
- private DefaultListModel listModel, listModel2;
- private JList list, list2;
- JButton button, button2;
- JLabel label = new JLabel("Выберите элемент");
- public TwoLists() {
- setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
- setBounds(100, 100, 300, 200);
- contentPane = new JPanel();
- contentPane.setBorder(new EmptyBorder(10, 10, 10, 10));
- setContentPane(contentPane);
- contentPane.setLayout(new BorderLayout(0, 0));
- String[] options = {"1111111","2222222","3333333333"};
- String[] options2 = {"aaaaaaa","bbbbbb","cccccccc","dddd"};
- listModel = new DefaultListModel();
- for(String option : options){
- listModel.addElement(option);
- }
- list = new JList(listModel);
- contentPane.add(list, BorderLayout.WEST);
- list.addListSelectionListener(new ListSelectionListener() {
- @Override
- public void valueChanged(ListSelectionEvent e) {
- int index = list.getSelectedIndex();
- if(index == -1){
- button.setEnabled(false);
- label.setText("Выберите элемент");
- } else{
- button.setEnabled(true);
- label.setText("Вы выбрали " + listModel.get(index));
- }
- }
- });
- listModel2 = new DefaultListModel();
- for(String option : options2){
- listModel2.addElement(option);
- }
- list2 = new JList(listModel2);
- contentPane.add(list2, BorderLayout.EAST);
- list2.addListSelectionListener(new ListSelectionListener() {
- @Override
- public void valueChanged(ListSelectionEvent e) {
- int index = list2.getSelectedIndex();
- if(index == -1){
- button2.setEnabled(false);
- label.setText("Выберите элемент");
- } else{
- button2.setEnabled(true);
- label.setText("Вы выбрали " + listModel2.get(index));
- }
- }
- });
- JPanel panel = new JPanel(new BorderLayout(0, 0));
- contentPane.add(panel, BorderLayout.CENTER);
- button = new JButton(">");
- button.setEnabled(false);
- panel.add(button, BorderLayout.NORTH);
- button2 = new JButton("<");
- button2.setEnabled(false);
- panel.add(button2, BorderLayout.SOUTH);
- // label.setText("Выберите элемент");
- panel.add(label, BorderLayout.CENTER);
- button.addActionListener(new ActionListener() {
- @Override
- public void actionPerformed(ActionEvent e) {
- int index = list.getSelectedIndex();
- String s = (String) listModel.get(index);
- listModel.remove(index);
- listModel2.addElement(s);
- }
- });
- button2.addActionListener(new ActionListener() {
- @Override
- public void actionPerformed(ActionEvent e) {
- int index = list2.getSelectedIndex();
- String s = (String) listModel2.get(index);
- listModel2.remove(index);
- listModel.addElement(s);
- }
- });
- }
- public static void main(String[] args) {
- javax.swing.SwingUtilities.invokeLater(new Runnable() {
- @Override
- public void run() {
- new TwoLists().setVisible(true);
- }
- });
- }
- }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д