Estoy creando un JFrame sobre mi programa. Tengo un ícono que utilicé para el programa y lo tengo como lo primero en JFrame, pero tengo problemas para centrar la imagen. Si hago algún tipo de centrado, estropea toda la alineación de todo lo demás.Imagen de centrado en un JFrame?
Estoy tratando de tener todos los JLabels, además del icono, a la izquierda alineados. Luego, haz que el ícono se alinee con el centro.
Tuve que eliminar algunos datos personales, lo que sea que haya eliminado los pongo entre "[]".
import java.awt.Dimension;
import java.awt.Font;
import javax.swing.BorderFactory;
import javax.swing.Box;
import javax.swing.BoxLayout;
import javax.swing.ImageIcon;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
public class About extends JFrame {
public About() {
super("About [PROGRAM]");
setIconImage([PROGRAM].getInstance().setIcon());
JPanel main = new JPanel();
main.setLayout(new BoxLayout(main, BoxLayout.Y_AXIS));
main.setBorder(BorderFactory.createEmptyBorder(10,10,10,10));
JLabel icon = new JLabel("", new ImageIcon(getClass().getResource(Constants.ICON_FULL)), JLabel.CENTER);
JLabel name = new JLabel("[PROGRAM]");
JLabel expandedName = new JLabel("[PROGRAM DESCRIPTION]");
JLabel copyright = new JLabel("[COPYRIGHT JUNK]");
JLabel credits = new JLabel("[CREDITS]");
name.setFont(new Font(name.getFont().getFamily(), Font.BOLD, 18));
copyright.setBorder(BorderFactory.createEmptyBorder(0,0,10,0));
main.add(icon);
main.add(Box.createRigidArea(new Dimension(0, 10)));
main.add(name);
main.add(expandedName);
main.add(copyright);
main.add(credits);
add(main);
pack();
setLocationRelativeTo(null);
setVisible(true);
}
}
desea que el icono que se centra en el fondo? o simplemente centrado con el texto a su alrededor? – Soronthar
Ninguno. Quería tener una imagen y un par de etiquetas apiladas una sobre otra, pero tener la imagen centrada. – samwell