2015-01-02 3 views
0

В моем коде я хотел бы иметь метод paintComponent1 (нарисовать линию) для запуска в зависимости от того, нажата ли клавиша. Как я могу это сделать? Вся помощь приветствуется, спасибо: D!Как запустить Java-апплет для выражения if?

Вот мой код:

import java.awt.event.KeyEvent; 
    import java.awt.*; 
    import java.applet.Applet; 


    public class Test { 
    boolean x = false; 

    public void paintComponent1(Graphics g){ 
     g.drawLine(35, 60, 100, 120); 


    } 


    public void keyPressed(KeyEvent e) { 
     x = true; 
    } 

    public void keyReleased(KeyEvent e) { 
     x = false; 
    } 


    public void paintComponent(Graphics g) { 
     if (x) 
      paintComponent1(); 

} 
} 
+0

1) Зачем нужен апплет? Если это связано с тем, что учитель указал на это, обратитесь к [Почему учителя CS должны ** останавливаться ** преподавать Java-апплеты] (http://programmers.blogoverflow.com/2013/05/why-cs-teachers-should -stop-учебно-ява-апплеты /). 2) Зачем использовать AWT? См. [Этот ответ] (http://stackoverflow.com/questions/6255106/java-gui-listeners-without-awt/6255978#6255978) по многим причинам, чтобы отказаться от использования AWT с использованием компонентов в пользу Swing. –

ответ

0

Почему вы не просто двигаться paintComponent1() в метод Keypressed?

public void keyPressed(KeyEvent e) 
{ 
    if(e.getKeyCode() == KeyEvent.VK_SPACE) // if you press the space bar key 
    { 
     paintComponent1(); 
    } 
} 
+0

В нем говорится, что он не применим для аргументов. Что мне с этим делать? – HLatfullin

+0

Howw вы имеете в виду неприменимые аргументы? Не помогло ли мое решение? – ProgrammingIsAwsome

+0

Он просто дает ошибку и говорит, что «Метод paintComponent1 (Graphics) в типе Test не применим для аргументов()» – HLatfullin

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