Kod do wykładu 3

 

Slajdy z wykładu są uzupełniane przez przykłady wykorzystania omawianych funkcjonalności. Poniżej spis dostępnych przykładów.

 

Wykład 3 - Interfejsy, Nasłuchiwacze, Kolekcje

  • Wykorzystanie 4 rodzajów nasłuchiwaczy: ActionListener, KeyListener, MouseListener oraz AdjustmentListener
package pw.java.listeners;
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.FlowLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.AdjustmentEvent;
import java.awt.event.AdjustmentListener;
import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;
import java.awt.event.MouseEvent;
import java.awt.event.MouseMotionListener;

import javax.swing.*;

public class Nasluchiwacze extends JFrame {

	int pole = 0;
	Nasluchiwacze()
	{
		this.setSize(600,600);
		this.setDefaultCloseOperation(EXIT_ON_CLOSE);
		this.setLayout(new FlowLayout());
		
		// ACTION LISTENER ********************
		JButton b1 = new JButton("kliknij mnie");
		b1.addActionListener(new ActionListener() {
			@Override
			public void actionPerformed(ActionEvent arg0) {
				b1.setText("Pole: "+pole++ + " ");			
			}		
		});
		this.add(b1);
		
		// KEY LISTENER **************************
		JLabel labelKey = new JLabel("Klawisz");
		labelKey.setForeground(Color.BLUE);
		this.add(labelKey);
		this.setFocusable(true);
		this.addKeyListener(new KeyListener() {
			
			@Override
			public void keyTyped(KeyEvent e) {
			}
			
			@Override
			public void keyReleased(KeyEvent e) {
			}
			
			@Override
			public void keyPressed(KeyEvent e) {
				labelKey.setText("Klawisz: "+e.getKeyChar());
				
			}
		});
		
		// MOUSE LISTENER **************************		
		JLabel labelMysz = new JLabel("Pozycja myszy");
		this.add(labelMysz);
		this.addMouseMotionListener(new MouseMotionListener() {
			
			@Override
			public void mouseMoved(MouseEvent e) {
				labelMysz.setText("Mysz: "+e.getX()+" "+e.getY());
				
			}

			@Override
			public void mouseDragged(MouseEvent e) {
			}
		
		});
		
		// ADJUSTMENT LISTENER **************************
		JLabel label = new JLabel("suwak");
		JScrollBar sb = new JScrollBar(JScrollBar.HORIZONTAL);
		sb.setMinimum(0);
		sb.setUnitIncrement(1);
		sb.setMaximum(30+10); //a scroll bar can only go up to it's maximum minus the size of the scrollbar's slider.
		sb.addAdjustmentListener(new AdjustmentListener() {

			@Override
			public void adjustmentValueChanged(AdjustmentEvent arg0) {
				label.setText(""+sb.getValue());
				
			}
			
		});
		this.add(sb);
		this.add(label);
		
	}
	
	public static void main(String[] args) {
		Nasluchiwacze n = new Nasluchiwacze();
		n.setVisible(true);

	}

}
  • Kolekcje Demo
package pw.java.kolekcje;

import java.util.ArrayList;
import java.util.Iterator;

public class KolekcjeDemo {

	public static void main(String[] args) {
		
		//tablica
		Integer[] tablica = new Integer[3]; //musimy znac wielkosc
		tablica[0] = 2;
		tablica[1] = 3;
		tablica[2] = 5;
		
		for (int k = 0; k< tablica.length; k++){
			System.out.println(tablica[k]);
		}
		
		//kolekcja typu ArrayList
		ArrayList<Integer> arraylist = new ArrayList<Integer>(); //nie musimy zakladac z gory wielkosci
		arraylist.add(2);
		arraylist.add(3);
		arraylist.add(5);
		
		//wypisywanie kolekcji element po elemencie
		System.out.println("+++");
		for (int k = 0; k< arraylist.size(); k++){
			System.out.println(arraylist.get(k));
		}
		
		//oraz przy uzyciu foreach
		System.out.println("+++");
		for(Integer z : arraylist){
			System.out.println( z );
		}
		
		//przy uzyciu iteratora
		System.out.println("+++");
		Iterator<Integer> iter = arraylist.iterator();
		while (iter.hasNext()){
			System.out.println(iter.next());
		}
		
		//lub prosciej:
		System.out.println("+++");
		System.out.println(arraylist);
		
	}
}
  • Więcej przykładów w paczce z projektem!