java - 居中 Java JPanel 元素
问题描述
好的,所以我四处寻找这个问题的答案,但我似乎找不到任何适用于我的代码的答案。这有点乱,因为它是我的第一个 Java 程序之一。JButton 和 Image 不想与中心对齐,我不确定我做错了什么。
这是我现在拥有的代码:
import java.awt.Color;
import java.awt.Component;
import javax.swing.BoxLayout;
import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.SwingUtilities;
import javax.swing.plaf.DimensionUIResource;
public class lightswitch {
public static void main(String[] args) {
int scene = 0;
Color cGray = new Color(50, 50, 50);
JFrame window = new JFrame("LightSwitch");
window.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
window.setPreferredSize(new DimensionUIResource(1080, 720));
SwingUtilities.invokeLater(new Runnable(){
public void run() {
switch (scene) {
case 0:
drawWindow(window, cGray, 1);
break;
default:
break;
}
}
});
}
public static void drawWindow(JFrame window, Color bgc, int title) {
JPanel p = new JPanel();
p.setLayout(new BoxLayout(p, BoxLayout.Y_AXIS));
p.setAlignmentX(Component.CENTER_ALIGNMENT);
if (title == 1) {
//create logo
ImageIcon logoIcon = new ImageIcon("./paks/img/logo.png");
p.add(new JLabel(logoIcon));
//create play button
JButton playButton = new JButton("Play");
playButton.setPreferredSize(new DimensionUIResource(250, 50));
playButton.setAlignmentX(Component.CENTER_ALIGNMENT);
p.add(playButton);
p.setBackground(bgc);
window.getContentPane().add(p);
window.pack();
window.setVisible(true);
} else {
p.setBackground(bgc);
window.pack();
window.setVisible(true);
}
}
}
请尝试使您的答案对菜鸟友好
另外,我不确定这是否有任何区别,但我使用的是 VSCode 和 Java 16.0.1。
解决方案
推荐阅读
- powershell - Move an ADObject into a SubOU With Powershell
- vue.js - Vue JS 2 Way Binding Implementation
- java - Java Selenium FirefoxDriver ignores given Proxy settings
- android - Android -java OnQueryTextSubmit() not called
- python - TypeError:只有大小为 1 的数组可以转换为 Python 标量不断到达
- tensorflow - Is it possible to override the progress bar of TensorFlow's keras?
- flutter - 如何在按钮单击时显示动画然后消失在颤动中的表情符号
- python - 如何使用 SQL Server 代理或任何东西自动执行日常任务?
- javascript - 在 Asp.net C# Web 应用程序中集成 Bing 地图
- python - 如何只显示与熊猫中另一个数据框共有的行?