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!