Antecedentes de panel jpanel personalizado
1. Prefacio
1. El nombre completo de la GUI es la interfaz gráfica de usuario, que es la interfaz gráfica de usuario. La GUI de Java se usa ampliamente en nuestras vidas y también es muy común. Muchas aplicaciones usan esta GUI para programar y diseñar, como hacer clic en el icono QQ para aparecer en el formulario de inicio de sesión correspondiente.
En general, la interacción entre programas y usuarios se basa en la interfaz en ejecución del programa correspondiente.
2. El panel Jpanel es una clase de contenedor de panel bajo Swing. Este panel admite anidación, puede establecer métodos de diseño y establecer diferentes administradores de diseño para agregar otros controles como botones JButton, cuadros de texto JTextfield, etc. para diseñar y mejorar una forma de interfaz de programa.
Está lejos de ser suficiente para admitir SucedBackground () como un panel de dibujo. Aquí implementamos la personalización para establecer el fondo de la imagen para JPanel.
2. Herramientas de plataforma
1.myeclipse
Demuestra usar myeclipse2014 aquí
Otras plataformas que admiten Java AWT+Swing también están disponibles
3. Pantalla de imágenes
1. Diferentes efectos de procesamiento de JPanel bajo la misma forma
(1) Primero cree una forma no modificada. El efecto de interfaz JPanel predeterminado general es el siguiente:
(2) Configuración simple de efectos de color de fondo:
(3) Personalizó el efecto de formulario bajo JPanel después del procesamiento:
2. Implementación del código
Personalice el procesamiento de fondo JPanel, la imagen es BG.PNG y está en la misma ruta que la clase de prueba. Utilice la ruta relativa cuando use la imagen.
import java.awt.graphics; import javax.swing.imageicon; import javax.swing.jframe; import javax.swing.jpanel; Public Class Guitest {private static jframe jframe; // Declarar un formulario JPANEL JPANEL privado; // declarar un Artboard Public Guitest () {// Método de construcción jFrame = new Jframe (); init (); } private void init () {jframe.settitle ("prueba"); jpanel = new JPanel () {// El código clave es reescribir un método de pintar @Override void pintarComponent (Graphics g) {super.PaintComponent (g); Imageicon img = new Imageicon (guitest.class.getresource ("bg.png")); / *** bg.png se reemplaza con su propia imagen* La ruta relativa utilizada aquí, bg.png está en la misma ruta que la clase de prueba* Sin embargo, se recomienda usar rutas relativas para evitar usar rutas absolutas*/ img.painticon (this, g, 0, 0); }}; jpanel.SetOpaque (verdadero); Jframe.setBounds (200, 200, 500, 400); // Establecer la posición de visualización 200 píxeles a la izquierda y los 200 píxeles superiores y el tamaño de la pantalla es de 500*400 jframe.add (jpanel); // Agregue el tablero de arte al formulario jFrame.SetVisible (true); // Establecer la interfaz de visualización} public static void main (string [] args) {new Guitest (); // instanciar el objeto}} 4. Expanda el gerente de diseño
Aquí hay un formulario de inicio de sesión simple:
Un formulario de inicio de sesión simple implementado basado en un fondo de Jpanel personalizado, configurando el diseño de GridbagLayout, agregando cuadros de texto de botones y otros controles básicos.
(1) El código es el siguiente:
import java.awt.graphics; import java.awt.gridbagConstraints; import java.awt.gridbagLayout; importar java.awt.insets; import javax.swing.imageicon; import javax.swing.jbutton; import javax.swing.jframe; import javax.swing.jlabel; import javax.swing.jpanel; import javax.swing.jpasswordfield; import javax.swing.jTextfield; Guit de clase pública {// Declarar formulario, panel y control Jframe estático privado Jframe; Privado Jlabel Jlabel, Jlabel1; Bagbag de gridbaglaut privado; Restricciones privadas de las restricciones de las bagbags; privado jtextfield jtfield1; Private JPasswordfield JPFIELD1; Privado JButton JButton1, JButton2, JButton3; Privado JPanel Jpanel; public guit () {jframe = new Jframe (); jlabel = new JLabel (); jlabel1 = new JLabel (); jtfield1 = new JTextField (); jpfield1 = new JPassWordField (); Gridbag = new GridBagLayout (); jButton1 = new JButton (); jButton2 = new JButton (); jButton3 = new JButton (); init (); } / ** * init () Inicializar y mostrar la interfaz * / private void init () {jframe.settitle ("Login"); / *** Establecer el fondo jpanel*/ jpanel = new jPanel () {@Override void pintComponent (Graphics g) {super.paintComponent (g); Imageicon img = new Imageicon (guitest.class.getresource ("ddmbg.jpg")); img.painticon (this, g, 0, 0); }}; // Inicializar el texto para JLabel, JButton Jlabel.setText ("Nombre de usuario:"); jlabel1.settext ("Password:"); JButton1.setText ("Iniciar sesión"); jButton2.settext ("Salir"); jbutton3.settext ("registrar"); // Establecer la posición de visualización y el tamaño de la pantalla 500*400 jframe.setBounds (450, 240, 400, 240); // JPanel usa GridBagLayout Layout Manager jpanel.SetOpaque (falso); jpanel.setLayout (Gridbag); // Inicializa la etiqueta del nombre de usuario y agregue el control a las restricciones de la tabla de arteros = getGridbagConstraints (0,0,1,1,0,0, GridbagConstraints.center, GridbagConstraints.none, nuevas insercias (10,0,10,0), 0,0); Gridbag.setConstraints (jlabel, restricciones); jpanel.add (jlabel); // Inicializa el cuadro de texto del nombre de usuario y agregue el componente a las restricciones de tablero de arte = getGridbagConstraints (1,0,1,1,0,0, GridbagConstraints.center, GridbagConstraints.none, nuevas inserciones (10,0,10,0), 100,0); Gridbag.setConstraints (JTFIELD1, restricciones); jpanel.add (jtfield1); // Inicializar las restricciones de la etiqueta de contraseña = getGridbagConstraints (0,1,1,1,0,0, GridbagConstraints.center, GridbagConstraints.none, nuevas inserciones (10,0,10,0), 0,0); Gridbag.setConstraints (JLabel1, restricciones); jpanel.add (jlabel1); // Inicializa las restricciones de cuadro de texto de contraseña = getGridbagConstraints (1,1,1,1,0,0, GridbagConstraints.center, GridbagConstraints.none, nuevas inserciones (10,0,10,0), 100,0); Gridbag.setConstraints (JPFIELD1, restricciones); jpanel.add (jpfield1); // Inicializa el botón de registro y agregue el control a las restricciones de la tabla de Art = GetGridbagConstraints (0,2,1,1,0,0, GridbagConstraints.center, GridbagConstraints.none, nuevas inserciones (10,0,10,0), 0,0); Gridbag.setConstraints (JButton3, restricciones); jpanel.add (JButton3); // Inicializar las restricciones del botón de inicio de sesión = getGridbagConstraints (1,2,1,1,0,0, GridbagConstraints.center, GridbagConstraints.none, nuevas inserciones (10,0,10,0), 0,0); Gridbag.setConstraints (JButton1, restricciones); jpanel.add (JButton1); // Inicializar las restricciones del botón de salida = getGridbagConstraints (2,2,1,1,0,0, GridbagConstraints.center, GridbagConstraints.none, nuevas inserciones (10,0,10,0), 0,0); Gridbag.setConstraints (JButton2, restricciones); jpanel.add (JButton2); // Agregue Artboard para formar jframe.add (jpanel); // La inicialización de formulario se completa} private de gridbagConstraints getGridbagConstraints (int gridx, int gridy, int gridwidth, int gridHeight, doble weightsx, doble peso, int anchor, intlet, ISET int iPadx, int iPady) {return New GridBagConstraints (Gridx, Gridx, Gridy, GridWidth, Gridwidth, gridHeight, WeightHeight, WeightHeTHETHE, New WeightHyHeT. ancla, relleno, inserciones, iPadx, iPady); } public static void main (string [] args) {new Guit (); jframe.setVisible (verdadero); }}donde ddmbg es el nombre de la imagen
(2) El efecto se muestra en la figura:
El diseño es la base y también es muy importante en el diseño de la GUI.
Para ser competente para usar y dominar los tres diseños principales y otros gerentes de diseño, debe practicar usted mismo.
Lo anterior es todo el contenido de este artículo. Espero que sea útil para el aprendizaje de todos y espero que todos apoyen más a Wulin.com.