JCheckBox: Focus sichtbar

d_bettzuege

Grünschnabel
Hallo,
ich habe ein Problem mit der Darstellung einer JCheckBox.

Wie kann ich die JCheckBox überreden, dass wenn sie gerade den Focus besitzt, irgendwie markiert wird?

Ich habe es schon mit Wechsel des LookAndFeels probiert. Aber ohne Erfolg. Eigentlich muss man doch erwarten, dass die Anzeige des Focus bei einer CheckBox auf jeden Fall gewünscht ist. Bei anderen Componenten funktioniert es doch auch.

Vielen Dank für eine Anwort!

di_be
 
Moin,

how about this?

Java:
import java.awt.Color;
import java.awt.FlowLayout;
import java.awt.event.FocusEvent;
import java.awt.event.FocusListener;

import javax.swing.JCheckBox;
import javax.swing.JFrame;


public class Sandkasten extends JFrame{

	JCheckBox[] box = new JCheckBox[2];
	
	public Sandkasten(){
		this.setLayout(new FlowLayout());
		this.setSize(320, 240);
		setBoxes();
	}
	
	private void setBoxes(){
		for(int i=0;i<box.length;i++){
			box[i] = new JCheckBox("Box "+i);
			box[i].addFocusListener(new MyAction());
			this.add(box[i]);
		}
	}
	
	class MyAction implements FocusListener{
		public MyAction(){
			
		}

		public void focusGained(FocusEvent e) {
			((JCheckBox)e.getSource()).setBackground(Color.RED);
			
		}

		public void focusLost(FocusEvent e) {
			((JCheckBox)e.getSource()).setBackground(Sandkasten.this.getBackground());
		}
	}
	
	public static void main(String args[]){
		new Sandkasten().setVisible(true);
	}
}
 
Zurück