problem ze zrozumiemiem kodu apletu

0

Bardzo proszę o wyjaśnienie:

  1. Do czego służy metoda consume()? Po zakomentowaniu tej metody program wydaje się działać tak samo jak z aktywną metodą,
  2. Nie rozumiem zapisu prawej strony wyrażenia: width = getSize().width, pierwszy raz widzę konstrukcję Metoda.zmienna,
  3. Skąd bierze się wartości width i height skoro ich nie podaję?
import java.applet.*; 
import java.awt.*; 
import java.awt.event.*; 

public class Samochody extends Applet implements KeyListener, MouseListener { 
	int width, height; 
	int x, y; 
	String s = ""; 
	public void init() { 
		width = getSize().width; //????
		height = getSize().height; //????
		setBackground( Color.black ); 
		x = width/2; y = height/2; 
		addKeyListener( this ); 
		addMouseListener( this ); 
	} 
	
	public void keyPressed( KeyEvent e ) {
		} 
	public void keyReleased( KeyEvent e ) { 
		} 
	public void keyTyped( KeyEvent e ) { 
		char c = e.getKeyChar(); 
		if ( c != KeyEvent.CHAR_UNDEFINED ) 
		{ s = s + c; 
		repaint(); 
		e.consume();
		} 
		} 
	public void mouseEntered( MouseEvent e ) { 
		} 
	public void mouseExited( MouseEvent e ) { 
		} 
	public void mousePressed( MouseEvent e ) { 
		} 
	public void mouseReleased( MouseEvent e ) { 
		} 
	public void mouseClicked( MouseEvent e ) { 
		x = e.getX(); 
		y = e.getY(); 
		s = ""; 
		repaint(); 
		e.consume(); 
		} 
	public void paint( Graphics g ) { 
		g.setColor( Color.gray ); 
		g.drawLine( x, y, x, y-10 ); 
		g.drawLine( x, y, x+10, y ); 
		g.setColor( Color.green ); 
		g.drawString( s, x, y ); 
	} 
}
0
  1. Podajesz, na stronie html w znaczniku applet.
  2. getSize() zwraca obiekt klasy Dimension, który ma pola width i height.
0
  1. e.consume() ma znaczenie gdy jest więcej KeyListenerów. Jeżeli ten listener pierwszy obsłuży zdarzenie, to następne listenery nie dowiedzą się o zdarzeniu.
0

bardzo dziękuję bo :-) Jeszcze jedno pytanie: czy wartości zmiennych height i width wynikają z ustawień przeglądarki?

0

Nie.

<applet width="300" height="300" code="NazwaTwojegoApletu">
</applet>

Parametrów może być więcej, te trzy są obowiązkowe.

1 użytkowników online, w tym zalogowanych: 0, gości: 1