Scrollablejlist

Soyez le premier à donner votre avis sur cette source.

Vue 8 190 fois - Téléchargée 604 fois

Description

à mon début en java j'ai eu bcp de pblemes avec les JListes , alors voilà pour les débutants une classe réutilisable qui permet de construire une liste scrollable à partir d'un vecteur

observer bien le constructeur vous verrez que c'est pratik , du moins à mon avi :) corrigez moi si je me trompe :p

Source / Exemple :


import java.awt.event.*;
import javax.swing.*;
import java.util.*;
import java.awt.*;

class scrollableJList extends JList implements ActionListener{
	//Constructeur où v est un vecteur qui va remplir la liste
	// x0,y0 les cordonnées de départ
	//x et y sont les dimesions
	//container est le panneau ou la frame qui va contenir la liste
	//ici je prend en compte le cas ou vous utilisez  un container avec un layout null
	//le mode de selection ici c'est single
	// a vous de changer :)
	scrollableJList(Vector v,int x0,int y0,int x,int y,Container container){
		super(v);
		JScrollPane scrollPane = new JScrollPane(this);
	 	
	 	setSelectionMode(0);
	 	setSelectedIndex(0);
	 	setSize(x,y);
	 	scrollPane.setSize(x,y);
	 	if(container.getLayout()==null){
	 		setLocation(x0,y0);
	 		scrollPane.setLocation(x0,y0);
	 	}
	 	
	 	container.add(scrollPane);
	 	container.add(this);
	 	//pour les deux dernieres instructions attention :
	 	//si container est un élément swing remplacer container par container.getContentPane()	 	
	 	
	 	setFont(new java.awt.Font("Monospaced", 1, 12));//facultatif
	 }
	 
	 public void actionPerformed(ActionEvent evt){
	 	//code d'action selon ce que vous voulez
	 }
}

Conclusion :


il suffit pour utiliser cette classe de lui faire appel comme l'indique le constructeur et lui passer le Panel ou le container qui vas la contenir ; je ne pense pas que c difficile mais s'il y a un pb contacter moi :)

Codes Sources

Ajouter un commentaire Commentaire
Messages postés
30
Date d'inscription
vendredi 12 juillet 2002
Statut
Membre
Dernière intervention
15 mai 2009

Salut,

Bon alors qq remarques, parce que sinon d'autres débutants risquent de galérer un peu aussi:
- Tu n'as pas besoin d'ajouter au container le scrollpane et this... scrollpane suffit.
- D'ailleurs l'ajout au container au sein même de la classe, ça me semble pas top top.
- Ta classe réduit le nombre de constructeurs de JList à 1, c'est dommage...
- Tu ajoutes des "options" au hasard (size, location...) ?

Mon but n'est pas de remettre en cause ton boulot mais j'ai peur que certains soient un peu déconcertés.

// Ce code suffit amplement pour ce que tu veux faire
// Tu paramètres ensuite les "options" size, location... via l'objet maJScrollPane

final JList maJList = new JList(); // Là je peux utiliser n'importe quel constructeur
final JScrollPane maJScrollPane = new JScrollPane(maJList);
// Eventuellement:
// maJScrollPane.setLocation(x0, y0);
// maJScrollPane.setSize(x, y);
container.getContentPane().add(maJScrollPane);

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.

Du même auteur (tncoder)