Hallo, ich benötige eine Checkbox, welche nur auf Clicks auf die Checkbox direkt reagiert. Also sie soll sich nicht ändern, wenn jemand auf den dazugehörigen Text klickt.
Meine Checkbox wird in einem Tree gerendert, darum will ich dieses verhalten.
Ich habe deshalb die contains Methode überschrieben. Es funktioniert wunderbar in einem JFrame aber nicht in einem JTree. Das heisst, es muss noch mehr möglichkeite geben, den Wert zu ändern (selected oder nicht).
Meine Checkbox wird in einem Tree gerendert, darum will ich dieses verhalten.
Ich habe deshalb die contains Methode überschrieben. Es funktioniert wunderbar in einem JFrame aber nicht in einem JTree. Das heisst, es muss noch mehr möglichkeite geben, den Wert zu ändern (selected oder nicht).
Java:
public class TreeCheckbox extends JCheckBox {
public static void main(String[] args) {
JFrame frame = new JFrame();
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.add(new TreeCheckbox());
frame.pack();
frame.setVisible(true);
}
/**
* UID
*/
private static final long serialVersionUID = 1771678162240340513L;
@Override
public boolean contains(int x, int y) {
if(getX() + 20 < x) return false;
return super.contains(x, y);
}
@Override
public boolean contains(Point p) {
return contains(p.x, p.y);
}