JAVA为什么赢了';这个JLabel没有出现吗?
我正在做一系列简单的球类游戏,然后可能会进一步发展。我制作这些游戏是为了扩展我对java的知识,我正试图让这个JLabel出现,在我制作的这个行分隔符的右侧,有一张它的图片 这是密码JAVA为什么赢了';这个JLabel没有出现吗?,java,Java,我正在做一系列简单的球类游戏,然后可能会进一步发展。我制作这些游戏是为了扩展我对java的知识,我正试图让这个JLabel出现,在我制作的这个行分隔符的右侧,有一张它的图片 这是密码 import javax.swing.*; import java.awt.*; import java.awt.geom.*; public class MainMenu { public JFrame BallFrame = new JFrame(); public JPanel Ball
import javax.swing.*; import java.awt.*; import java.awt.geom.*;
public class MainMenu {
public JFrame BallFrame = new JFrame();
public JPanel BallPanel = new JPanel();
public static MainMenu instance;
Line2D verticalLine;
public int[] menuSize = {400, 380}; public int getMenuSize(int id) { if(id>=0 && id<=1) { return menuSize[0]; }else{ return menuSize[1]; } };
public static void main(String[] args) {
boolean scrollAble = Boolean.parseBoolean(args[0]);
MainMenu menu = instance = new MainMenu();
menu.startUp();
/*if(scrollAble){
JScrollPane pane = new JScrollPane(JScrollPane.VERTICAL_SCROLLBAR_ALWAYS, JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED);
menu.BallFrame.setContentPane(pane);
} else {
menu.BallFrame.setContentPane(menu.BallPanel);
}*/
}
public int[] RightHandMessageBounds = {5,5}; public int getRightHandMessageBounds(int id){ if(id==1){ return RightHandMessageBounds[0]; }else{ return RightHandMessageBounds[1]; } };
private void startUp() {
JLabel RightHandMessage;
RightHandMessage = new JLabel("<html><col=000000>Welcome to the ball game!</font></html>", JLabel.CENTER);
RightHandMessage.setLocation(getRightHandMessageBounds(1),getRightHandMessageBounds(2));
BallFrame.setLocationRelativeTo(null);
BallFrame.setTitle("The Ball Game V1 - Cam");
BallFrame.setSize(getMenuSize(1),getMenuSize(2));
BallPanel.setLayout(new FlowLayout());
//BallPanel.setBackground(Color.WHITE);
BallPanel.setSize(getMenuSize(1),getMenuSize(2));
BallPanel.add(createVerticalSeparator());
BallPanel.add(RightHandMessage);
BallFrame.setContentPane(BallPanel);
BallFrame.setLocationByPlatform(true);
BallPanel.setVisible(true);
BallFrame.setVisible(true);
}
public static JComponent createVerticalSeparator() {
JSeparator x = new JSeparator(SwingConstants.VERTICAL);
x.setPreferredSize(new Dimension(3,9999*100));
return x;
}
import javax.swing.*;导入java.awt.*;导入java.awt.geom.*;
公共类主菜单{
公共JFrame BallFrame=新JFrame();
public JPanel BallPanel=new JPanel();
公共静态主菜单实例;
Line2D轮生植物;
public int[]menuSize={400380};public int getMenuSize(int-id){if(id>=0&&id在这种情况下,您需要将代码剥离回基本代码,并尝试看看问题出在哪里,让我们先看看是否可以让标签显示出来
private void startUp() {
JLabel RightHandMessage;
//RightHandMessage = new JLabel("<html><col=000000>Welcome to the ball game!</font></html>", JLabel.CENTER);
RightHandMessage = new JLabel("Welcome to the ball game!", JLabel.CENTER);
RightHandMessage.setLocation(getRightHandMessageBounds(1), getRightHandMessageBounds(2));
BallFrame.setLocationRelativeTo(null);
BallFrame.setTitle("The Ball Game V1 - Cam");
//BallFrame.setSize(getMenuSize(1), getMenuSize(2));
BallPanel.setLayout(new FlowLayout());
//BallPanel.setBackground(Color.WHITE);
//BallPanel.setSize(getMenuSize(1), getMenuSize(2));
//BallPanel.add(createVerticalSeparator());
BallPanel.add(RightHandMessage);
BallFrame.setContentPane(BallPanel);
BallFrame.pack();
BallFrame.setLocationByPlatform(true);
//BallPanel.setVisible(true);
BallFrame.setVisible(true);
}
看一看,了解更多想法1-HTML中的color属性无效,可以使用标签上的setForeground来建立;2-组件上的setSize和setLocation有点无关为什么容器使用布局管理器3-使用preferredSize 399900似乎是一个巨大的过度使用,特别是当您可以使用布局管理器来实现相同的结果,而不需要使用setPreferredSizeSorry吗?有人能帮我解决这个问题吗?我正在尝试使JLabel出现。因此,您需要开始纠正这三个问题,首先删除JSepator和HTML,然后看看这是否有效分隔符的高度会将您的布局抛向另一个方向s、 这就是为什么标签不可见。为什么您希望它有999900像素高?标准高清屏幕只有1080像素高。
private void startUp() {
JLabel RightHandMessage;
RightHandMessage = new JLabel("<html><col=000000>Welcome to the ball game!</font></html>", JLabel.CENTER);
RightHandMessage.setLocation(getRightHandMessageBounds(1), getRightHandMessageBounds(2));
BallFrame.setLocationRelativeTo(null);
BallFrame.setTitle("The Ball Game V1 - Cam");
//BallFrame.setSize(getMenuSize(1), getMenuSize(2));
BallPanel.setLayout(new FlowLayout());
//BallPanel.setBackground(Color.WHITE);
//BallPanel.setSize(getMenuSize(1), getMenuSize(2));
//BallPanel.add(createVerticalSeparator());
BallPanel.add(RightHandMessage);
BallFrame.setContentPane(BallPanel);
BallFrame.pack();
BallFrame.setLocationByPlatform(true);
//BallPanel.setVisible(true);
BallFrame.setVisible(true);
}
private void startUp() {
JLabel RightHandMessage;
RightHandMessage = new JLabel("<html><col=000000>Welcome to the ball game!</font></html>", JLabel.CENTER);
RightHandMessage.setLocation(getRightHandMessageBounds(1), getRightHandMessageBounds(2));
BallFrame.setLocationRelativeTo(null);
BallFrame.setTitle("The Ball Game V1 - Cam");
//BallFrame.setSize(getMenuSize(1), getMenuSize(2));
BallPanel.setLayout(new FlowLayout());
//BallPanel.setBackground(Color.WHITE);
//BallPanel.setSize(getMenuSize(1), getMenuSize(2));
BallPanel.add(createVerticalSeparator());
BallPanel.add(RightHandMessage);
BallFrame.setContentPane(BallPanel);
BallFrame.pack();
BallFrame.setLocationByPlatform(true);
//BallPanel.setVisible(true);
BallFrame.setVisible(true);
}
public JPanel BallPanel = new JPanel() {
@Override
public Dimension getPreferredSize() {
return new Dimension(400, 380);
}
};
//...
private void startUp() {
JLabel RightHandMessage;
RightHandMessage = new JLabel("<html><col=000000>Welcome to the ball game!</font></html>", JLabel.CENTER);
RightHandMessage.setLocation(getRightHandMessageBounds(1), getRightHandMessageBounds(2));
BallFrame.setLocationRelativeTo(null);
BallFrame.setTitle("The Ball Game V1 - Cam");
BallPanel.setLayout(new GridBagLayout());
GridBagConstraints gbc = new GridBagConstraints();
gbc.gridx = 0;
gbc.gridy = 0;
gbc.weighty = 1;
gbc.fill = GridBagConstraints.VERTICAL;
BallPanel.add(createVerticalSeparator(), gbc);
gbc.gridx = 1;
gbc.weighty = 0;
gbc.fill = GridBagConstraints.NONE;
gbc.anchor = GridBagConstraints.NORTH;
BallPanel.add(RightHandMessage, gbc);
BallFrame.setContentPane(BallPanel);
BallFrame.pack();
BallFrame.setLocationByPlatform(true);
//BallPanel.setVisible(true);
BallFrame.setVisible(true);
}