blob: c4ee12b0239fc4bf75cb203360157bf74d988a13 (
plain) (
blame)
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
|
package org.openslx.dozmod.gui.control.table;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import java.beans.PropertyChangeEvent;
import java.beans.PropertyChangeListener;
import javax.swing.JScrollPane;
import javax.swing.JTable;
/**
* Extended JScrollPane
* - make de-selection by clicking on empty space possible
* - transfer focus to table when clicking on empty space
* - make the scroll pane's background color match that of the JTable.
*/
@SuppressWarnings("serial")
public class QScrollPane extends JScrollPane {
public QScrollPane(final JTable view) {
super(view);
this.addMouseListener(new MouseAdapter() {
@Override
public void mouseReleased(MouseEvent e) {
view.clearSelection();
view.requestFocus();
}
});
PropertyChangeListener listener = new PropertyChangeListener() {
@Override
public void propertyChange(PropertyChangeEvent evt) {
if (getViewport() == null)
return;
getViewport().setBackground(view.getBackground());
}
};
view.addPropertyChangeListener("background", listener);
listener.propertyChange(null);
}
}
|