1. Prinzip
Das Prinzip ist sehr einfach: Es ist nur ein JLabel und Jpanel. JLabel zeigt den Titeltext und die Bilder an, die angeben, ob sich die Steuerung derzeit in einem erweiterten oder zusammengebrochenen Zustand befindet. Während JPanel hauptsächlich eine Funktion hat - den Container, der die Kontrolle trägt. JLabel steuert, ob das JPanel durch Reaktion auf ein Mausereignis angezeigt wird. Dadurch wird die Auswirkung von Falten oder Erweiterung erzielt.
Ich werde unten nicht viel sagen. Schauen wir uns den detaillierten Beispielcode an
2. Code
public class jShrinkablePanel erweitert JPanel {private jLabellabel; private StringTitle = ""; privat jpanelContentPanel {Super (); this.title = title; this.contentPanel = contentPanel; initcomponents (); initComponentStatus (); initLayout (); initresources (); unregisterEvents (); RegisterEvents (); initcomponentStatus () {this.label.sethorizontalalignment (jlabel.Left); this.label.setverticalAnignment (jlabel.Center); ImageCon ("src/ressourcen/expt.png"); this.iconcollapse = new Imageicon ("src/ressourcen/collapse.png"); Gridbagconstraints.West, Gridbagconstraints.Horizontal, neue Einsätze (0,0,0,0), 0,0); Einsätze (0,0,0,0), 0,0);} private void initresources () {this.label.seticon (this.iconexpand); {this.label.addmouselistener (this.mouselistener);} private mouselistenmouselistener = new Mouseadapter () {@Overridepublic void mouseclicked (mouseEvent e) {isexpanded =! {label.setopaque (true); label.Repaint ();}@oversidepublic void mouseexited (MouseEvent e) {label.setopaque (false); label.Repaint ();}}; private void panelvisible () {this.contentPanel.setvisible (this.isexpanded); this.iconexpand: this.iconcollapse);} public static void main (String [] args) {JFrame jf = new JFrame ("jShrinkablePanel"); jf.setBounds (400.200.400,300); Jpanel (); panel.add (neu Jbutton ("nur für show"); panel.setBorder (borderFactory.createtitledBorder ("Border");3. Effekt
Panel erweitern die Maus auf dem Titeletikett
Panel erweitert die Maus nicht auf dem Titeletikett
Panel Fold Maus auf dem Titelbezeichnung
Panel Folding Mouse befindet sich nicht auf dem Titeletikett
Zusammenfassen
Das obige ist der gesamte Inhalt dieses Artikels. Ich hoffe, dass der Inhalt dieses Artikels einen gewissen Referenzwert für das Studium oder die Arbeit eines jeden hat. Wenn Sie Fragen haben, können Sie eine Nachricht zur Kommunikation überlassen. Vielen Dank für Ihre Unterstützung bei Wulin.com.