10-lekciya: Tıshqansha waqıyaları hám olardı qayta islew
Jobası:
10.1.
mouseEntered
metodı
10.2.
mouseExited
metodı
10.3.
mousePressed
metodı
10.4.
mouseReleased
metodı
10.5.
mouseClicked
metodı
Grafikalıq paydalanıwshı interfeysin jaratıw waqtında tıshqansha menen júz
beretin waqıyalardı da esapqa alıw zárúrligi payda boladı. Yaǵnıy
komponent
ústinde tıshqansha járdeminde qandayda bir ámellerdi islew kerek boladı. Swing de
bunday
jaǵdaylarda
java.awt.event
paketindegi
MouseListener
interfeysinen paydalanıladı. Bul interfeys ishinde realizaciya qılınıwshı 5
metod
bar. Bul metodlardı shártli túrde 2 toparǵa ajıratıw múmkin. Birinshi toparǵa
kiriwshi dáslepki 2 metod, ápiwayı sóz benen aytqanda tıshqansha kórsetkishiniń
qozǵalısına juwap beredi. Yaǵnıy tıshqansha kórsetkishi qozǵalsa,
onda bul
metodlar shaqırıladı. Ekinshi toparǵa kiriwshi 3 metod bolsa, tıshqansha túymeleri
basılǵanda shaqırıladı.
Dáslep
mouseEntered()
metodın qarayıq.
Bul metod, qashan tıshqansha
kórsetkishi tiyisli komponent ústine barǵanda sistema tárepinen shaqırıladı. Al, bul
metodtın kerisi
mouseExited()
metodı esaplanadı. Bul metod, qashan tıshqansha
kórsetkishi tiyisli komponent ústinen basqa tárepke shıqqan waqıtta isleydi.
Máselen, qandayda bir komponentke
MouseListener
interfeysin hám joqarıdaǵı
2 metodtı qostıńız. Programmanı orınlatıp tıshqansha kórsetkishin júrgizip
komponentaǵa aparǵanıńızda
mousEntered()
metodı, al bul komponentten sırtqa
shıǵarǵanda bolsa
mouseExited()
metodı isleydi.
Qashan tıshqanshanıń qálegen túmesin basqan waqıtta
mousePressed()
metodı isleydi. Yaǵnıy tıshqansha kórsetkishin tiyisli komponentaǵa apardıńız hám
túymesin bastıńız, nátiyjede
mousePressed()
metodı isleydi. Al túymeni
jazdırdıńız (jiberdińiz), nátiyjede
mouseReleased()
metodı isleydi. Eń qızıǵı
mouseClicked()
metodı bolıp, eger tıshqansha túymesin
tiyisli komponent
ústine barıp basıp hám jiberseńiz, onda metod isleydi. Al tıshqansha túymesin
tiyisli komponent ústine basıp, onı basqa orınǵa (sol komponentten tısqarı) aparıp
jazdırsańız metod islemeydi.
Tómendegishe mısal kóreyik.
JFrame
de 1
JButton
jaylasqan bolıp, sol
túymes ústinde tıshqansha járdeminde qanday ámeller orınlansa, olardıń barlıǵı
tómende
jaylasqan
JLabel
komponentinde shıqsın (10.1-súwret).
10.1-súwret.
Programma kodları:
package lekciya_10;
import java.awt.BorderLayout;
import java.awt.Dimension;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
import javax.swing.*;
public class Lekciya_10 extends JFrame{
private final JLabel label;
public Lekciya_10() {
super("Test");
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
JPanel panel = new JPanel();
panel.setLayout(new BorderLayout());
JPanel buttonsPanel = new JPanel();
JButton button = new JButton("Tuyme");
button.setPreferredSize(new Dimension(150, 80));
buttonsPanel.add(button);
button.addMouseListener(new CustomListener());
panel.add(buttonsPanel, BorderLayout.NORTH);