Advertisement
Mikescher

PicSim - Breakpoints

May 14th, 2014
163
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.11 KB | None | 0 0
  1. package picsim.mvc.view;
  2.  
  3. import java.awt.Color;
  4. import java.awt.Component;
  5. import java.util.ArrayList;
  6. import java.util.List;
  7.  
  8. import javax.swing.JLabel;
  9. import javax.swing.JList;
  10. import javax.swing.ListCellRenderer;
  11.  
  12. public class BreakpointCellRenderer extends JLabel implements ListCellRenderer<String>{
  13.     private static final long serialVersionUID = -7082125848079406969L;
  14.  
  15.     public List<Integer> bplist = new ArrayList<>();
  16.    
  17.     private JList<String> ss;
  18.    
  19.     public BreakpointCellRenderer(JList<String> s) {
  20.         setOpaque(true);
  21.         ss = s;
  22.     }
  23.  
  24.     @Override
  25.     public Component getListCellRendererComponent(JList<? extends String> list, String value, int index, boolean isSelected, boolean cellHasFocus) {
  26.         setText(value.toString());
  27.  
  28.         if (bplist.contains(index)) setBackground(Color.RED);
  29.         else if (isSelected) setBackground(Color.CYAN);
  30.         else setBackground(Color.WHITE);
  31.  
  32.         return this;
  33.     }
  34.    
  35.     public void setThings(List<Integer> s) {
  36.         bplist = s;
  37.        
  38.         ss.repaint();
  39.     }
  40. }
  41.  
  42. //.........
  43.  
  44.     private DefaultTableModel table_model;
  45.     private JScrollPane scrollpane_code;
  46.  
  47.     private JList<String> list_code;
  48.     private DefaultListModel<String> listModel;
  49.     private BreakpointCellRenderer list_renderer;
  50.  
  51. //........
  52.  
  53.         listModel = new DefaultListModel<String>();
  54.         list_code = new JList<String>(listModel);
  55.  
  56.         list_code.addMouseListener(new MouseAdapter() {
  57.  
  58.             @Override
  59.             public void mouseClicked(MouseEvent e) {
  60.  
  61.                 if (e.getClickCount() == 2) {
  62.                     int temp = list_code.getSelectedIndex();
  63.  
  64.                     if (breakpoint_list.contains(temp)) {
  65.                         breakpoint_list.remove(breakpoint_list.indexOf(temp));
  66.                         updateBPCombobox();
  67.  
  68.                     } else {
  69.  
  70.                         breakpoint_list.add(temp);
  71.                         updateBPCombobox();
  72.                        
  73.  
  74.                     }
  75.                 }
  76.             }
  77.         });
  78.         list_renderer = new BreakpointCellRenderer(list_code);
  79.         list_code.setCellRenderer(list_renderer);
  80.  
  81. //......
  82.  
  83.     public void updateBPCombobox() {
  84.         breakpoints.setModel(new DefaultComboBoxModel<Integer>(breakpoint_list.toArray(new Integer[0])));
  85.         list_renderer.setThings(breakpoint_list);
  86.     }
  87.  
  88. //.....
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement