8 Haziran 2013 Cumartesi

Java Gui-12(Events&KeyEvent)


     Daha önceden "event"lara biraz değinmiştik.Yinede hatırlatacak olursak , oluşturduğumuz frame de bir olayın gerçekleşmesini istiyorsak önce o olay için uygun  listenerı ekliyorduk.Daha sonra bu dinleme işleminin kendine has metodlarını "Override" ederek olay sonucunda gerçekleşmesini istediğimiz işlemleri bu metodun içerisine kodlarımızı ekleyerek gerçekleştiriyorduk.
    Örneğin bir butonumuz olsun ve basıldığında penceremizi kapatsın.Bu iş için butona "ActionListener" ekliyoruz ve "actionPerformed(ActionEvent e)" metodunun içine kapat komutunu girerek işlemimizi tamamlıyoruz.
    Bu tarz eventlar için genel bir tablo ise aşağıdaki gibidir:




EVENTS
LİSTENERS
HANDLERS
ActionEvent
ActionListener
ActionPerformed(ActionEvent)
ItemEvent
ItemListener
itemStateChanged(ItemEvent)
TextEvent
TextListener
textValueChanged(TextEvent)
AdjustmentEvent
AdjustmentListener
adjustmentValueChanged
(AdjustmentEvent)
ContainerEvent
ContainerListener
componentAdded(ContainerEvent)
componentRemoved(ContainerEvent)
ComponentEvent
ComponentListener
componentMoved(ComponentEvent)
componentHidden(ComponentEvent)
componentResized(ComponentEvent)
componentShown(ComponentEvent)
FocusEvent
FocusListener
focusGained(FocusEvent)
focusLost(FocusEvent)
MouseEvent
MouseListener
MouseMotionListener
mousePressed(MouseEvent)
mouseReleased(MouseEvent)
mouseEntered(MouseEvent)
mouseExited(MouseEvent)
mouseClicked(MouseEvent)
mouseDragged(MouseEvent)
mouseMoved(MouseEvent)
KeyEvent
KeyListener
keyPressed(KeyEvent)
keyTyped(KeyEvent)
keyReleased(KeyEvent)
WindowEvent
WindowListener
windowActivated(WindowEvent)
windowClosing(WindowEvent)
windowClosed(WindowEvent)
windowDeiconified(WindowEvent)
windowIconified(WindowEvent)
windowOpened(WindowEvent)
MouseWheelEvent
MouseWheelListener
mouseWheelMoved(MouseWheelEvent)
 
Not // Listener lar için o listenera ait bütün metodlar programınızda yazılmalıdır aksi durumda ise derleyici hata verecektir.

KeyEvent

     Klavye üzerinden basılan tuşların neticesinde yaptırmak istediğimiz işlemler için kullanılır.Mesela Linux kullanıcıları için terminalden bir uygulama yüklemek istediğinizde genelde evet-hayır(E / H) seçeneği gelir.Basılan tuş neticesinde işlemini yürütür veya iptal eder.Bu gibi durumlarda KeyEvent idealdir.

Örnek

    Bu örnekte keyevent a basit bir giriş yapmış olalım.Örneğimizde pencerede aktif olarak kullandığımız 2 JLabel var.Klavyeden alfabetik tuşlara bastığımızda bun 2 Jlabelın birinde bastığımız tuşun karakteri , diğerinde ise  ASCII karşılığı yazacaktır.



import java.awt.FlowLayout;
import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JTextField;

public class KeyListenerDemo extends JFrame implements KeyListener{
    JLabel label = new JLabel("Key typed :");
    JLabel label1 = new JLabel();
    JLabel label2 = new JLabel();
    JLabel label3 = new JLabel();
    public KeyListenerDemo(){
    super("KeyListener");
    setSize(300, 300);
    setVisible(true);
    setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    setLocationRelativeTo(null);
    setLayout(new FlowLayout());
    add(label);add(label1);add(label2);
    addKeyListener(this);
    }
    public static void main(String[] args) {
        KeyListenerDemo demo = new KeyListenerDemo();
    }

    @Override
    public void keyTyped(KeyEvent e) {
       
        char c = e.getKeyChar();
        label1.setText(" "+c);
    }

    @Override
    public void keyPressed(KeyEvent e) {
       
        int c = e.getKeyCode();
        label2.setText(" "+c);
    }

    @Override
    public void keyReleased(KeyEvent e) {
       
    }
}
 

Ekran Görüntüleri











0 yorum:

Yorum Gönder