Maison > Java > javaDidacticiel > Comment connecter une JList dans un JPanel à un JTextPane dans un autre ?

Comment connecter une JList dans un JPanel à un JTextPane dans un autre ?

DDD
Libérer: 2024-12-07 15:11:16
original
851 Les gens l'ont consulté

How to Connect a JList in One JPanel to a JTextPane in Another?

Câblage d'un volet à un autre

Connexion de PaneWithList à la sortie

Dans la classe principale, Main.java, nous avons plusieurs volets, dont PaneWithList et Output . PaneWithList contient une JList qui affiche les données, tandis que Output est un JTextPane qui doit afficher les données sélectionnées dans la JList. La question se pose : comment pouvons-nous connecter PaneWithList à Output pour y parvenir ?

PropertyChangeSupport for Data Output

Une solution potentielle consiste à utiliser PropertyChangeSupport. Ce mécanisme permet à PaneWithList de déclencher un événement lorsqu'une ligne de la JList est sélectionnée. Main peut écouter cet événement et mettre à jour le Output JTextPane en conséquence.

Utiliser le modèle d'observateur pour la communication

Une autre approche consiste à utiliser le modèle d'observateur. Dans ce modèle, PaneWithList est un observable qui avertit ses observateurs lorsque les données changent. La sortie peut être un observateur qui écoute ces changements et se met à jour.

Exemple d'implémentation utilisant un modèle d'observateur

L'extrait de code fourni montre comment implémenter le modèle d'observateur pour connecter PaneWithList à Output :

import java.beans.PropertyChangeEvent;
import java.beans.PropertyChangeListener;

class ObserverPanel extends JPanel {

    private JLabel title = new JLabel("Value received: ");
    private JLabel label = new JLabel("null", JLabel.CENTER);

    public ObserverPanel() {
Copier après la connexion

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal