Benutzerdefinierte JPanel -Panel -Hintergrund
1. Vorwort
1. Der vollständige Name der GUI ist eine grafische Benutzeroberfläche, die die grafische Benutzeroberfläche ist. Javas GUI ist in unserem Leben weit verbreitet und ist auch sehr häufig. Viele Anwendungen verwenden diese GUI, um zu programmieren und zu entwerfen, z. B. das Klicken auf das QQ -Symbol, um das entsprechende Anmeldeformular zu übertreffen.
Im Allgemeinen basiert die Interaktion zwischen Programmen und Benutzern auf der laufenden Schnittstelle des entsprechenden Programms.
2. JPanel Panel ist eine Panel -Containerklasse unter Schwung. Dieses Panel unterstützt das Nisten, kann Layoutmethoden festlegen und verschiedene Layout -Manager so einstellen, dass andere Steuerelemente wie Jbutton -Schaltflächen, JTextField -Textfelder usw. hinzugefügt werden, um ein Programm -Schnittstellenformular zu entwerfen und zu verbessern.
Es ist alles andere als genug, um SetBackground () als Zeichenfeld zu unterstützen. Hier implementieren wir die Anpassung, um den Bildhintergrund für JPanel festzulegen.
2. Plattformwerkzeuge
1.Myeclipse
Demonstrieren Sie hier myEclipse2014
Andere Plattformen, die Java AWT+Swing unterstützen
3. Bildanzeige
1.. Verschiedene Verarbeitungseffekte von JPanel unter derselben Form
(1) Erstellen Sie zuerst eine nicht modifizierte Form. Der allgemeine Standard -JPanel -Schnittstelleneffekt lautet wie folgt:
(2) Einfache Einstellung von Hintergrundfarbeneffekten:
(3) Angepasst den Formulareffekt unter jpanel nach der Verarbeitung:
2. Code -Implementierung
Passen Sie die JPanel -Hintergrundverarbeitung an, das Bild ist bg.png und befindet sich auf dem gleichen Weg wie die Testklasse. Bitte verwenden Sie den relativen Pfad, wenn Sie das Bild verwenden.
importieren java.awt.graphics; import Javax.swing.imageicon; importieren javax.swing.jframe; import Javax.swing.jpanel; öffentliche Klasse Guitest {private statische JFrame JFrame; // ein Formular privat jpanel jpanel deklarieren; // eine artboard public guitest () {// Konstruktionsmethode jframe = new Jframe (); init (); } private void init () {jframe.settitle ("test"); jpanel = new jpanel () {// Der Schlüsselcode besteht darin, eine Methode von Paint @Override protected void PaintComponent (Graphics G) {Super.PaintComponent (g) neu zu schreiben; ImageCon img = new ImageCon (Guitest.class.getResource ("Bg.png")); / *** bg.png wird durch sein eigenes Bild* Der hier verwendete relative Pfad ersetzt. }}; jpanel.setopaque (true); Jframe.SetBounds (200, 200, 500, 400); // Setzen Sie die Anzeigeposition 200 Pixel links und die oberen 200 Pixel und die Bildschirmgröße beträgt 500*400 JFrame.Add (JPanel); // Fügen Sie das Kunstboard dem Formular JFrame.setVisible (true) hinzu; // Setzen Sie die Anzeigeschnittstelle} public static void main (String [] args) {new Guitest (); // das Objekt instanziieren}} 4. Erweitern Sie den Layout -Manager
Hier ist eine einfache Anmeldeform:
Ein einfaches Anmeldeformular, das basierend auf einem benutzerdefinierten JPanel -Hintergrund implementiert ist, das Gridbaglayout -Layout einstellt, Schaltflächen Textfelder und andere grundlegende Steuerelemente hinzugefügt.
(1) Der Code ist wie folgt:
importieren java.awt.graphics; importieren java.awt.gridbagconstraints; importieren java.awt.gridbaglayout; import Java.awt.insets; import Javax.swing.imageicon; import Javax.swing.jbutton; importieren javax.swing.jframe; import Javax.swing.jlabel; import Javax.swing.jpanel; importieren javax.swing.jpasswordfield; importieren javax.swing.jtextfield; Public Class Guit {// Formular, Panel und Kontrolle privater statischer JFrame JFrame; Privat Jlabel Jlabel, JLabel1; privates Gridbaglayout -Rasterbag; private Gridbagconstraints Einschränkungen; Private JTextfield Jtfield1; Private JPasswordfield JPField1; Privat Jbutton Jbutton1, Jbutton2, Jbutton3; Privat Jpanel Jpanel; public Guit () {jframe = new Jframe (); JLabel = new JLabel (); JLabel1 = new JLabel (); jtfield1 = new JTextField (); jpfield1 = new Jpasswordfield (); gridbag = neuer gridbaglayout (); Jbutton1 = new Jbutton (); Jbutton2 = new Jbutton (); Jbutton3 = new Jbutton (); init (); } / ** * init () initialisieren und anzeigen die Schnittstelle * / private void init () {jframe.settitle ("login"); / *** Set JPanel Hintergrund*/ jpanel = new jpanel () {@Override Protected void PaintComponent (Graphics g) {Super.PaintComponent (g); ImageCon img = new ImageCon (Guitest.class.getResource ("ddmbg.jpg")); img.painticon (this, g, 0, 0); }}; // Initialisieren Sie den Text für JLabel, Jbutton jlabel.setText ("Benutzername:"); JLabel1.SetText ("Passwort:"); Jbutton1.SetText ("Login"); Jbutton2.setText ("exit"); Jbutton3.setText ("Register"); // Setzen Sie die Anzeigeposition und Bildschirmgröße 500*400 JFrame.Setbounds (450, 240, 400, 240); // Jpanel verwendet Gridbaglayout -Layout -Manager JPanel.Setopaque (False); jpanel.setLayout (Gridbag); // Initialisieren Sie das Benutzername -Etikett und fügen Sie die Steuerung zu den altafelbeschränkungen = GetGridbagConstraints (0,0,1,0,0, Gridbagconstraints.Center, GridbagConstraints.None, New Insets (10,0,10,0), 0,0) hinzu; Gridbag.SetConstraints (Jlabel, Einschränkungen); jpanel.add (jlabel); // Initialisieren Sie das Textfeld für Benutzername und fügen Sie die Komponente zu den altafelbeschränkungen = GetGridbagConstraints (1,0,1,1,0,0, Gridbagconstraints.Center, GridbagConstraints, None, New Insets (10,0,10,0), 100,0) hinzu; Gridbag.SetConstraints (jtfield1, Einschränkungen); jpanel.add (jtfield1); // Kennwortetikettenbeschränkungen initialisieren = getGridbagConstraints (0,1,1,0,0, GridbagConstraints.Center, GridbagConstraints.none, neue Insets (10,0,10,0), 0,0); Gridbag.SetConstraints (JLabel1, Einschränkungen); jpanel.add (jlabel1); // Initialisieren Sie das Kennwort -Textfeld Einschränkungen = getGridbagConstraints (1,1,1,1,0,0, Gridbagconstraints.Center, GridbagConstraints.none, neue Insets (10,0,10,0), 100,0); Gridbag.SetConstraints (JPField1, Einschränkungen); jpanel.add (jpfield1); // Initialisieren Sie die Registrierungstaste und fügen Sie die Steuerung den ARTboard -Einschränkungen hinzu = getGridbagConstraints (0,2,1,1,0,0, GridbagConstraints.Center, GridbagConstraints.None, neue Einsätze (10,0,10,0), 0,0); Gridbag.SetConstraints (Jbutton3, Einschränkungen); jpanel.add (Jbutton3); // Initialisieren Sie die Einschränkungen der Anmeldetaste = getGridbagConstraints (1,2,1,1,0,0, GridbagConstraints.Center, GridbagConstraints.none, neue Insets (10,0,10,0), 0,0); Gridbag.SetConstraints (Jbutton1, Einschränkungen); jpanel.add (Jbutton1); // Einschränkungen der Beendigungstaste initialisieren = getGridbagConstraints (2,2,1,0,0, GridbagConstraints.Center, GridbagConstraints.none, neue Einsätze (10,0,10,0), 0,0); Gridbag.SetConstraints (Jbutton2, Einschränkungen); jpanel.add (Jbutton2); // Fügen Sie eine Art Karte hinzu, um jFrame.add (jpanel) zu bilden; // Forminitialisierung ist abgeschlossen. Anker, Füllung, Insets, iPadx, iPady); } public static void main (String [] args) {new Guit (); JFrame.setVisible (true); }}wo ddmbg der Bildname ist
(2) Der Effekt ist in der Abbildung dargestellt:
Layout ist die Grundlage und auch im GUI -Design sehr wichtig.
Um die drei wichtigen Layouts und anderen Layout -Manager zu beherrschen und zu beherrschen, müssen Sie selbst üben.
Das obige ist der gesamte Inhalt dieses Artikels. Ich hoffe, es wird für das Lernen aller hilfreich sein und ich hoffe, jeder wird Wulin.com mehr unterstützen.