如何将JPanel带到JFrame的前面

时间:2019-03-13 22:30:32

标签: java jframe jpanel jbutton

我有一个明天到期的项目,所以我需要帮助。 我正在做一个时钟,主要是在别人的帮助下,我需要将JButton放在前面。我将按钮作为JPanel的一部分

public static void main(String[] args) {
        JFrame window = new JFrame("Clock");  
        Color c=new Color(0,0,0);  
        Clock clock = new Clock();
        JPanel p=new JPanel();

        window.setPreferredSize(new Dimension(400,400));
        window.pack();


        window.setBackground(c);  
        window.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);   
        Button buton =new Button("Stopwatch");

        p.add(buton);
        window.getContentPane().add(clock);  
        window.setVisible(true);
        clock.start(); 
}
g.setColor(Color.black);//Background color
        g.setFont(new Font("ComicSans", Font.BOLD, 20));  
        g.setColor(Color.white);//inner circle color
        g.fillOval(xcenter - 150, ycenter - 150, 300, 300);  

        LocalDateTime time =LocalDateTime.now();
        String strTime =time.toString().substring(14,19);
        String strHour =time.toString().substring(11,13);
        int hour =_12hrFormat(strHour);

        g.setColor(Color.black);//time color
        g.drawString(hour+":"+strTime ,141,300);  
        g.setColor(Color.black);//number color
        g.drawString("9", xcenter - 145, ycenter +10);  
        g.drawString("3", xcenter + 135, ycenter +10);  
        g.drawString("12", xcenter-10 , ycenter - 130); 
}

这是与视觉效果有关的大部分代码

1 个答案:

答案 0 :(得分:0)

您的代码肯定没有完成。但是,假设您在 paintComponent 中绘制椭圆形和其他条形。另外,您还必须将JPanel添加到Frame。

JFrame frame = new JFrame("some frame");
JPanel panel = new JPanel();
frame.setContentPane(panel);

然后,您可以在其中添加任何内容。

我希望您的 g 是paintComponent的一部分。