有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java如何将JPanel带到JFrame的前端

我明天有个项目要交,所以我需要帮助。 我正在制作一个时钟,我大部分时间都是在别人的帮助下制作的,我需要在前面加一个按钮。我把这个按钮作为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) 个答案

  1. # 1 楼答案

    你的代码肯定没有完成。但我们假设你在paintComponent中绘制椭圆和其他标尺。此外,还必须将JPanel添加到框架中

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

    然后你可以在上面添加任何你想要的东西

    我希望你的g是paintComponent的一部分