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.
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:
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.
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.;
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
