Rechercher : dans
Par :

Jlist en java et selection

Dernière réponse le 15 déc 2003 à 14:12:46 sandrine, le 15 déc 2003 à 13:33:59 
 Signaler ce message aux modérateurs

Bonjour a tous, j'ai un problème en java. Je souhaite ajouter un jlist dan smon interface graphique en java, juske la tout va bien. Je peux selectionner les éléments de la liste en cliquant dessus.

Le problème c'est ke j'ai voulu ajouter des images en fonction des items, ca marche mais je ne peux pas selectionner un item de la liste avec la souris, en tout cas quand je cliques sur un item de la liste, il n'apparait pas kom étant sélectionné.

Voilà, si qqn a la réponse à mon pb, merci

Voila mon code :

import java.io.*;
import java.util.*;
import java.awt.*; // Affichage seul
import java.awt.event.*; // Affichage + événement
import javax.swing.*;
import javax.swing.event.*;
import java.lang.*;



public class ListeFic
{
private Vector list;
protected JList jlist;

public ListeFic()
{
list = new Vector();
list = initList();
jlist = new JList(list);
//jlist.setCellRenderer(new MyCellRenderer());

jlist.addMouseListener(new EcouteurListApp(this));

Frame myFrame;
myFrame = new Frame("Liste de fichiers");
myFrame.setSize(800, 600);
myFrame.add(jlist);

myFrame.setVisible(true); // Pour le rendre visible
myFrame.validate(); // Pour dire kon a finit

}

public Vector initList()
{
// on ouvre le fichier login en lecture

// FileReader fichier = new FileReader("login.txt");
// StreamTokenizer entree = new StreamTokenizer(fichier);

try
{
FileInputStream ips = new FileInputStream("login.txt");
InputStreamReader ipsr = new InputStreamReader(ips);
BufferedReader br = new BufferedReader(ipsr);
String ligne;

int i=0;

while ((ligne = br.readLine())!=null)
{
// lecture du 4ème champs du fichier
StringTokenizer st = new StringTokenizer(ligne,"\t");

String ch1 = st.nextToken();
String ch2 = st.nextToken();
String ch3 = st.nextToken();
String ch4 = st.nextToken();

if(ch4.equals("connect")) // si ce champs est à connect on récupère le login
{
list.add(i,ch1);
}
i++;

}// fin while

System.out.println("liste des gens connected :");

for(i=0;i<list.size();i++)
System.out.println(list.elementAt(i));

br.close();
}
catch (IOException e)
{
System.out.println(e.toString());
}

return list;
}

public static void main(String args[])
{
ListeFic l1 = new ListeFic();

System.out.println("\nFin du programme");
}
}

// Display an icon and a string for each object in the list.


class MyCellRenderer extends JLabel implements ListCellRenderer
{
final static ImageIcon longIcon = new ImageIcon("gdbouton.gif");
final static ImageIcon shortIcon = new ImageIcon("ptbouton.gif");

// This is the only method defined by ListCellRenderer.
// We just reconfigure the JLabel each time we're called.

public Component getListCellRendererComponent(
JList list,
Object value, // value to display
int index, // cell index
boolean isSelected, // is the cell selected
boolean cellHasFocus) // the list and the cell have the focus
{
String s = value.toString();
setText(s);
setIcon((s.length() > 10) ? longIcon : shortIcon);
if (isSelected)
{
setBackground(list.getSelectionBackground());
setForeground(list.getSelectionForeground());
}
else
{
setBackground(list.getBackground());
setForeground(list.getForeground());
}
//setEnabled(list.isEnabled());
setFont(list.getFont());
return this;
}
}

class EcouteurListApp extends MouseAdapter
{
ListeFic lf;

public EcouteurListApp(ListeFic plf)
{
lf = plf;
}

public void mouseEntered(MouseEvent e)
{
if (e.getClickCount() == 2)
{
int index = lf.jlist.locationToIndex(e.getPoint());
System.out.println("Double clicked on Item " + index);
}
}

public void mouseClicked(MouseEvent e)
{
if (e.getClickCount() == 2)
{
int index = lf.jlist.locationToIndex(e.getPoint());
System.out.println("Double clicked on Item " + index);
}
}
};

Meilleures réponses pour « jlist en java et selection » dans :
Installer Java sous Ubuntu VoirPar défaut, Firefox n'est pas fourni avec Java. Voici comment procéder pour l'installer: Ouvrez un terminal (Menu Applications > Accessoires > Terminal) et tapez: sudo aptitude install sun-java6-jre sun-java6-plugin ou sudo aptitude install ...
[Firefox] plugin Java Jre de Sun VoirA) Les différentes variantes Java chez Sun B) Installation sous Mandriva Limited Edition 2005 ETAPE 1 ETAPE 2: Création du lien symbolique C) Installation sous debian lenny D) Installation sous ubuntu hardy heron A) Les différentes...
[Debian] Liste des paquetages (packages) installés VoirIl est possible de lister l'ensemble des paquetages installés grâce à la commande : dpkg --get-selections Grâce à cet outil il est ainsi possible d'exporter la liste des paquetages installés de la manière suivante : dpkg --get-selections >...
Télécharger Java Runtime Environment VoirJava Runtime Environment (JRE) installe la machine virtuelle Java, permettant de jouer en ligne, de discuter avec des personnes dans le monde entier, de calculer les intérêts de votre prêt immobilier ou de visualiser des images en 3D. Ces...
Java - L'API JDBC VoirIntroduction à JDBC La technologie JDBC (Java DataBase Connectivity) est un ensemble de classes permettant de développer des applications capables de se connecter à des serveurs de bases de données (SGBD). L'accès aux bases de données avec...
Java - Les types de données VoirLes primitives Java est un langage orienté objet, c'est-à-dire que les éléments manipulés sont des classes, ou plus exactement des objets, c'est-à-dire des instances de classes. Toutefois ces objets contiennent des données possèdant un type (et...
Java - Premier programme VoirPremière application avec Java La première chose à faire est de créer un simple fichier texte (sans mise en forme) et de taper les quelques lignes suivantes : // Votre premiere application en Java class FirstApp { public static void main...

1

 philtrain, le 15 déc 2003 à 14:12:46

Bonjour,
est-ce qu'il ne vaudrait pas mieux implémenter un ListSelectionListener plutot qu'un MouseListener?

Répondre à philtrain
Collection CommentÇaMarche.net