我正在尝试在JPanel上添加一个JLabel,但我似乎无法让它出现,我不知道为什么。
JFrame frame = new JFrame();
frame.setTitle("testing");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
JPanel panel = (JPanel) frame.getContentPane();
panel.setPreferredSize(new Dimension(SCREENX, SCREENY));
panel.setLayout(null);
setBounds(0, 0, SCREENX, SCREENY);
panel.add(this);
setIgnoreRepaint(true);
frame.setResizable(false);
frame.setLocationRelativeTo(null);
JLabel scoreLabel = new JLabel();
scoreLabel.setText("Points: "+points);
panel.add(scoreLabel);
frame.setContentPane(panel);
frame.pack();
scoreLabel.setVisible(true);
答案 0 :(得分:2)
你已经将JPanel的布局设为null,实际上是通过这样做来拍摄自己的脚,然后添加一个JLabel而不指定它的位置或大小,当你像这样射击自己时需要做的事情。
解决方案:首先不要在脚下射击自己。使用布局并学习如何使用它们。
如果您需要更具体的布局建议,请向我们提供有关您的gui结构及其所需结构的更多信息以及图片(如果有)。