2012-05-30 5 views
3

Моя проблема заключается в том, что при попытке установить цвет фона в JApplet, который я пытаюсь создать, я не могу получить какой-либо цвет, кроме серого по умолчанию.Невозможно установить цвет фона JApplet

Я был бы очень признателен, если бы кто-то смог не только сказать мне, что не так, но и объяснить это. Этот метод был изучен через учебник, и поэтому я хочу понять проблему, чтобы я знал, что происходит.

Любая помощь приветствуется.

Спасибо заранее,

SDG

public class QuoteApplet extends JApplet 
{ 

    public void paint (Graphics appPage) 
    { 
     setBackground(Color.YELLOW); 

     appPage.drawRect(65,55,255,100); 
     //page.drawRect(60,80,225,30); 
     //page.drawOval(75,65, 20, 20); 
     appPage.drawLine(30,30,30,100); 
     appPage.drawLine(40,30,40,100); 
     appPage.drawLine(55,45,15,85); 

     appPage.drawString("There once lived a man named Oedipus Rex.", 70, 70); 
     appPage.drawString("You may have heard about his odd complex.", 70, 90); 
     appPage.drawString("His name appears in Freud's index,", 70, 110); 
     appPage.drawString("'cause he loved his mother.", 70, 130); 
     appPage.drawString("-Tom Lehrer", 200, 150); 
    } 
} 
+0

+1 для интересного стихотворения. Также, хороший вопрос. – Hassan

ответ

5

Вы хотите установить цвет фона ContentPane апплета, а не сам апплет. Поэтому позвоните getContentPane().setBackground(...). И вы не хотите сделать это изнутри метод краски. Вместо этого сделайте это в init(). На самом деле, редко вы когда-либо захотите переопределить метод рисования JApplet и, конечно, не здесь. Вы гораздо лучше рисуете метод paintComponent(...) JPanel или другого класса, который происходит из JComponent, а затем добавляет его в contentPane или использует его как contentPane.

+0

, если я создаю метод init(), нужно ли мне что-то менять в моем методе рисования или это так же просто, как добавление другого метода? – superdemongob

+0

@superdem: вы добавили init() как отдельный метод. Но см. Мое редактирование выше - вы не должны переопределять 'paint (...)' для начала. –

+0

спасибо, если то, что вы сказали, верно (и я не сомневаюсь в этом на секунду), мой учебник - самая глупая вещь на планете ... Они законно настроили его так же, как и я. Я скопировал их слово в слово и только изменил значения ... – superdemongob

Смежные вопросы