Szia! Swing Screen beszállítóként az utóbbi időben sok kérdést kapok azzal kapcsolatban, hogyan lehet osztott ablaktáblát hozzáadni a Swing Screenhez. Úgyhogy úgy gondoltam, hogy összeállítom ezt a blogbejegyzést, hogy megosszam néhány tippet és trükköt, amelyeket az évek során átvettem.
Először is, beszéljünk arról, hogy mi az osztott ablaktábla, és miért érdemes hozzáadni egyet a Swing Screenhez. Az osztott ablaktábla egy grafikus felhasználói felület összetevő, amely egy tárolót két vagy több átméretezhető altárolóra oszt fel. Ez rendkívül hasznos lehet a Swing Screen-ben, mert lehetővé teszi többféle információ megjelenítését egymás mellett, és a felhasználók az egyes szakaszok méretét igényeik szerint állíthatják be.
1. lépés: Az osztott ablaktáblák alapjainak megértése a Java Swing programban
A Java Swingben aJSplitPaneosztályt osztott ablaktáblák létrehozására használják. Két fő irányvonala van:HORIZONTAL_SPLITésVERTICAL_SPLIT. AHORIZONTAL_SPLITvízszintesen osztja el a tartályt, míg aVERTICAL_SPLITfüggőlegesen osztja el.
Íme egy egyszerű kódpélda egy alapvető vízszintes osztott ablaktábla létrehozásához:
import javax.swing.*; import java.awt.*; public class SimpleSplitPaneExample { public static void main(String[] args) { JFrame frame = new JFrame("Egyszerű osztott ablaktábla"); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.setSize(800, 600); JPanel leftPanel = new JPanel(); leftPanel.setBackground(Color.RED); JPanel rightPanel = new JPanel(); rightPanel.setBackground(Color.BLUE); JSplitPane splitPane = new JSplitPane(JSplitPane.HORIZONTAL_SPLIT, leftPanel, rightPanel); frame.add(splitPane); frame.setVisible(true); } }
Ebben a példában létrehozunk aJFrame, kettőJPanelobjektumok (egy piros és egy kék), majd aJSplitPaneamely vízszintesen osztja el a keretet a két panel között.
2. lépés: Összetevők hozzáadása az osztott ablaktáblához
Most, hogy beállította az alapvető osztott ablaktáblát, valószínűleg néhány hasznos összetevőt szeretne hozzáadni hozzá. A Swing Screen esetében ez lehet például szövegterület, táblázat vagy akár más egyéni összetevő.
Tegyük fel, hogy egy szöveges területet szeretne hozzáadni a bal oldali panelhez, és egy táblázatot a jobb oldali panelhez. Így módosíthatja az előző kódot:
import javax.swing.*; import java.awt.*; import javax.swing.table.DefaultTableModel; public class SplitPaneWithComponents { public static void main(String[] args) { JFrame frame = new JFrame("Split Pane with Components"); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.setSize(800, 600); JTextArea textArea = new JTextArea("Ez egy szöveges terület."); JScrollPane textScrollPane = new JScrollPane(textArea); String[] columnNames = {"Név", "Életkor"}; Objektum[][] adatok = { {"János", 25}, {"Jane", 30} }; DefaultTableModel model = new DefaultTableModel(data, oszlopnevek); JTable tábla = new JTable(modell); JScrollPane tableScrollPane = new JScrollPane(tábla); JSplitPane splitPane = new JSplitPane(JSplitPane.HORIZONTAL_SPLIT, textScrollPane, tableScrollPane); frame.add(splitPane); frame.setVisible(true); } }
Ebben a frissített kódban hozzáadtunk egyJTextAreaa bal oldalra és aJTablea jobb oldalra. Mindkettő be van csomagolvaJScrollPanehogy lehetővé tegye a görgetést, ha a tartalom túl nagy.
3. lépés: Az osztott panel testreszabása
Az osztott ablaktáblát többféleképpen testreszabhatja. Például beállíthatja a kezdeti elválasztó helyét, amely meghatározza, hogy a két alkonténer közötti felosztás hova kerüljön kezdetben. Az elválasztó megjelenését és érzetét is módosíthatja.
A következőképpen állíthatja be az elválasztó kezdeti helyét:


splitPane.setDividerLocation(200);
Ez beállítja az elválasztó kezdeti pozícióját 200 pixel balról (vízszintes osztott ablaktáblában).
Az elválasztó kinézetének megváltoztatásához használhatja asetDividerSizemódszer:
splitPane.setDividerSize(10);
Így az elválasztó 10 pixel széles.
4. lépés: Az osztott ablaktábla integrálása a Swing képernyőbe
Ha Ön a Swing Screen beszállítója, valószínűleg rendelkezik már meglévő Swing Screen alkalmazással. Az osztott ablaktábla integrálása az alkalmazásba némileg több munkát igényelhet. Győződjön meg arról, hogy az osztott ablaktábla jól illeszkedik a meglévő elrendezéshez, és az összes összetevő megfelelően működik együtt.
Egy dolog, amit szem előtt kell tartani, hogy előfordulhat, hogy kezelnie kell az osztott ablaktáblával kapcsolatos eseményeket. Például amikor a felhasználó átméretezi az elválasztót, érdemes lehet ennek megfelelően frissíteni a képernyő más részeit is. Ezt úgy teheti meg, hogy aPropertyChangeListeneraz osztott ablaktáblához:
splitPane.addPropertyChangeListener(JSplitPane.DIVIDER_LOCATION_PROPERTY, e -> { // Adjon hozzá kódot az elválasztó helyének megváltoztatásához System.out.println("Az osztó helye megváltozott!"); });
Kapcsolódó berendezések projektjéhez
Ha olyan projekten dolgozik, amely papírfeldolgozást vagy kapcsolódó iparágakat foglal magában, akkor érdekelheti az általunk ajánlott berendezések. Nézze meg a miPapírtépő gép,Rotary Drum Digester, ésForgácsmosó. Ezek nagyszerű eszközök különféle papírral kapcsolatos feladatokhoz.
Következtetés
Osztott ablaktábla hozzáadása a Swing Screenhez nagymértékben javíthatja annak funkcionalitását és felhasználói élményét. Az alábbi lépések követésével létrehozhat egy osztott ablaktáblát, amely megfelel az Ön speciális igényeinek. Legyen szó fejlesztőről, aki javítani szeretné Swing alkalmazásait, vagy olyan cégtulajdonosként, akinek személyre szabott Swing Screenre van szüksége, mi készséggel segítünk.
Ha érdekli a Swing Screen vásárlása, vagy bármilyen kérdése van az osztott ablaktábla hozzáadásával kapcsolatban, ne habozzon kapcsolatba lépni. Szeretnénk beszélgetni, és megbeszélni, hogyan tudunk megfelelni az Ön igényeinek.
Hivatkozások
- "Hatékony Java", Joshua Bloch
- "Java Swing: Kezdő útmutató" Herbert Schildttől
