Comment créer une zone de liste dans une application swing?

May 12, 2025Laisser un message

Dans le domaine des applications de swing Java, les boîtes de liste sont des composants inestimables qui permettent aux utilisateurs de sélectionner un ou plusieurs éléments dans une liste. En tant que fournisseur de boîtes de liste de confiance, j'ai été témoin de première main la puissance transformatrice des boîtes de liste bien conçues pour améliorer les interfaces utilisateur. Dans cet article de blog, je vous guiderai à travers le processus de création d'une zone de liste dans une application Swing, des bases aux configurations plus avancées.

Impeller 2

Condition préalable

Avant de plonger dans la création d'une zone de liste, vous devrez avoir une compréhension de base de la programmation Java et de la bibliothèque de swing Java. Swing est une boîte à outils Widget GUI (interface utilisateur graphique) pour Java. Il fournit un riche ensemble de composants qui peuvent être utilisés pour créer des applications visuellement attrayantes et conviviales.

Création d'une zone de liste de base

Commençons par la forme la plus simple de créer une zone de liste. Le code Java suivant montre comment créer une zone de liste de base avec quelques exemples d'éléments:

`` `Java import javax.swing.; Importer Java.awt.;

classe publique BasicListBoxExample {public static void main (String [] args) {// Créer un jframe jFrame frame = new JFrame ("Basic List Box Exemple"); frame.setDefaultCloseOperation (jframe.exit_on_close); frame.SetSize (300, 200);

// Créez un tableau d'éléments pour la chaîne de boîte de liste [] items = {"Item 1", "Item 2", "Item 3", "Item 4"}; // Créer un jlist (liste de liste) avec les éléments jlist <string> listbox = new JList <> (items); // Créez un jscrollpane pour rendre la boîte de liste Scrollable jscrollpane scrollPane = new JSCrollPane (listbox); // Ajouter le volet Sroll au cadre Frame.getContentPane (). Add (ScrollPane, BorderLayout.Center); // Rendez le cadre Visible Frame.SetVisible (true); }

} ``

Dans ce code, nous créons d'abord unJframe, qui est la fenêtre principale de notre application de swing. Ensuite, nous définissons un tableau de chaînes qui serviront d'objets dans notre zone de liste. LeJlistLe constructeur prend ce tableau comme argument pour créer la zone de liste. Étant donné que la zone de liste peut contenir plus d'éléments que ce qui peut s'inscrire dans la zone visible, nous l'enveloppez dans unJscrollpanepour le faire défiler. Enfin, nous ajoutons le volet de défilement dans le cadre et rendons le cadre visible.

Personnalisation de la zone de liste

La zone de liste de base que nous avons créée ci-dessus est fonctionnelle, mais elle pourrait ne pas répondre à toutes les exigences de votre application. Swing fournit plusieurs façons de personnaliser l'apparence et le comportement d'une zone de liste.

Sélection des articles

Par défaut, une zone de liste permet un mode de sélection unique. Cependant, vous pouvez le changer en mode de sélection multiple. Voici comment:

0061

java // Créer un jlist jlist <string> listbox = new JList <> (items); // Définissez le mode de sélection sur plusieurs sélections ListBox.SetselectionMode (ListSelectionModel.Multiple_Interval_Selection);

Dans ce code, nous utilisons leSetSelectionmodeMéthode de laJlistclasse. LeListselectionmodel.multiple_interval_selectionConstant permet à l'utilisateur de sélectionner plusieurs éléments non contigus dans la zone de liste.

Rendre des articles

Vous pouvez également personnaliser la façon dont les éléments sont affichés dans la zone de liste. Par exemple, vous voudrez peut-être afficher des images avec du texte. Pour ce faire, vous devez créer un rendu de cellules personnalisés. Voici un exemple simple:

`` `Java import javax.swing.; Importer Java.awt.;

classe CustomListCellRenderrer étend defaultListCellRenderrer {@Override Public Component getListCellRenderComponent (JList <?> List, Value, Int Index, Boolean ISSelected, Boolean CellHasfocus) {Component C = super.getListCellRenderComponent (liste, valeur, index, Inslected, CellHasfocus); if (index% 2 == 0) {C.SetBackground (Color.light_Gray); } else {C.SetBackground (Color.White); } return c; }}

classe publique CustomListBoxExample {public static void main (String [] args) {jframe frame = new JFrame ("Custom list box Example"); frame.setDefaultCloseOperation (jframe.exit_on_close); frame.SetSize (300, 200);

String [] items = {"item 1", "item 2", "item 3", "item 4"}; Jlist <string> listbox = new JList <> (items); // Définissez le rendu de cellule personnalisé Listbox.SetCellRenderrer (nouveau CustomListCelleRenderer ()); JscrollPane ScrollPane = new JscrollPane (listbox); frame.getContentPane (). Add (ScrollPane, BorderLayout.Center); frame.setVisible (true); }

} ``

Dans cet exemple, nous créons un rendu de cellules personnalisés en étendant leDefaultListCellRendererclasse. Nous l'emportons sur leComposant GetListCell RendererMéthode pour modifier la couleur d'arrière-plan de tous les autres éléments de la zone de liste.

Travailler avec des modèles de données

Dans des applications plus complexes, vous souhaiterez peut-être utiliser un modèle de données pour gérer les éléments de la zone de liste. LeDefaultListModelLa classe est un moyen pratique de le faire. Voici un exemple:

`` `Java import javax.swing.; Importer Java.awt.;

classe publique DatamodelListBoxExample {public static void main (String [] args) {jFrame frame = new JFrame ("Data Model List Box Example"); frame.setDefaultCloseOperation (jframe.exit_on_close); frame.SetSize (300, 200);

// Créer un defaultListModel defaultListModel <string> listModel = new defaultListModel <> (); listModel.addelement ("item a"); listModel.Addelement ("Item B"); listModel.Addelement ("Item C"); // Créez un jlist avec le modèle de données jlist <string> listbox = new JList <> (listModel); JscrollPane ScrollPane = new JscrollPane (listbox); frame.getContentPane (). Add (ScrollPane, BorderLayout.Center); frame.setVisible (true); }

} ``

L'utilisation d'un modèle de données vous permet d'ajouter, de supprimer ou de modifier facilement les éléments dans la zone de liste lors de l'exécution.

Intégrer avec les applications réelles - mondiales

En tant que fournisseur de boîtes de liste, je comprends que les boîtes de liste sont souvent utilisées dans des applications réelles - mondiales pour afficher et gérer différents types de données. Par exemple, dans une application de gestion de pièces de machines fluides, vous pouvez utiliser une zone de liste pour afficher différentes pièces telles queRenvoi 1,Renvoi 2, etPipe d'eau de dessalement.

0413

Voici un exemple simple de la façon dont vous pouvez intégrer une zone de liste dans une application de gestion de pièces de machines fluides:

`` `Java import javax.swing.; Importer Java.awt.;

Desalination Water Pipe

classe publique FluidMachineryPartsListBoxExample {public static void main (String [] args) {jFrame frame = new JFrame ("Fluid Machinery Pides List Box"); frame.setDefaultCloseOperation (jframe.exit_on_close); frame.SetSize (300, 200);

DefaultListModel <string> PartsModel = new defaultListModel <> (); PartsModel.Addelement ("Renforce 1"); PartsModel.AdDelement ("Renvoi 2"); PartsModel.Addelement ("Pipe d'eau de dessalement"); Jlist <string> PartsListbox = new JList <> (PartsModel); JscrollPane ScrollPane = new JscrollPane (PartSlistBox); frame.getContentPane (). Add (ScrollPane, BorderLayout.Center); frame.setVisible (true); }

} ``

Conclusion

La création d'une zone de liste dans une application swing est un processus simple, mais il offre un degré élevé de flexibilité et de personnalisation. Que vous créiez une application simple ou un système de niveau d'entreprise complexe, les boîtes de liste peuvent améliorer considérablement l'expérience utilisateur.

En tant que fournisseur de boîtes de liste, je m'engage à fournir des composants de boîte de liste de haute qualité qui sont fiables et faciles à intégrer dans vos applications de swing. Si vous êtes intéressé à explorer nos offres de boîtes de liste ou à avoir des questions sur la création de boîtes de liste dans vos projets, je vous encourage à nous contacter les achats et les discussions supplémentaires.

Références

  • "Java efficace" par Joshua Bloch
  • "Java Swing: A débutant's Guide" par Herbert Schildt