为什么我的Java repaint()方法不起作用?

来源:爱站网时间:2021-09-16编辑:网友分享
Heyo,为了完成我的大学作业,我需要绘制一些图像并进行竞赛,但是即使在绘制图像(在本例中为图标)时,我也被困住了。我想画任何东西(这就是为什么我有drawLine ...

问题描述


Heyo,为了完成我的大学作业,我需要绘制一些图像并进行竞赛,但是即使在绘制图像(在本例中为图标)时,我也被困住了。我现在想在许多JPanel之一上画任何东西(这就是为什么我有drawLine方法,只是为了对其进行测试),但是我的repaint()方法没有调用我的paintComponent方法,为什么?

import java.awt.*;  
import javax.swing.*;  
import java.lang.Math; 


public class Races{
   private int numberOfRacers;

   public Races(int numberOfRacers){
      this.numberOfRacers = numberOfRacers;
      JFrame frame = new JFrame("Races - Name Surname");

      Icon icon = new ImageIcon("races.jpg");
      frame.setLayout(new GridLayout(numberOfRacers, 1));
      frame.setSize(icon.getIconWidth()*20, (icon.getIconWidth()*2)*numberOfRacers);
      frame.setVisible(true);
      frame.setLocationRelativeTo(null);
      frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

      try{
         Thread.sleep(1000);  // Sleeping 1 sec 
         System.out.println("Sleeping one second for the user!");
      }catch(InterruptedException ie){
         System.out.println(ie);
      }


      for(int i = 0; i  0 && Integer.parseInt(args[0]) > 0 && Integer.parseInt(args[0]) 

提前感谢。

思路:


您添加了JPanel所包含的innerRacer而不是JPanel所包含的innerRacer

更改:

     frame.add(racer.panel);

至:

     frame.add(racer);

上一篇:我如何使用org.json制作Java的JSON,看起来像下面的示例?

下一篇:Hibernate反向工程复合键创建额外的ID类

您可能感兴趣的文章

相关阅读

热门软件源码

最新软件源码下载