Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package oving2;
- import java.awt.Component;
- import java.awt.GridBagConstraints;
- import java.awt.event.ActionEvent;
- import java.awt.event.ActionListener;
- import javax.swing.DefaultListModel;
- import javax.swing.JButton;
- import javax.swing.JFrame;
- import javax.swing.JList;
- import javax.swing.JPanel;
- import javax.swing.ListCellRenderer;
- import javax.swing.event.ListSelectionEvent;
- import javax.swing.event.ListSelectionListener;
- public class PersonListPanel extends JPanel {
- private JList personList;
- private PersonPanel personPanel;
- private JButton newPersonButton;
- private DefaultListModel model;
- private JButton deletePersonButton;
- public PersonListPanel(JList personList, PersonPanel personPanel,
- DefaultListModel model) {
- super();
- this.personList = personList;
- this.personList.setModel(model);
- this.personList.setName("personList");
- this.personList.addListSelectionListener(new JListListener());
- this.newPersonButton = new JButton("Create new Person");
- this.newPersonButton.setName("newPersonButton");
- this.newPersonButton.addActionListener(new JButtonListener());
- this.deletePersonButton = new JButton("Delete this person");
- this.deletePersonButton.setName("deletePersonButton");
- this.deletePersonButton.addActionListener(new JButtonListener());
- this.personPanel = personPanel;
- this.personPanel.setName("personPanel");
- this.model = model;
- GridBagConstraints gridBagConstraints = new GridBagConstraints();
- gridBagConstraints = new java.awt.GridBagConstraints();
- gridBagConstraints.gridx = 0;
- gridBagConstraints.gridy = 0;
- gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST;
- gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
- gridBagConstraints.insets = new java.awt.Insets(5, 5, 5, 5);
- add(personList, gridBagConstraints);
- gridBagConstraints = new java.awt.GridBagConstraints();
- gridBagConstraints = new java.awt.GridBagConstraints();
- gridBagConstraints.gridx = 1;
- gridBagConstraints.gridy = 0;
- gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST;
- gridBagConstraints.insets = new java.awt.Insets(5, 5, 5, 5);
- add(personPanel, gridBagConstraints);
- gridBagConstraints = new java.awt.GridBagConstraints();
- gridBagConstraints.gridx = 0;
- gridBagConstraints.gridy = 1;
- gridBagConstraints.anchor = java.awt.GridBagConstraints.EAST;
- gridBagConstraints.insets = new java.awt.Insets(5, 5, 5, 5);
- add(newPersonButton, gridBagConstraints);
- gridBagConstraints = new java.awt.GridBagConstraints();
- gridBagConstraints.gridx = 1;
- gridBagConstraints.gridy = 1;
- gridBagConstraints.anchor = java.awt.GridBagConstraints.EAST;
- gridBagConstraints.insets = new java.awt.Insets(5, 5, 5, 5);
- add(deletePersonButton, gridBagConstraints);
- }
- public void setModel(DefaultListModel model) {
- this.model = model;
- }
- public DefaultListModel getModel() {
- return this.model;
- }
- public static void main(String[] args) {
- PersonPanel personPanel = new PersonPanel();
- JList list = new JList();
- DefaultListModel defaultListModel = new DefaultListModel();
- defaultListModel.addElement(new Person("Dag", "21071989", Gender.MALE, "daginge@gmail.com", 193));
- defaultListModel.addElement(new Person("Dag-Inge", "21071989", Gender.MALE, "daginge@gmail.com", 193));
- defaultListModel.addElement(new Person("Dag-Inge Aas", "21071989", Gender.MALE, "daginge@gmail.com", 193));
- PersonListPanel personListPanel = new PersonListPanel(list, personPanel, defaultListModel);
- personListPanel.setModel(defaultListModel);
- JFrame mainPanel = new JFrame();
- GridBagConstraints gridBagConstraints = new GridBagConstraints();
- mainPanel.setTitle("Γving 2 - PersonPanel");
- mainPanel.setContentPane(personListPanel);
- mainPanel.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
- mainPanel.pack();
- mainPanel.setVisible(true);
- }
- public class JListListener implements ListSelectionListener {
- @Override
- public void valueChanged(ListSelectionEvent e) {
- if (!personList.isSelectionEmpty()) {
- personPanel.setModel((Person) personList.getSelectedValue());
- }
- else {
- personPanel.setModel(null);
- }
- }
- }
- public class JButtonListener implements ActionListener {
- @Override
- public void actionPerformed(ActionEvent e) {
- if (e.getSource() == newPersonButton) {
- Person person = new Person();
- model.addElement(person);
- personList.setSelectedValue(person, true);
- personPanel.setModel(person);
- }
- if (e.getSource() == deletePersonButton) {
- Person person = personPanel.getModel();
- personList.setSelectedIndex(personList.getFirstVisibleIndex());
- model.removeElement(person);
- personPanel.setModel((Person) personList.getSelectedValue());
- }
- }
- }
- public class PersonRenderer implements ListCellRenderer {
- @Override
- public Component getListCellRendererComponent(JList arg0, Object arg1,
- int arg2, boolean arg3, boolean arg4) {
- // TODO Auto-generated method stub
- return null;
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement