Das Formular, mit dem Swing ausgestattet ist, kann unsere Anwendungsanforderungen nicht erfüllen. Sie müssen daher JFRame -Frames von Bild und Form erstellen, z. B. das folgende Bild:
Und Sie können die Transparenz des Formular -Hintergrundbildes festlegen
Das Folgende erklärt, wie die Wirkung des obigen Bildes erreicht werden kann:
(1) Zuallererst brauchen Sie ein gutes Bild wie Pergament. Das heruntergeladene Bild ist jedoch ein quadratisches Rechteck, und die Form des Pergaments befindet sich im Bild. Daher verwenden wir die Ausschnittsfunktion in Meitu Xiuxiu oder PS, um das Pergamentpapier wie folgt auszuwählen:
(2) Speichern Sie das Bild als transparenten Hintergrund.
(3) Schreiben Sie dann einen MyJFrame erbt JFrame, der Code ist wie folgt:
import com.sun.awt.awtutilities; Javax.swing importieren.*; import Java.awt.*; öffentliche Klasse MyJFrame erweitert JFrame {private float alpha; public myjframe (String bgPath, float alpha) {Super (); MyContentPane RP = New MyContentPane (BGPath); rp.setOpaque (false); // Setzen Sie das Inhaltsfeld so, dass sie this.setContentPane (RP) transparent sind; this.setUntecorated (true); this.setSize (rp.img.geticonwidth (), rp.img.geticonHeight ()); Awtutilities.setWindowopaque (this, false); // auf JFrame als transparent eingestellt.alpha = alpha; } private Klasse MyContentPane erweitert jpanel {public imageicon img; public MyContentPane (String bgPath) {Super (); img = new Imageicon (test.class.getResource (BGPath)); } @Override Protected void PaintComponent (Graphics g) {Alphacomposit AC = Alphacomposite.getInstance (Alphacomposite.src_over, Alpha); Composite Old = ((Graphics2d) g) .GetComposite (); ((Graphics2d) g) .SetComposite (AC); if (img! } ((Graphics2d) g) .setComposite (alt); Super.PaintComponent (G); }}} Der Hauptcode des obigen Programms lautet: Setzen Sie JFrame auf transparent, entfernen Sie den Rand von JFrame, setzen Sie das Inhaltsfeld auf transparent und zeichnen Sie das Bild auf dem Inhaltsfeld.
(4) Schreiben Sie einen Testunterrichtstest:
Javax.swing importieren.*; import Java.awt.*; public class test {public static void main (String [] args) { /*** Setzen Sie die Transparenz des Hintergrundbildes und das Hintergrundbild, 0 ist vollständig transparent und 1.0f ist undurchsichtig. */ myjframe f = new myjframe ("ab.png", 0,7f); F.SetLayout (NULL); Schriftart = neuer Schrift ("宋体", font.plain, 30); JLabel user = new JLabel ("Benutzername"); user.setFont (Schriftart); user.setBounds (100.150.100,30); JTextField userInput = new JTextField (); userInput.setFont (Schriftart); userInput.SetBounds (200.145,250,40); JLabel PS = new JLabel ("Passwort"); Ps.SetFont (Schriftart); Ps.SetBounds (110.200,90,30); JTextField PSInput = new JTextField (); PSInput.SetFont (Schriftart); PSInput.SetBounds (200.195.250,40); F.Add (Benutzer); f.Add (userInput); F.Add (PS); F.Add (Pilleput); F.SetLocation (300.100); f.setDefaultCloseOperation (jframe.exit_on_close); f.setvisible (true); }}(5) Da der Rand entfernt wird, kann die Form nicht gezogen und gestreckt werden. Sehen Sie diesen Artikel für Swing an, um das Ziehen und Dehnen der Form zu realisieren.
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.