0

В качестве задания для школы мне нужно нарисовать аппетит с яблоками, используя paintcomponent в java. Пользователь должен иметь возможность выбрать цвет из выпадающего списка, и это изменит цвет яблок.Выбирайте между цветами, используя компонент цвета для красок (значения из выпадающего списка)

Теперь вот где я застрял. Я попытался создать цвета в корпусе коммутатора, но это приводит к некоторым ошибкам.

То, что вы видите ниже, это не весь код, а только те части, которые необходимы для яблок. Я думаю, что по какой-то причине java не выполняет случай переключения.

Заранее благодарен!

// get the values from the dropbox 
private void jComboBoxKleurActionPerformed(java.awt.event.ActionEvent evt) 
{            
    appel = (String)jComboBoxKleur.getSelectedItem(); 
    repaint(); 
} 

// create the colors for the apples (kleur means color in dutch & appel means apple in  dutch) 
switch (appel){ 
    case "Gifgroen": 
     Color kleur = new Color(184, 208, 68); 
     break; 
    case "Rood": 
     Color kleur = new Color(142, 41, 13); 
     break; 
    case "Geelgroen": 
     Color kleur = new Color(215, 255, 1); 
     break; 
    default: 
     Color kleur = new Color(142, 41, 13); 
     break; 
    } 


    //draw the apples 
    g.setColor(kleur); 
    g.fillOval(30, 650, 40, 40); 
    g.setColor(Color.black); 
    g.fillRect(50, 640, 5, 10); 
+0

компилируется? Было бы странно. – Florian

ответ

1

Хотя вы ничего о кучу ошибок вы имеете не говорить: я могу легко предположить, что первое, что он говорит:

Переменная kleur уже определена: да, потому что, у вас есть уже объявлен kleur в вашем первом case и принадлежит к блоку switch. Любое последующее объявление kleur не требуется. удалите Color от Color kleur внутри заявления case. Скорее объявите свой Color kleur за пределами блока switch.

Color kleur; // <--- here declaring it 

    switch (appel){ 
    case "Gifgroen": 
     kleur = new Color(184, 208, 68); // ere initializing it if needed 
     break; 
    case "Rood": 
     kleur = new Color(142, 41, 13); 
     break; 
    // other cases 
    default: 
     kleur = new Color(142, 41, 13); 
     break; 
} 
+0

Спасибо, это сработало! Я не публиковал ошибки, я думал, что объяснение проблемы было более ясным, так или иначе вы поняли, что я имел в виду, и проблема была исправлена. Спасибо за ваше время и силы –

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