Jak utworzyć pole listy w aplikacji Swing?

May 12, 2025Zostaw wiadomość

W dziedzinie aplikacji Java Swing pola listy są nieocenionymi komponentami, które pozwalają użytkownikom wybrać jeden lub więcej elementów z listy. Jako zaufany dostawca listy, byłem świadkiem z pierwszej ręki mocy transformacyjnej dobrze zaprojektowanych skrzynek listy w ulepszaniu interfejsów użytkowników. W tym poście na blogu poprowadzę Cię przez proces tworzenia pole listy w aplikacji Swing, od podstaw po bardziej zaawansowane konfiguracje.

Impeller 2

Wymagania wstępne

Zanim zagłębimy się w tworzenie pole listy, musisz mieć podstawowe zrozumienie programowania Java i biblioteki Java Swing. Swing to zestaw narzędzi Widget GUI (graficzny interfejs użytkownika) dla Java. Zapewnia bogaty zestaw komponentów, których można użyć do tworzenia aplikacji atrakcyjnych wizualnie i przyjaznych użytkowników.

Tworzenie podstawowego pola listy

Zacznijmy od najprostszej formy tworzenia pole listy. Poniższy kod Java pokazuje, jak utworzyć podstawowe pole listy z kilkoma przykładowymi elementami:

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

Klasa public BasicListBoxExample {public static void main (String [] args) {// Utwórz jframe jframe frame = new Jframe („Podstawowy pole listy przykład”); frame.setDefaultCloseoperation (jframe.exit_on_close); rama. Setsize (300, 200);

// Utwórz tablicę elementów dla String pola listy [] Items = {„pozycja 1”, „pozycja 2”, „pozycja 3”, „pozycja 4”}; // Utwórz jlist (pole listy) z elementami Jlist <String> ListBox = new JList <> (Items); // Utwórz jscrollpane, aby uczynić pole listy przewijane JScrollpane scrollpane = new JScrollpane (ListBox); // Dodaj okienek Scroll do ramki ramki // uczyń ramkę widzialną ramkę.setVisible (true); }

} ``

W tym kodzie najpierw tworzymyJframe, który jest głównym oknem naszej aplikacji huśtawki. Następnie definiujemy szereg ciągów, które będą służyć jako elementy w naszym polu listy. .JlistKonstruktor uważa tę tablicę jako argument do utworzenia pole listy. Ponieważ pole listy może zawierać więcej elementów, niż może zmieścić się w widocznym obszarze, owijamy je wJscrollpaneaby był przewijany. Na koniec dodajemy panel przewijania do ramki i sprawiamy, że ramka jest widoczna.

Dostosowywanie pole listy

Podstawowe pole listy, które utworzyliśmy powyżej, jest funkcjonalne, ale może nie spełniać wszystkich wymagań Twojej aplikacji. Swing zapewnia kilka sposobów dostosowania wyglądu i zachowania pola listy.

Wybieranie elementów

Domyślnie pole listy umożliwia tryb selekcji pojedynczej. Możesz jednak zmienić go w tryb wyboru wielokrotnego. Oto jak:

0061

java // Utwórz jlist jlist <string> ListBox = new JList <> (Items); // Ustaw tryb wyboru na liście wielokrotnego wyboru

W tym kodzie używamysetSelectionModeMetodaJlistklasa. .ListSelectionModel.Multiple_Interval_Selectionstała pozwala użytkownikowi wybrać wiele nietypowych elementów w polu listy.

Renderowanie przedmiotów

Możesz także dostosować sposób wyświetlania elementów w polu listy. Na przykład możesz wyświetlać obrazy wraz z tekstem. Aby to zrobić, musisz utworzyć niestandardowy renderer komórki. Oto prosty przykład:

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

klasa CustomListCellRenderer rozszerza DefaultListCellRenderer {@Override public Component getListCellRendeRComponent (Jlist <?> Lista, wartość obiektu, indeks int, boolean issececed, boolean cellHasfocus) {component c = super.getListCellRenderComponent (lista, wartość, indeks, indeks, cellhasfocus); if (indeks % 2 == 0) {c.setbackground (color.light_gray); } else {c.setbackground (color.White); } return c; }}

Klasa public CustomListBoxExample {public static void main (string [] args) {jframe frame = new Jframe („Przykład listy niestandardowych”); frame.setDefaultCloseoperation (jframe.exit_on_close); rama. Setsize (300, 200);

String [] items = {„pozycja 1”, „pozycja 2”, „pozycja 3”, „pozycja 4”}; JList <String> ListBox = new JList <> (Items); // Ustaw niestandardowe limbander renderer CELLOX.SetCellRenderer (nowy CustomListCellRenderer ()); Jscrollpane scrollpane = new JScrollpane (ListBox); frame.getContentPane (). add (Scrollpane, borderLayout.Center); frame.setVisible (true); }

} ``

W tym przykładzie tworzymy niestandardowy renderer komórki, rozszerzającDefaultListCellRendererklasa. ZastępujemyGetListCell Renderer ComponentMetoda zmiany koloru tła każdego innego elementu w polu listy.

Praca z modelami danych

W bardziej złożonych aplikacjach możesz użyć modelu danych do zarządzania elementami w polu listy. .DefaultListModelKlasa to wygodny sposób na to. Oto przykład:

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

Klasa public DataModelListBoxExample {public static void main (String [] args) {jframe frame = new Jframe („Przykład listy modelu danych przykład”); frame.setDefaultCloseoperation (jframe.exit_on_close); rama. Setsize (300, 200);

// Utwórz DefaultListModel DefaultListModel <String> Listmodel = new DefaultListModel <> (); Listmodel.adDelement („Item A”); Listmodel.adDelement („Item B”); Listmodel.adDelement („Item C”); // Utwórz jlist z modelem danych Jlist <String> ListBox = new JList <> (ListModel); Jscrollpane scrollpane = new JScrollpane (ListBox); frame.getContentPane (). add (Scrollpane, borderLayout.Center); frame.setVisible (true); }

} ``

Korzystanie z modelu danych umożliwia łatwe dodawanie, usuwanie lub modyfikowanie elementów w polu listy w czasie wykonywania.

Integracja z prawdziwymi aplikacjami światowymi

Jako dostawca pole listy rozumiem, że pola listy są często używane w prawdziwych aplikacjach światowych do wyświetlania i zarządzania różnymi rodzajami danych. Na przykład w aplikacji do zarządzania częściami maszynowymi możesz użyć pole listy do wyświetlania różnych części, takich jakWirnik 1WWirnik 2, IRura wodna odsalania.

0413

Oto prosty przykład, w jaki sposób możesz zintegrować pole listy z aplikacją do zarządzania częściami maszyn płynnych:

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

Desalination Water Pipe

public Class FluidMachineryPartsListBoxExample {public static void main (string [] args) {jframe frame = new Jframe („Fluid Machinery Parts List Box”); frame.setDefaultCloseoperation (jframe.exit_on_close); rama. Setsize (300, 200);

DefaultListModel <String> częścimodel = new DefaultListModel <> (); PartsModel.adDelement („wirnik 1”); PartsModel.adDelement („wirnik 2”); PartsModel. JList <String> części LISTBOX = new JList <> (PartsModel); Jscrollpane scrollpane = new JScrollpane (PartsListbox); frame.getContentPane (). add (Scrollpane, borderLayout.Center); frame.setVisible (true); }

} ``

Wniosek

Utworzenie pole listy w aplikacji Swing jest prostym procesem, ale oferuje wysoki stopień elastyczności i dostosowywania. Niezależnie od tego, czy budujesz prostą aplikację, czy złożony system przedsiębiorstwa - poziomy, pola listy mogą znacznie zwiększyć wrażenia użytkownika.

Jako dostawca pola listy jestem zaangażowany w dostarczanie wysokiej jakości komponentów listy, które są niezawodne i łatwe do zintegrowania z aplikacjami Swing. Jeśli chcesz zbadać nasze oferty listy lub masz pytania dotyczące tworzenia pól listy w swoich projektach, zachęcam do skontaktowania się z nami w celu uzyskania zamówień i dalszych dyskusji.

Odniesienia

  • „Effection Java” Joshua Bloch
  • „Java Swing: A dla początkujących” Herberta Schildta