Advertisement
Guest User

Untitled

a guest
May 13th, 2017
82
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 5.08 KB | None | 0 0
  1. package oving2;
  2.  
  3. import java.awt.Component;
  4. import java.awt.GridBagConstraints;
  5. import java.awt.event.ActionEvent;
  6. import java.awt.event.ActionListener;
  7.  
  8. import javax.swing.DefaultListModel;
  9. import javax.swing.JButton;
  10. import javax.swing.JFrame;
  11. import javax.swing.JList;
  12. import javax.swing.JPanel;
  13. import javax.swing.ListCellRenderer;
  14. import javax.swing.event.ListSelectionEvent;
  15. import javax.swing.event.ListSelectionListener;
  16.  
  17.  
  18. public class PersonListPanel extends JPanel {
  19.     private JList personList;
  20.     private PersonPanel personPanel;
  21.     private JButton newPersonButton;
  22.     private DefaultListModel model;
  23.     private JButton deletePersonButton;
  24.    
  25.  
  26.     public PersonListPanel(JList personList, PersonPanel personPanel,
  27.             DefaultListModel model) {
  28.         super();
  29.         this.personList = personList;
  30.         this.personList.setModel(model);
  31.         this.personList.setName("personList");
  32.         this.personList.addListSelectionListener(new JListListener());
  33.        
  34.         this.newPersonButton = new JButton("Create new Person");
  35.         this.newPersonButton.setName("newPersonButton");
  36.         this.newPersonButton.addActionListener(new JButtonListener());
  37.        
  38.         this.deletePersonButton = new JButton("Delete this person");
  39.         this.deletePersonButton.setName("deletePersonButton");
  40.         this.deletePersonButton.addActionListener(new JButtonListener());
  41.        
  42.         this.personPanel = personPanel;
  43.         this.personPanel.setName("personPanel");
  44.        
  45.         this.model = model;
  46.        
  47.         GridBagConstraints gridBagConstraints = new GridBagConstraints();
  48.        
  49.         gridBagConstraints = new java.awt.GridBagConstraints();
  50.         gridBagConstraints.gridx = 0;
  51.         gridBagConstraints.gridy = 0;
  52.         gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST;
  53.         gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
  54.         gridBagConstraints.insets = new java.awt.Insets(5, 5, 5, 5);
  55.         add(personList, gridBagConstraints);
  56.        
  57.         gridBagConstraints = new java.awt.GridBagConstraints();
  58.         gridBagConstraints = new java.awt.GridBagConstraints();
  59.         gridBagConstraints.gridx = 1;
  60.         gridBagConstraints.gridy = 0;
  61.         gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST;
  62.         gridBagConstraints.insets = new java.awt.Insets(5, 5, 5, 5);
  63.         add(personPanel, gridBagConstraints);
  64.        
  65.         gridBagConstraints = new java.awt.GridBagConstraints();
  66.         gridBagConstraints.gridx = 0;
  67.         gridBagConstraints.gridy = 1;
  68.         gridBagConstraints.anchor = java.awt.GridBagConstraints.EAST;
  69.         gridBagConstraints.insets = new java.awt.Insets(5, 5, 5, 5);
  70.         add(newPersonButton, gridBagConstraints);
  71.        
  72.         gridBagConstraints = new java.awt.GridBagConstraints();
  73.         gridBagConstraints.gridx = 1;
  74.         gridBagConstraints.gridy = 1;
  75.         gridBagConstraints.anchor = java.awt.GridBagConstraints.EAST;
  76.         gridBagConstraints.insets = new java.awt.Insets(5, 5, 5, 5);
  77.         add(deletePersonButton, gridBagConstraints);
  78.     }
  79.    
  80.     public void setModel(DefaultListModel model) {
  81.         this.model = model;
  82.     }
  83.    
  84.     public DefaultListModel getModel() {
  85.         return this.model;
  86.     }
  87.    
  88.     public static void main(String[] args) {
  89.         PersonPanel personPanel = new PersonPanel();
  90.         JList list = new JList();
  91.         DefaultListModel defaultListModel = new DefaultListModel();
  92.         defaultListModel.addElement(new Person("Dag", "21071989", Gender.MALE, "daginge@gmail.com", 193));
  93.         defaultListModel.addElement(new Person("Dag-Inge", "21071989", Gender.MALE, "daginge@gmail.com", 193));
  94.         defaultListModel.addElement(new Person("Dag-Inge Aas", "21071989", Gender.MALE, "daginge@gmail.com", 193));
  95.         PersonListPanel personListPanel = new PersonListPanel(list, personPanel, defaultListModel);
  96.         personListPanel.setModel(defaultListModel);
  97.        
  98.         JFrame mainPanel = new JFrame();
  99.        
  100.         GridBagConstraints gridBagConstraints = new GridBagConstraints();
  101.        
  102.         mainPanel.setTitle("Øving 2 - PersonPanel");
  103.        
  104.         mainPanel.setContentPane(personListPanel);
  105.         mainPanel.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  106.         mainPanel.pack();
  107.         mainPanel.setVisible(true);
  108.     }
  109.    
  110.     public class JListListener implements ListSelectionListener {
  111.  
  112.         @Override
  113.         public void valueChanged(ListSelectionEvent e) {
  114.             if (!personList.isSelectionEmpty()) {
  115.                 personPanel.setModel((Person) personList.getSelectedValue());
  116.             }
  117.             else {
  118.                 personPanel.setModel(null);
  119.             }
  120.         }
  121.     }
  122.     public class JButtonListener implements ActionListener {
  123.  
  124.         @Override
  125.         public void actionPerformed(ActionEvent e) {
  126.             if (e.getSource() == newPersonButton) {
  127.                 Person person = new Person();
  128.                 model.addElement(person);
  129.                 personList.setSelectedValue(person, true);
  130.                 personPanel.setModel(person);
  131.             }
  132.             if (e.getSource() == deletePersonButton) {
  133.                 Person person = personPanel.getModel();
  134.                 personList.setSelectedIndex(personList.getFirstVisibleIndex());
  135.                 model.removeElement(person);
  136.                 personPanel.setModel((Person) personList.getSelectedValue());
  137.             }
  138.         }
  139.        
  140.     }
  141.    
  142.    
  143. public class PersonRenderer implements ListCellRenderer {
  144.  
  145.     @Override
  146.     public Component getListCellRendererComponent(JList arg0, Object arg1,
  147.             int arg2, boolean arg3, boolean arg4) {
  148.         // TODO Auto-generated method stub
  149.         return null;
  150.     }
  151.    
  152. }
  153.    
  154.    
  155.    
  156. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement