Constellation Knowledge Network - Preguntas y respuestas sobre Bagua - En la JList de java Swing, haga clic en un elemento y automáticamente se marcará al frente. ¿Qué necesitas hacer para obtener un ejemplo o una idea? Pidiendo ayuda a los expertos.

En la JList de java Swing, haga clic en un elemento y automáticamente se marcará al frente. ¿Qué necesitas hacer para obtener un ejemplo o una idea? Pidiendo ayuda a los expertos.

La lista de clases públicas extiende JFrame {

Lista pública(){

super(" Lista de verificación de AK ");

String[] listData = { "Apple" , "naranja", "cereza", "arándano", "plátano", "ciruela roja", "sandía" };

Prueba {

ui manager . .getsystemlookandfeelclassname());

} catch(Exception e) {

System.out.println("Apariencia del sistema no encontrada");

}

casilla de verificación de la lista JList final = new JList(buildCheckBoxItems(datos de la lista. longitud));

Descripción de la lista JList final = new JList(datos de la lista)

descripción de la lista. setselectionmode(ListSelectionModel. Selección de radio);

descripción de la lista. addmouse oyente(nuevo MouseAdapter() {

clic del mouse vacío público (evento del mouse){

if (me.getClickCount()!= 2) {

Return;

}

int selectedIndex = lista de descripción de ubicación para indexar(me . get point());

if(selectedIndex & lt; 0) {

Return;

}

CheckBoxItem elemento =( CheckBoxItem)casilla de verificación de lista. obtener modelo(). getElementAt(selectedIndex);

item.setChecked(!item. está marcado());

repintar casilla de verificación();

}

});

listCheckBox.setCellRenderer(new checkbox renderer());

list checkbox . Selección de radio);

listCheckBox.addMouseListener(new MouseAdapter() {

clic del mouse en vacío público (evento del mouse yo){

int selectedIndex = lista de casilla de verificación. ubicación a indexar(me . get point());

if(selectedIndex & lt; 0) {

return;

}

CheckBoxItem elemento =(CheckBoxItem)casilla de verificación de lista obtener modelo().

getElementAt(selectedIndex);

item.setChecked(!item . is check());

descripción de la lista setselectedindex(selectedIndex);

casilla de verificación de la lista. repaint();

}

});

Panel de desplazamiento JScrollPane = new JScrollPane();

panel de desplazamiento setrowheaderview(. casilla de verificación de lista);

panel de desplazamiento . setviewportview(descripción de lista);

descripción de lista . setfixedcellheight(20); casilla de verificación de lista . getfixedcellheight());

casilla de verificación de lista setfixedcellwidth(20);

getContentPane(). agregar(panel de desplazamiento); //, BorderLayout. Centro);

setSize(350, 200);

establecer visible(true);

}

elemento de casilla de verificación privada[] crear elementos de casilla de verificación (elementos totales de int){

elemento de casilla de verificación[]elementos de casilla de verificación = nuevo elemento de casilla de verificación[elementos totales];

for(int contador = 0; contador & lt total de elementos ;Contador++) {

elementos de casilla de verificación[contador]= nuevo elemento de casilla de verificación();

}

Devolver elementos de casilla de verificación

}

Public static void main(String args[]) {

Lista de verificación = nueva lista de verificación();

lista de verificación addwindowlistener(nuevo adaptador de ventana()){

cierre de ventana nula pública (evento de ventana nosotros){

system exit(0);

}

});

}

Clase CheckboxItem{

Valor booleano privado marcado;

CheckboxItem público() {

isChecked = false

}

Public Boolean isChecked() {

Devolución isChecked

}

public void setChecked(Boolean valor){

isChecked = valor

}

}

/* Establecer JCheckBox Clase interna presentada a JList */

La clase CheckBoxRenderer extiende JCheckBox e implementa ListCellRenderer {

Public checkboxRenderer() {

set background(ui manager. getcolor(" list . text background "));

set foreground(ui manager . getcolor(" list . text foreground "));

}

Componente público getListCellRendererComponent(JList listBox, Object obj, int currentindex,

Booleano isChecked, booleano hasFocus) {

setSelected(((CheckBoxItem) obj).

está marcado());

Devuelve esto;

}

}

}

Además, Es más fácil usar una tabla de una sola columna y ocultar las filas subrayadas.

上篇: Las habilidades de Zhao Yun en las Cinco Compañías de la Edición Estratégica de los Tres Reinos 下篇: Soñar con conducir un carruaje e interpretarlo_¿Qué significa soñar con conducir un carruaje e interpretarlo?
Artículos populares