Java:JLabel 未添加到 JFrame

为什么我没有在屏幕上看到标签。这是我的代码:


class Guide extends JComponent {

        public static void main(String[] args) {

            Guide guide = new Guide();

            JFrame frame = new JFrame("Pong Game's Guide");

            frame.add(guide);

            frame.pack();

            frame.setSize(600,500);

            frame.setVisible(true);

            frame.setLocationRelativeTo(null);

            frame.setResizable(false);


            JLabel guideLabel = new JLabel();

            guideLabel.setText("GUIDE");

            guideLabel.setFont(new Font("Serif",Font.BOLD, 20));

            guideLabel.setForeground(new Color(255,0,0));

            guideLabel.setBounds(290,25,50,20);        

            frame.add(guideLabel);

        }


        public void paintComponent(Graphics g) {

            g.setColor(new Color(150,255,150));

            g.fillRect(0,0,690,590);        

        }

    }

我在这里做错了什么?请帮忙。


浮云间
浏览 155回答 2
2回答

交互式爱情

在添加标签之前,您已经使窗口可见。您将需要revalidate和repaint容器JFrame默认情况下使用 a BorderLayout,默认情况下只允许在 5 个可用位置中的每一个中布置一个组件,这可能会导致问题。可能更好地将它添加到guide

MMTTMM

尝试将标签添加到框架,然后将框架的可见性设置为 true。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java