Announcement

Collapse
No announcement yet.

keyPressed(KeyEvent event)...

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • keyPressed(KeyEvent event)...

    Hallo Java-Fortgeschrittener,

    das folgende Programm läuft nicht so wie im Buch GoTo Java 2 (2.Auflage) "versprochen".
    Das Fenster erscheint, jedoch reagiert es nicht auf das Drücken einer
    Taste. Es schließt nicht.

    Dieser Bereich funktioniert wohl nicht:

    ... new KeyAdapter() {
    public void keyPressed(KeyEvent event)...

    Meine Vermutung ist, dass die Syntax veraltet ist.
    Das Buch ist für JDK 1.1 bis 1.3 und ich arbeite zur Zeit mit JDK1.6


    ________________________-
    import java.awt.*;
    import java.awt.event.*;

    public class Fenst1 extends Window
    {
    public static void main(String[] args)
    {
    final Fenst1 wnd = new Fenst1();
    wnd.setLocation(new Point(20,60));
    wnd.setSize(wnd.getToolkit().getScreenSize());
    wnd.setVisible(true);
    wnd.requestFocus();
    wnd.addKeyListener(
    new KeyAdapter() {
    public void keyPressed(KeyEvent event)
    {
    wnd.setVisible(false);
    wnd.dispose();
    System.exit(0);
    }
    }
    );
    }

    public Fenst1()
    {
    super(new Frame());
    setBackground(Color.blue);
    }

    public void paint(Graphics g)
    {
    g.setColor(Color.green);
    g.drawString(
    "Die aktuelle Bildschirmgröße ist "+
    getSize().width+"*"+getSize().height,
    10,
    20
    );
    g.drawString("Bitte eine Taste drücken",400,500);
    }
    }
    __________________


    Was muss ich tun, damit das Fenster bei Tastendruck schließt?
    (Zur Zeit beende ich dasProgramm mit Strg c)

    Vielen Dank für deine Hife.
    Gruß vom Rhein
    Steff

  • #2
    Vielleicht eine Alternative:

    Code:
    import java.awt.*;
    import java.awt.event.*;
    import javax.swing.*;
    
    public class FullScreen extends JPanel implements KeyListener
    {
      public FullScreen()
      {
        setFocusable( true );
        addKeyListener( this );
        setPreferredSize( new Dimension( 600, 400 ) );
        setBackground( Color.BLUE );
      }
    
      public void paintComponent( Graphics g )
      {
        super.paintComponent( g );
        g.setColor( Color.WHITE );
        g.drawString( "Hello, World!", 50, 50 );
        g.drawLine( 0, 1000, 500, 0 );
      }
    
      public void keyTyped( KeyEvent event )
      {
      }
    
      public void keyPressed( KeyEvent event )
      {
      }
    
      public void keyReleased( KeyEvent event )
      {
        if ( event.getKeyChar() == KeyEvent.VK_SPACE )
        {
          System.exit( 0 );
        }
      }
    
      public static void main( String[] args )
      {
        JFrame frame = new JFrame();
        frame.setUndecorated( true );
        frame.add( new FullScreen() );
        frame.pack();
        frame.setVisible( true );
      }
    }
    Christian | tutego

    Comment


    • #3
      Eine Alternative nur mit AWT

      Hallo, ich hätte eine alternative nur mit AWT.....
      Code:
      import java.awt.*;
      import java.awt.event.*;
      
      public class Fenst1 extends Frame implements KeyListener
      {
      
         public static void main(String[] args) {
             Fenst1 test = new Fenst1();
         }
      
           public void keyPressed(KeyEvent event) {
               if ((event.getKeyCode())==(KeyEvent.VK_ESCAPE)){
                 this.setVisible(false);
                 this.dispose();
                 System.exit(0);
               }
              }
           public void keyReleased(KeyEvent event){
      
           }
           
           public void keyTyped(KeyEvent event){
      
           }
      
        public Fenst1()
        {
         this.setLocation(new Point(20,60));
         this.setSize(this.getToolkit().getScreenSize());
         this.setSize(this.getToolkit().getScreenSize());
         this.setVisible(true);
         this.requestFocus();
         this.setBackground(Color.blue);
         this.addKeyListener(this);
      
        }
      
        public void paint(Graphics g)
        {
         g.setColor(Color.green);
         g.drawString("Die aktuelle Bildschirmgröße ist "+getSize().width+"*"+getSize().height,50,100);
         g.drawString("Bitte eine Taste drücken",400,500);
        }
      }

      Comment

      Working...
      X