Algoritma ve Programlama BMÜ 112

22
Dr. Galip AYDIN

description

Dr. Galip AYDIN. Algoritma ve Programlama BMÜ 112. BMU 112 Web. http://web.firat.edu.tr/bilmuh/bmu112/ Ders Notları Kaynaklar Araçlar Duyurular. Ders İçeriği. Java ile Görsel Programlama  AWT ve Swing uygulamaları  Java Appletler JavaFX Veri Yapıları - PowerPoint PPT Presentation

Transcript of Algoritma ve Programlama BMÜ 112

Page 1: Algoritma ve Programlama  BMÜ 112

Dr. Galip AYDIN

Page 2: Algoritma ve Programlama  BMÜ 112

http://web.firat.edu.tr/bilmuh/bmu112/

Ders NotlarıKaynaklar AraçlarDuyurular

Page 3: Algoritma ve Programlama  BMÜ 112

Java ile Görsel Programlama  AWT ve Swing uygulamaları 

Java Appletler JavaFX Veri Yapıları

Diziler, Yığın, Kuyruk, Liste, Ağaç yapıları  Nesne Tabanlı Programlama

Nesnelerin yeniden kullanımı, Kompozisyon Kalıtım ve Polimorfizm Soyut Sınıflar ve Arayüzler 

Java ile veritabanı uygulamalarına giriş (JDBC - Java Database Connectivity)

Java ile Internet programlamaya giriş Web Servers, (JSP - Java Server Pages)

Page 4: Algoritma ve Programlama  BMÜ 112

JDK (Java Development Kit) JDK 6 Update 12 http://java.sun.com/javase/downloads/in

dex.jsp

JRE (Java Runtime Environment)NetBeans 6.5 IDE

http://www.netbeans.org/downloads/index.html

Page 5: Algoritma ve Programlama  BMÜ 112

Geniş Kapsamlı bir Dönem Projesi Proje Konuları Takımlar (? kişi) Ara raporlar Proje notları

Page 6: Algoritma ve Programlama  BMÜ 112

Oyunlar Super Mario, Tank vs., Trivia, Genel

Kültür, Var mısın Yok musun? Dosya yöneticisi

Dosya arama, karşılaştırma, duplicate dosyaları bulma, batch dosya işlemleri vs.

Web tabanlı otomasyon, kayıt sistemi...

Java FX ?

Page 7: Algoritma ve Programlama  BMÜ 112

Dr. Galip AYDIN

Page 8: Algoritma ve Programlama  BMÜ 112

AWT ve Swing AWT, (Abstract Window Toolkit) ilk java ile birlikte gelistirilen

temel grafik arayuz olusturma kutuphanesine verilen isimdir. Ancak Java 2 platformu ile birlikte AWT'nin yetersiz gorulmus ve cok daha genis ve gelismis ozelliklere sahip Swing kutuhanesi sisteme eklenmistir. Ozellikle cok platform destekleyen yazilimlarda kullanici arayuzu gelistirme araci olarak swing halen onemini korumaktadir.

Swing, onceleri isletim sisteminin kullandigi donanim grafik hizlandirma araclarini kullanmadigindan yavasligi ile elestirilere hedef olmustu. Ozellikle Java 1.4 ile Swing, hem genel olarak sanal makinenin hizlanmasi ve kismen donanim hizlandirmayi kullanmasi ile bu kotu sohretinden siyrilmaya basladi. Java 1.5 ile donanim, ozellikle OpenGL kullanimi ve yeni arayuz gosterim sekli ile java'nin masaustu uygulama gelistirmede populerlesmesi bekleniyor. AWT halen swingin bir alt katmaninda, temel 2 boyutlu grafik islemlerinde kullanilmaya devam ediyor.

Page 9: Algoritma ve Programlama  BMÜ 112

• SWT: The Standard Widget Toolkit• Swing'e bir alternatif olarak IBM tarafindan gelistirilen

bir gosterim sistemidir. Swing'den en buyuk farki calistigi isletim sisteminin grafik kutuphanesi ve komutlarini kullanmasidir. Bu nedenle SWT uygulamalari Swing'e gore cogu yerde daha hizli ve isletim sistemindeki diger uygulamalari andiran bir sekilde calismasini saglar.

• Swingin Java 1.5 ile performans acigini kapatacagi iddia edilse de SWT'nin de artik java camiasinda kabul gormus bir sistem oldugu asikardir. SWT'nin dezavantaji ise java'nin bir parcasi olmamasidir. yani SWT uygulamalari SWT kutuphanesi ile birlikte dagitilmaktadir. En bilinen SWT uygulamasi unlu java yazilim gelistirme araci Eclipse'tir. Bununla birlikte son yillarda Swing ile profesyonel derecede arayuza sahip masaustu yazilimlari da ortaya cikmistir.

Page 10: Algoritma ve Programlama  BMÜ 112

• Applet, uzaktaki sistem uzerinden indirilip internet tarayici uzerinde calistirilabilien java uygulamalarina verilen isimdir. Java'nin son kullanicilar tarafindan taninmasi applet sayesinde olmustur dersek yanlis olmaz. Applet'ler sisteme zarar veremeyecek bir sekilde tasarlanmistir ve bugun ozellikle oyun sitelerinde halen yaygin olarak kullanilmaktadir. Icerisinde applet olan bir sayfayi acmaya calistiginizda tarayiciniz otomatik olarak java sanal makinesini calistirip ekranin applet'e ayrilan bolumunde uygulamanin calismasini saglar.

Page 11: Algoritma ve Programlama  BMÜ 112

JPanel

JButton

Listener

JFrame

JLabel

Oluştur:▪ Frame/JFrame▪ Panel/JPanel▪ Components▪ Listeners

Ekle: ▪ Listeners into components▪ Components into panel▪ Panel into frame

Page 12: Algoritma ve Programlama  BMÜ 112

1. Oluştur▪ Nesneyi başlat:

JButton b = new JButton();2. Özelliklerini belirle

▪ Metodlar: b.setText(“Press me”);

3. Ekle▪ panel.add(b);

4. Dinle▪ Events: Listeners

Page 13: Algoritma ve Programlama  BMÜ 112

import javax.swing.*;

class Hello {public static void main(String[] args){

JFrame f = new JFrame(“Merhaba SWING”);JPanel p = new JPanel();JButton b = new JButton(“TIKLA”);p.add(b); // butonu panele eklef.getContentPane().add(p); // paneli frame’e

eklef.show();

}}

Page 14: Algoritma ve Programlama  BMÜ 112

▪ Swing dizaynında kullanılan temel bileşenler

▪ Üst seviye Taşıyıcı (Top-level Container)▪ Örnek: JFrame▪ Diğer bütün swing bileşenlerini taşır▪ Diğer seçenekler: JDialog ve JApplet

▪ Orta seviye Taşıyıcı (Intermediate Container)

▪ Örnek: JPanel▪ GUI bileşenlerinin yerlerini kontrol etmek için

kullanılır▪ Aracı olarak hareket eder▪ Diğer seçenekler: JScrollPane, JTabbedPane, …

▪ Atomik Bileşenler▪ Örnek: JButton▪ Tek başına işlev sahibi GUI bileşenleri▪ Diğer seçenekler: JTextField, JTable,

Page 15: Algoritma ve Programlama  BMÜ 112

Üst seviye taşıyıcılar: JFrame, JDialog, JApplet

Temel kontroller: JButton, JComboBox, List, Menu, Slider, JTextField, JLabel, progress bar,

tool tip

Content pane: JApplet, JDialog, ve Jframe nesneleri için temel taşıyıcı

Genel amaçlı taşıyıcılar: Panel, scroll pane, split pane,

tabbed pane, tool bar

Page 16: Algoritma ve Programlama  BMÜ 112
Page 17: Algoritma ve Programlama  BMÜ 112

JPanel

JButton

JFrame

JLabelGUI

İç yapısı

JFrame

JPanel

JButton JLabel

taşıyıcılar

Page 18: Algoritma ve Programlama  BMÜ 112
Page 19: Algoritma ve Programlama  BMÜ 112
Page 20: Algoritma ve Programlama  BMÜ 112
Page 21: Algoritma ve Programlama  BMÜ 112
Page 22: Algoritma ve Programlama  BMÜ 112