-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathJXCellRenderer.java
More file actions
45 lines (38 loc) · 1.27 KB
/
JXCellRenderer.java
File metadata and controls
45 lines (38 loc) · 1.27 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
package nl.hz.ict.ding0033.jxplorer;
import java.awt.Color;
import java.awt.Component;
import javax.swing.JLabel;
import javax.swing.JList;
import javax.swing.ListCellRenderer;
/**
* Dit is de klasse die de Listcelrenderer beheert.
*
* @author Mark Dingemanse
* @version 0,1 Concept
*/
class JXCellRenderer extends JLabel implements ListCellRenderer<Object> {
private static final long serialVersionUID = 1L;
// zet de color voor het JLabel wanneer selected in mijn geval wanneer hover
private static final Color HIGHLIGHT_COLOR = new Color(0, 0, 128);
// de constructor voor de cellrenderer en zet een aantal default waarden
public JXCellRenderer() {
setOpaque(true);
setIconTextGap(12);
}
// zet voor elk object een naam en icon in een JLabel daarnaast wordt er gekeken of de entry geselecteerd is of niet
// tot slot word het huidige object gereturned.
public Component getListCellRendererComponent(JList<?> list, Object value,
int index, boolean isSelected, boolean cellHasFocus) {
JXploreFile entry = (JXploreFile) value;
setText(entry.getName());
setIcon(entry.getIcon());
if (isSelected) {
setBackground(HIGHLIGHT_COLOR);
setForeground(Color.white);
} else {
setBackground(Color.white);
setForeground(Color.black);
}
return this;
}
}