Tôi đang tạo một JFrame cho chương trình của mình. Tôi có một biểu tượng mà tôi sử dụng cho chương trình và tôi có hiển thị như là điều đầu tiên trên về JFrame, nhưng tôi đang gặp vấn đề cố gắng để trung tâm hình ảnh. Nếu tôi làm một số loại định tâm, nó sẽ điều chỉnh toàn bộ sự liên kết của mọi thứ khác.Căn giữa hình ảnh trong JFrame?
Tôi đang cố gắng để có tất cả các JLabels, ngoài biểu tượng, được căn trái. Sau đó, có biểu tượng liên kết với trung tâm.
Tôi phải xóa một số thông tin cá nhân, bất kỳ thông tin nào tôi đã xóa tôi đặt chúng giữa "[]".
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);
}
}
bạn muốn vào biểu tượng để được tập trung trong nền? hoặc chỉ tập trung vào văn bản xung quanh nó? – Soronthar
Không. Tôi muốn có một hình ảnh và vài nhãn xếp chồng lên nhau, nhưng có hình ảnh ở giữa. – samwell