Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package picsim.mvc.view;
- import java.awt.Color;
- import java.awt.Component;
- import java.util.ArrayList;
- import java.util.List;
- import javax.swing.JLabel;
- import javax.swing.JList;
- import javax.swing.ListCellRenderer;
- public class BreakpointCellRenderer extends JLabel implements ListCellRenderer<String>{
- private static final long serialVersionUID = -7082125848079406969L;
- public List<Integer> bplist = new ArrayList<>();
- private JList<String> ss;
- public BreakpointCellRenderer(JList<String> s) {
- setOpaque(true);
- ss = s;
- }
- @Override
- public Component getListCellRendererComponent(JList<? extends String> list, String value, int index, boolean isSelected, boolean cellHasFocus) {
- setText(value.toString());
- if (bplist.contains(index)) setBackground(Color.RED);
- else if (isSelected) setBackground(Color.CYAN);
- else setBackground(Color.WHITE);
- return this;
- }
- public void setThings(List<Integer> s) {
- bplist = s;
- ss.repaint();
- }
- }
- //.........
- private DefaultTableModel table_model;
- private JScrollPane scrollpane_code;
- private JList<String> list_code;
- private DefaultListModel<String> listModel;
- private BreakpointCellRenderer list_renderer;
- //........
- listModel = new DefaultListModel<String>();
- list_code = new JList<String>(listModel);
- list_code.addMouseListener(new MouseAdapter() {
- @Override
- public void mouseClicked(MouseEvent e) {
- if (e.getClickCount() == 2) {
- int temp = list_code.getSelectedIndex();
- if (breakpoint_list.contains(temp)) {
- breakpoint_list.remove(breakpoint_list.indexOf(temp));
- updateBPCombobox();
- } else {
- breakpoint_list.add(temp);
- updateBPCombobox();
- }
- }
- }
- });
- list_renderer = new BreakpointCellRenderer(list_code);
- list_code.setCellRenderer(list_renderer);
- //......
- public void updateBPCombobox() {
- breakpoints.setModel(new DefaultComboBoxModel<Integer>(breakpoint_list.toArray(new Integer[0])));
- list_renderer.setThings(breakpoint_list);
- }
- //.....
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement