Ratkaistu: javafx kuinka saada valittu hakemisto valitusta elementistä listanäkymässä

Viimeisin päivitys: 09/11/2023
Kirjoittaja: Java SourceTrail

kuinka saada valittu hakemisto valitusta elementistä listanäkymässä Nykypäivän nopeatempoisten verkkosovellusten ja käyttöliittymien maailmassa yleinen mobiili- ja verkkosovelluksissa kohtaamamme komponentti on ListView. ListView on laajalti käytetty käyttöliittymäkomponentti, joka näyttää luettelon kohteista vieritettävällä tavalla. Yksi yleisimmistä ListView-näkymään liittyvistä kysymyksistä on, kuinka valitun elementin valittu indeksi saadaan. Tässä artikkelissa aiomme tutkia ratkaisua tähän ongelmaan sekä perusteellisen analyysin ja vaiheittaisen selityksen vaadittavasta Java-koodista.

Tämän ongelman ratkaisemiseksi käytämme Java-ohjelmointikieltä ja työskentelemme siihen liittyvien kirjastojen ja käyttöliittymäkomponenttien kanssa. Käymme läpi koodin toteutuksen ja keskustelemme prosessiin liittyvistä eri toiminnoista ja kirjastoista. Tämän artikkelin loppuun mennessä saat syvän ymmärryksen valitun hakemiston noutamisesta Java-luettelonäkymästä.

Java Swing- ja ListView-komponentit

Java Swing on joukko Java-kirjastoja, jotka tarjoavat GUI:n (Graphical User Interface) ja muita käyttöliittymäkomponentteja Java-sovelluksiin. Swing tarjoaa erilaisia ​​käyttöliittymäkomponentteja nimeltä widgetit joita voit käyttää sovelluksissasi, kuten painikkeissa, tarroissa, tekstikentissä ja luettelonäkymässä. Java Swingin ListView-komponentti tunnetaan nimellä JList.

Sukellaan nyt pääongelmaamme: valitun elementin valitun indeksin hankkimiseen ListView-näkymästä.

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

public class ListViewExample {
    public static void main(String[] args) {
        JFrame frame = new JFrame("ListView Example");
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.setSize(300, 200);

        DefaultListModel<String> listModel = new DefaultListModel<>();
        listModel.addElement("Item 1");
        listModel.addElement("Item 2");
        listModel.addElement("Item 3");

        JList<String> listView = new JList<>(listModel);
        JScrollPane scrollPane = new JScrollPane(listView);

        listView.addListSelectionListener(new ListSelectionListener() {
            public void valueChanged(ListSelectionEvent e) {
                if (!e.getValueIsAdjusting()) {
                    int selectedIndex = listView.getSelectedIndex();
                    System.out.println("Selected index: " + selectedIndex);
                }
            }
        });

        frame.getContentPane().add(scrollPane);
        frame.setVisible(true);
    }
}

Yllä olevassa koodissa tuomme ensin tarvittavat Java Swing -kirjastot ja tapahtumankäsittelyluokat. Seuraavaksi luomme yksinkertaisen JFramen, jossa on a JList komponentti ListView:n luomiseen.

Tapahtumankäsittely ja ListSelectionListener

Saadaksemme valitun indeksin JLististä, meidän on toteutettava tapahtumakäsittelijä. Java Swingissä tapahtumien käsittely tapahtuu konseptin kautta kuuntelijoita. Kuuntelijat ovat Java-rajapintoja, jotka määrittelevät menetelmät tiettyjen tapahtumien käsittelemiseksi. Meidän tapauksessamme käytämme ListSelectionListener käyttöliittymä listavalintatapahtuman käsittelemiseen.

ListSelectionListener-käyttöliittymässä on yksi menetelmä nimeltään valueChanged(ListSelectionEvent e). Tätä menetelmää kutsutaan aina, kun käyttäjä valitsee luettelokohteen tai poistaa valinnan luettelonäkymästä. ValueChanged-menetelmässä tarkistamme ensin, onko arvonmuutosprosessi valmis e.getValueIsAdjusting() välttääksesi päällekkäisiä tapahtumia, ja nouta sitten valittu hakemisto käyttämällä listView.getSelectedIndex().

Kun tapahtumakäsittely on toteutettu, valitun elementin valittu indeksi tulostetaan konsoliin, kun käyttäjä napsauttaa kohdetta ListView-näytössä.

Lopuksi, olemme käyneet läpi prosessin, jossa valitut hakemistot hankitaan Javassa olevasta ListView'sta, Java Swingin JList-komponentin avulla ja tapahtumien käsittely ListSelectionListener-rajapinnan kautta. Tämä yksityiskohtainen selitys kirjastojen ja toimintojen ohella auttaa ratkaisemaan samanlaisia ​​ongelmia ja rikastuttamaan Java-ohjelmointitietoasi.

Related viestiä: