Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public class Person {
- private int height;
- private int weight;
- private String name;
- private Size size;
- public Person(int w, int h, String name, Size size) {
- weight = w;
- height = h;
- this.name = name;
- this.size = size;
- }
- public Size getSize() {
- return this.size;
- }
- public String toString() {
- return name +"(h=" + height + ",w=" + weight + ",size=" + size +")";
- }
- }
- public enum Size {
- XS,
- S,
- M,
- L,
- XL
- }
- import java.awt.Color;
- import java.awt.Component;
- import javax.swing.DefaultListCellRenderer;
- import javax.swing.JList;
- public class CellRendererPaint extends DefaultListCellRenderer {
- private static final long serialVersionUID = 1L;
- public Component getListCellRendererComponent(JList<?> list, Object value, int index, boolean isSelected,
- boolean cellHasFocus) {
- Person p = (Person) value;
- Component c = super.getListCellRendererComponent(list, value, index, isSelected, cellHasFocus);
- if(p.getSize() == Size.XS) c.setBackground(Color.GREEN);
- else if(p.getSize() == Size.XL) c.setBackground(Color.RED);
- return c;
- }
- }
- import java.awt.BorderLayout;
- import java.awt.Color;
- import java.awt.Dimension;
- import java.awt.FlowLayout;
- import java.awt.Font;
- import java.awt.GridLayout;
- import java.awt.event.ActionEvent;
- import java.awt.event.ActionListener;
- import java.awt.event.ComponentEvent;
- import java.awt.event.ComponentListener;
- import java.util.ArrayList;
- import java.util.LinkedList;
- import java.util.List;
- import java.util.Vector;
- import javax.swing.DefaultListCellRenderer;
- import javax.swing.DefaultListModel;
- import javax.swing.JButton;
- import javax.swing.JComboBox;
- import javax.swing.JFrame;
- import javax.swing.JLabel;
- import javax.swing.JList;
- import javax.swing.JPanel;
- import javax.swing.JScrollPane;
- import javax.swing.JSlider;
- import javax.swing.JTextArea;
- import javax.swing.JTextField;
- import javax.swing.ListCellRenderer;
- import javax.swing.ListSelectionModel;
- import javax.swing.border.TitledBorder;
- import javax.swing.event.ListSelectionEvent;
- import javax.swing.event.ListSelectionListener;
- import java.awt.Component;
- import javafx.scene.layout.Border;
- public class Program {
- public static void main(String[] args) {
- List<Person> persons = new ArrayList<Person>();
- DefaultListModel<Person> listModel = new DefaultListModel<>();
- JList<Person> personList;
- JFrame f = new JFrame("PERSONS");
- f.setLayout(new GridLayout(3,1,0,5));
- //panel1 + JList
- JPanel panel1 = new JPanel();
- panel1.setLayout(new BorderLayout());
- personList = new JList<>(listModel);
- panel1.add(new JScrollPane(personList,JScrollPane.VERTICAL_SCROLLBAR_ALWAYS, JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED),
- BorderLayout.CENTER);
- //
- f.add(panel1);
- personList.setCellRenderer(new CellRendererPaint());
- //panel2
- JPanel panel2 = new JPanel();
- panel2.setLayout(new GridLayout(2,1,0,5));
- JSlider s1 = new JSlider(JSlider.HORIZONTAL,100,200,150);
- JSlider s2 = new JSlider(JSlider.HORIZONTAL,40,120,60);
- s1.setName("Height");
- s1.setMajorTickSpacing(10);
- s1.setPaintLabels(true);
- s1.setBorder(new TitledBorder("Height[cm]"));
- s2.setName("Weight");
- s2.setMajorTickSpacing(10);
- s2.setPaintLabels(true);
- s2.setBorder(new TitledBorder("Weight[kg]"));
- s1.setPaintTicks(true);
- s2.setPaintTicks(true);
- panel2.add(s1,BorderLayout.CENTER);
- panel2.add(s2,BorderLayout.CENTER);
- //
- f.add(panel2);
- //panel3
- Size[] sizes = Size.values();
- JPanel panel3 = new JPanel();
- panel3.setLayout(new FlowLayout());
- JTextField namet = new JTextField();
- namet.setPreferredSize(new Dimension(160, 20));
- JLabel namel = new JLabel("Name:");
- JLabel sizel = new JLabel("Size:");
- panel3.add(namel,BorderLayout.CENTER);
- panel3.add(namet, BorderLayout.CENTER);
- panel3.add(sizel,BorderLayout.CENTER);
- JComboBox box = new JComboBox(sizes);
- panel3.add(box);
- JButton person = new JButton("Add Person");
- JButton exit = new JButton("Exit");
- panel3.add(person);
- panel3.add(exit);
- //
- f.add(panel3);
- person.addActionListener(new ActionListener() {
- @Override
- public void actionPerformed(ActionEvent e) {
- String name = namet.getText();
- Size size = (Size) box.getSelectedItem();
- int weight = s2.getValue();
- int height = s1.getValue();
- Person p = new Person(weight,height,name,size);
- listModel.addElement(p);
- }
- });
- exit.addActionListener(new ActionListener() {
- @Override
- public void actionPerformed(ActionEvent e) {
- System.exit(0);
- }
- });
- f.pack();
- f.setSize(500,350);
- f.setVisible(true);
- f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement