Java小程序背景不会改变

Java小程序背景不会改变,java,japplet,Java,Japplet,所以我的问题很简单,当我试图改变背景时,下面显示我只是没有改变,我试图将相同的命令放入绘画空白中,但仍然不起作用,我做错了什么?谢谢你的帮助!: package SE; import java.awt.Color; import java.awt.Font; import java.awt.Graphics; import javax.swing.JApplet; /** * * @author */ @SuppressWarnings("serial") public class

所以我的问题很简单,当我试图改变背景时,下面显示我只是没有改变,我试图将相同的命令放入绘画空白中,但仍然不起作用,我做错了什么?谢谢你的帮助!:

package SE;

import java.awt.Color;
import java.awt.Font;
import java.awt.Graphics;

import javax.swing.JApplet;

/**
 *
 * @author
 */
@SuppressWarnings("serial")
public class stoplicht extends JApplet {

    public void init() {
        // Veranderd de achtergrond kleur
        setBackground(Color.red);
    }

    public void paint(Graphics tekening)

    {   



        // Alles licht

        // Maakt een font aan die myFont heet
        Font myFont = new Font("Serif",Font.BOLD,20);
        // Veranderd het lettertype naar serif door myFont te gebruiken
        tekening.setFont(myFont);
        // Tekent het woord verkeerslicht
        tekening.drawString("Verkeerslicht", 20, 20);
        // Maakt een zwarte rechthoek met ronde hoeken
        tekening.fillRoundRect(20, 40, 70, 200, 30, 30);
        // Veranderd de kleur naar groen
        tekening.setColor(Color.green);
        // Maakt een groene circel
        tekening.fillOval(30, 50, 50, 50);
        // Veranderd de kleur naar oranje
        tekening.setColor(Color.orange);
        // Maakt een oranje circel
        tekening.fillOval(30, 115, 50, 50);
        // Veranderd de kleur naar rood
        tekening.setColor(Color.red);
        // Maakt een rode circel
        tekening.fillOval(30, 180, 50, 50);
        // Zet de kleur naar zwart
        tekening.setColor(Color.black);
        // Maakt een strook onder het stoplicht
        tekening.fillRect( 43, 230, 25, 450);
        // Zet de kleur naar grijs      
        tekening.setColor(Color.gray);
        // Maakt een grijze rand om de zwarte rechthoek
        tekening.drawRoundRect(20, 40, 70, 200, 30, 30);
        // Maakt er nog een binnen in zodat de lijn dikker word
        tekening.drawRoundRect(21, 41, 68, 198, 30, 30);


        // Lijnen om circels


        // Zet kleur naar grijs
        tekening.setColor(Color.gray);
        // Maakt een grijze lijn om de groene circel
        tekening.drawOval(30, 50, 49, 49);
        // Maakt een grijze lijn om de oranje circel
        tekening.drawOval(30, 115, 49, 49);
        // Maakt een grijze lijn om de roode circel
        tekening.drawOval(30, 180, 49, 49);

        // Maakt een grijze lijn om de groene circel
        tekening.drawOval(29, 49, 51, 51);
        // Maakt een grijze lijn om de oranje circel
        tekening.drawOval(29, 114, 51, 51);
        // Maakt een grijze lijn om de roode circel
        tekening.drawOval(29, 179, 51, 51);

        // Maakt een grijze lijn om de groene circel
        tekening.drawOval((int)29.5, (int)49.5, 50, 50);
        // Maakt een grijze lijn om de oranje circel
        tekening.drawOval((int)29.5, (int)114.5, 50, 50);
        // Maakt een grijze lijn om de roode circel
        tekening.drawOval((int)29.5, (int)179.5, 50, 50);
    }
}

请找到下面的工作代码,可以直接调用setBackground函数里面的画法

package com.my.test;

/**
 * Created by IMFCORP\mohanpratap.singh on 15/2/17.
 */
import java.awt.Color;
import java.awt.Font;
import java.awt.Graphics;

import javax.swing.JApplet;

@SuppressWarnings("serial")
public class StopLicht extends JApplet {

    public void paint(Graphics tekening)
    {
        // Alles licht

        // Maakt een font aan die myFont heet
        Font myFont = new Font("Serif",Font.BOLD,20);
        // Veranderd het lettertype naar serif door myFont te gebruiken
        tekening.setFont(myFont);
        // Tekent het woord verkeerslicht
        tekening.drawString("Verkeerslicht", 20, 20);
        // Maakt een zwarte rechthoek met ronde hoeken
        tekening.fillRoundRect(20, 40, 70, 200, 30, 30);
        // Veranderd de kleur naar groen
        tekening.setColor(Color.green);
        // Maakt een groene circel
        tekening.fillOval(30, 50, 50, 50);
        // Veranderd de kleur naar oranje
        tekening.setColor(Color.orange);
        // Maakt een oranje circel
        tekening.fillOval(30, 115, 50, 50);
        // Veranderd de kleur naar rood
        tekening.setColor(Color.red);
        // Maakt een rode circel
        tekening.fillOval(30, 180, 50, 50);
        // Zet de kleur naar zwart
        tekening.setColor(Color.black);
        // Maakt een strook onder het stoplicht
        tekening.fillRect( 43, 230, 25, 450);
        // Zet de kleur naar grijs
        tekening.setColor(Color.gray);
        // Maakt een grijze rand om de zwarte rechthoek
        tekening.drawRoundRect(20, 40, 70, 200, 30, 30);
        // Maakt er nog een binnen in zodat de lijn dikker word
        tekening.drawRoundRect(21, 41, 68, 198, 30, 30);


        // Lijnen om circels


        // Zet kleur naar grijs
        tekening.setColor(Color.gray);
        // Maakt een grijze lijn om de groene circel
        tekening.drawOval(30, 50, 49, 49);
        // Maakt een grijze lijn om de oranje circel
        tekening.drawOval(30, 115, 49, 49);
        // Maakt een grijze lijn om de roode circel
        tekening.drawOval(30, 180, 49, 49);

        // Maakt een grijze lijn om de groene circel
        tekening.drawOval(29, 49, 51, 51);
        // Maakt een grijze lijn om de oranje circel
        tekening.drawOval(29, 114, 51, 51);
        // Maakt een grijze lijn om de roode circel
        tekening.drawOval(29, 179, 51, 51);

        // Maakt een grijze lijn om de groene circel
        tekening.drawOval((int)29.5, (int)49.5, 50, 50);
        // Maakt een grijze lijn om de oranje circel
        tekening.drawOval((int)29.5, (int)114.5, 50, 50);
        // Maakt een grijze lijn om de roode circel
        tekening.drawOval((int)29.5, (int)179.5, 50, 50);

        //Set the background color
        setBackground(Color.GREEN);
    }
}
您可以使用以下选项:

public void paint(Graphics tekening)

{   

    tekening.setColor(Color.cyan); // Set the color of your choice..
    tekening.fillRect(0, 0, getWidth(), getHeight());
    tekening.setColor(Color.black);// Important to set the color back to black.



    // Alles licht

    ...
希望这有帮助

尝试在绘制结束时调用repaint。