package elte.java2_utikalauz5.swing; /** Kettéosztható panel használata Swingben.

A felhasználói felület felső részén egy kettéosztható panel látható, amely egyik felében a megjelenítés stílusát megváltoztató nyomógombokat tartalmazza, a másik felében pedig egy képet. A felhasználói felület alján található vezérlőgombokkal szabályozhatjuk az elválasztóvonal irányítottságát és egyetlen kattintással történő szélsőhelyzetbe állítási lehetőségét, az engedélyezettségét, valamint az elosztóvonal mozgatása alatti folyamatos megjelenítést. E panel megjelenítése nyomkövethető. A vezérlőgombok panelje és a felső kettéosztható panel szintén egy kettéosztható panellel vannak egymástól elválasztva. @link.forrásfájl {@docRoot}/../data/swing/src JSplitPaneTeszt.java @link.letöltés {@docRoot}/../data/swing JSplitPaneTeszt.jar @since Java 2 Útikalauz programozóknak */ public class JSplitPaneTeszt extends SwingTeszt { /** Verziószám. */ private final static long serialVersionUID = 15L; /** Indítás alkalmazásként. @param argumentumok Az indításkor megadott paraméterek. */ public static void main(String argumentumok[]) { new JSplitPaneTeszt().init(argumentumok); } /** Applet leírása. @return A példaprogram leírása */ @Override public String getAppletInfo() { return "Kettéosztható panel használatát bemutató tesztprogram"; } /** Kettéosztható panel */ private javax.swing.JSplitPane kettépanel; /** GUI felépítése */ @Override protected void felépít() { kettépanel = new javax.swing.JSplitPane(); javax.swing.JPanel panel = new javax.swing.JPanel(); //vezérlő panel javax.swing.AbstractButton gomb = new javax.swing.JRadioButton( "vízszintes",kettépanel.getOrientation()==kettépanel.VERTICAL_SPLIT); panel.add(gomb); gomb.setToolTipText("VERTICAL_SPLIT"); javax.swing.ButtonGroup csoport = new javax.swing.ButtonGroup(); csoport.add(gomb); gomb.setActionCommand("vertical"); gomb.addActionListener(this); //gomb kiválasztásának figyelése gomb = new javax.swing.JRadioButton("függőleges", //függőlegesen kettépanel.getOrientation()==kettépanel.HORIZONTAL_SPLIT); panel.add(gomb); gomb.setToolTipText("HORIZONTAL_SPLIT"); csoport.add(gomb); gomb.setActionCommand("horizontal"); gomb.addActionListener(this); //gomb kiválasztásának figyelése gomb = new javax.swing.JCheckBox("engedélyezve?", //panel engedélyezése kettépanel.isEnabled()); panel.add(gomb); gomb.setToolTipText("enabled"); gomb.addActionListener(this); //gomb kiválasztásának figyelése gomb = new javax.swing.JCheckBox("mozgatáskor rajzol?", kettépanel.isContinuousLayout()); panel.add(gomb); gomb.setToolTipText("continuousLayout"); gomb.setActionCommand("continuous"); gomb.addActionListener(this); //gomb kiválasztásának figyelése gomb = new javax.swing.JCheckBox("gyors mini/maximalizálás?", kettépanel.isOneTouchExpandable()); panel.add(gomb); gomb.setToolTipText("oneTouchExpandable"); gomb.setActionCommand("expand"); gomb.addActionListener(this); //gomb kiválasztásának figyelése javax.swing.JSplitPane alsó = new javax.swing.JSplitPane(kettépanel. VERTICAL_SPLIT, true, kettépanel, panel); add(alsó); //alsó osztópanel alsó.setDividerLocation(300); javax.swing.JLabel címke = new javax.swing.JLabel( ikonbetöltés("img/hatter.jpg")); címke.setMinimumSize(new java.awt.Dimension(0, 0)); //aláméretezhető kettépanel.setRightComponent( címke ); //jobboldali komponens panel = new javax.swing.JPanel(); //baloldali komponens panel.setMinimumSize(new java.awt.Dimension(0, 0)); //aláméretezhető kettépanel.setLeftComponent(panel); for (javax.swing.Action váltás : stílusváltások) panel.add(new javax.swing.JButton(váltás)); //stílusváltásgombok kettépanel.setDividerLocation(200); nyomkövetés(kettépanel); //nyomkövethető a megjelenítése } /** Vezérlőgombok kezelése. @param ae Gomblenyomási esemény */ public void actionPerformed(java.awt.event.ActionEvent ae) { javax.swing.AbstractButton gomb = (javax.swing.AbstractButton)ae.getSource(); if (ae.getActionCommand().equals("expand")) //gyors mini/maximalizálás kettépanel.setOneTouchExpandable(gomb.isSelected()); else if (ae.getActionCommand().equals("continuous")) //mozgatáskor kettépanel.setContinuousLayout(gomb.isSelected()); //rajzol else if (ae.getActionCommand().equals("horizontal")) //függőleges vonal kettépanel.setOrientation(kettépanel.HORIZONTAL_SPLIT); else if (ae.getActionCommand().equals("vertical")) //vízszintes vonal kettépanel.setOrientation(kettépanel.VERTICAL_SPLIT); else //kettéosztható panel engedélyezése/tiltása kettépanel.setEnabled(gomb.isSelected()); } }