2017-02-15 22 views
0

아래 보이는 배경을 변경하려고하면 문제가 간단합니다. 변경되지 않은 동일한 명령을 페인트에 넣으려고했는데 여전히 잘못된 작업을하고 있습니까? 도와 줘서 고마워! :)Java 애플릿 Backgroun이 변경되지 않습니다

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); 
    } 
} 
+0

'paint()'의 끝에서'repaint()'를 호출 해보십시오. –

답변

0

이를 사용할 수 있습니다

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 

    ... 

희망이 도와 줘요!

0

작업 코드를 검색, 직접 페인트 방법 내부 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); 
    } 
} 
+0

나를 위해 작동하지 않았다 :( –