Cómo mover etiquetas en un JPanel de Java Swing
Tengo un panel y estoy tratando de tener una imagen de fondo, y dos conjuntos de texto, un “título” y un área de texto para agregar texto más tarde. ¿Cómo puedo hacer que el área de texto quede encima de la imagen (etiqueta) o si hay una manera completamente mejor de lograr esto?
`//Para el texto (derecha)
JPanel panelTexto = new JPanel();
//panelTexto.setLayout (); // No entiendo los diseños lo intenté y no llegué a lo que necesitaba
panelTexto.setBorder(borde);
panelTexto.setBounds(190, 0, 1300, 886);
panelTexto.setBackground(Color.BLACK);
//Importar para la etiqueta de inventario
JLabel etiquetaTexto = new JLabel(); // Etiqueta del título
arrayTXTA = new JTextArea(0, 1); // Etiqueta del texto que agregaré más tarde
JLabel etiquetaFondo = new JLabel(); // Etiqueta de la imagen de fondo
ImageIcon imagenTex = new ImageIcon(“src\emporium\pkg\background.jpg”); // Configura la imagen para el fondo
//código para imagen de fondo
etiquetaFondo.setIcon(imagenTex); // agrega una imagen
etiquetaFondo.setBounds(70, 5, 1200, 886);
//Código para el título
etiquetaTexto.setHorizontalTextPosition(JLabel.CENTER);
etiquetaTexto.setVerticalTextPosition(JLabel.TOP);
etiquetaTexto.setForeground(new Color(0, 255, 0));
etiquetaTexto.setFont(new Font(“Blackadder ITC”, Font.BOLD, 30));
//Código para el texto que agregaré más tarde
arrayTXTA.setVisible(true);
arrayTXTA.append(“Palabras”);
arrayTXTA.append(“Palabras”);
arrayTXTA.append(“Palabras”);
arrayTXTA.setForeground(new Color(255, 0, 0));
arrayTXTA.setFont(new Font(“Blackadder ITC”, Font.BOLD, 30));
arrayTXTA.setBackground(new Color(0, 0, 0, 0));
arrayTXTA.setBounds(25, 0, 0, 0);`
davy.ai
Para lograr el diseño deseado, puede utilizar un panel en capas para colocar JTextArea sobre la etiqueta de imagen de fondo. Aquí hay un ejemplo de fragmento de código:
En este código, JLayeredPane se utiliza para apilar los componentes uno encima del otro. La imagen de fondo se agrega a la capa más baja, la etiqueta del título en la segunda capa y JTextArea en la capa superior. JTextArea se configura para ser transparente para que se pueda ver la imagen de fondo debajo.
Tenga en cuenta que es posible que deba ajustar la posición y el tamaño de los componentes para adaptarse a sus necesidades. Además, considere utilizar un administrador de diseño para simplificar el código de diseño.