Advertisement
Guest User

Untitled

a guest
May 21st, 2019
77
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.41 KB | None | 0 0
  1. package com.company;
  2.  
  3. import javax.swing.*;
  4. import java.awt.*;
  5.  
  6. class MyList extends JFrame {
  7.  
  8.     MyList(){
  9.         super("LIST");
  10.         setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  11.         setLayout(new BorderLayout());
  12.         setSize(300, 300);
  13.  
  14.         MyListModel listModel = new MyListModel();
  15.         JList jList = new JList();
  16.         jList.setModel(listModel);
  17.  
  18.         JScrollPane scrollPane = new JScrollPane();
  19.         scrollPane.setHorizontalScrollBarPolicy(JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS);
  20.         scrollPane.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_ALWAYS);
  21.         scrollPane.getViewport().add(jList);
  22.  
  23.         JTextField inputField = new JTextField();
  24.  
  25.         add(scrollPane, BorderLayout.CENTER);
  26.         add(inputField, BorderLayout.SOUTH);
  27.  
  28.  
  29.         inputField.addActionListener(e -> {
  30.             String rawText = e.getActionCommand();
  31.             handleCommands(rawText, listModel);
  32.             inputField.setText("");
  33.         });
  34.  
  35.         setVisible(true);
  36.  
  37.         inputField.requestFocus();
  38.     }
  39.  
  40.     private void handleCommands(String source, MyListModel listModel) {
  41.         String[] sourceArray = source.split(" ", 2);
  42.  
  43.         switch (sourceArray[0]){
  44.             case "add" : {
  45.                 if(sourceArray.length < 2 || sourceArray[1] == null) return;
  46.                 if (listModel.isElementExist(sourceArray[1]))
  47.                     JOptionPane.showMessageDialog(new JFrame(), sourceArray[1] + " already exists.", "Element exist", JOptionPane.WARNING_MESSAGE);
  48.                 else listModel.add(sourceArray[1]);
  49.                 break;
  50.             }
  51.             case "del" : {
  52.                 if(sourceArray.length < 2 || sourceArray[1] == null) return;
  53.                 if (listModel.isElementExist(sourceArray[1]))
  54.                     listModel.remove(listModel.getIndexOf(sourceArray[1]));
  55.                 else JOptionPane.showMessageDialog(new JFrame(), sourceArray[1] + " not exists.", "Element not exist", JOptionPane.WARNING_MESSAGE);
  56.                 break;
  57.             }
  58.             case "quit" : {
  59.                 this.dispose();
  60.                 break;
  61.             }
  62.             default: {
  63.                 JOptionPane.showMessageDialog(new JFrame(), sourceArray[0] + " is not recognized as an internal or external command!", "Unhandled command", JOptionPane.ERROR_MESSAGE);
  64.                 break;
  65.             }
  66.         }
  67.     }
  68. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement