Görsel Öğeler

Java Görsel Öğeler Programlama Dilleri hakkında bilgi paylaş; Görsel Öğeler: JFrame : Birkaç component'ı da bir Frame üzerinde gösterelim. Frame üzerine yerleştirdiğim component'ların ...
Cevapla
 
Seçenekler
  #1  
Arama 21-11-2007
kadınca - ait Kullanıcı Resmi (Avatar)

Üyelik Tarihi: 28/08/07
Mesajlar: 6.557
 
     WS-Ticareti: (1)
Blog Yazıları: 2
Teşekkürleri: 34
254 Msg. 408 Tşkr.
Rep Gücü: 100 kadınca has a reputation beyond reputekadınca has a reputation beyond reputekadınca has a reputation beyond reputekadınca has a reputation beyond reputekadınca has a reputation beyond reputekadınca has a reputation beyond reputekadınca has a reputation beyond reputekadınca has a reputation beyond reputekadınca has a reputation beyond reputekadınca has a reputation beyond reputekadınca has a reputation beyond repute

Görsel Öğeler

Görsel Öğeler:
JFrame :

Birkaç component'ı da bir Frame üzerinde gösterelim.

Frame üzerine yerleştirdiğim component'ların bir kısmının nasıl kullanıldığını örnek üzerinde göreceğiz. Geri kalanları da kendiniz örnek geliştirerek görebilirsiniz.
Burada şunu da eklemek istiyorum. Şu anda dünyada kullanılan bir çok Java editörü var , fakat bunlar içerisinde en yaygın olarak kullanılanları Jbuilder 7.0 ( Borland Software Corp.- Lisans zorunlu ) ve VisualAge For Java ( IBM - Lisans zorunlu). Buradaki örneklerimi ben Jbuilder 7.0 üzerinde geliştiriyorum. Bunların yanı sıra daha bir çok componentlar mevcuttur, tabi ki bunlar geliştirdiğiniz uygulamaya bağlı olarak ihtiyaç duyabileceğiniz çok değişik nesnelerdir. Örneğin database uygulamaları esnasında ihtiyaç duyabileceğiniz birçok nesne hazır olarak paketler halinde IDE (Integrated Development Environment) 'ye eklenmiştir.

Ekrana bir Frame çıkarmak için gerekli olan kod aşağıdadır:
import javax.swing.*; public class HelloWorldSwing {public static void main(String[] args) {JFrame frame = new JFrame("HelloWorldSwing");final JLabel label = new JLabel("Hello World");frame.getContentPane().add(label); Frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOS E); frame.pack(); frame.setVisible(true); } }Burada JFrame ve JLabel sınıfları javax.swing paketi içerisinde yer alır , dolayısıyla bu paketi programa dahil ettik. Daha sonra sınıfımızı tanımlayıp , main(…) metodunu yazdık.
JFrame frame = new JFrame("HelloWorldSwing");Daha sonra
final JLabel label = new JLabel("Hello World");kodu programda JLabel sınıfına ait bir instance ( örnek ) oluşturur ve bu Jlabel'in metni de (text) "Hello World" olur.
frame.getContentPane().add(label); kodu ile de oluşturduğumuz frame üzerine label nesnesini ekleriz. Bu işlemi diğer bir şekilde
Container container= getContentPane(); container.add(label); kodu ile de yapabilirdik , fakat genelde fazladan bir değişken tanımlamadan bu özelliğe direct olarak frame üzerinden de erişebiliriz.
Frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOS E);kodu ile de frame kapatıldığında , proses öldürülür, programdan çıkılır.
frame.pack();frame.setVisible(true);kodları ile de frame ekrana çıkartılır.
Programı derleyip çalıştırırsak ;

Buraya kadar bir frame nasıl oluşturulur ve ekrana çıkarılır onu gördük. Buna ek olarak bir de briçok uygulamalarınızda kullanacağınız çok faydalı bir component olan Jlist ile ilgili örnek vermek istiyorum.
Basit bir JList uygulaması

// Importsimport java.awt.*;import java.awt.event.*;import javax.swing.*;class ListExample extends JFrame { private JPanel topPanel; private JList listbox; // Sınıfımıza ait Constructor ( aynı ada sahip ) public ListExample() { // Frame özelliklerini set edelim setTitle( "Simple ListBox Application" ); setSize( 300, 100 ); setBackground( Color.gray ); // Diğer tüm componentları tutsun diye bir panel topPanel = new JPanel(); topPanel.setLayout( new BorderLayout() ); getContentPane().add( topPanel ); // Listeye eklemek için keyfi bir liste oluşturalım String listData[] = { "Item 1", "Item 2", "Item 3", "Item 4" }; // Listbox nesnemizi oluşturalım listbox = new JList( listData ); //Panelin ortasına yerleştiriyoruz pPanel.add( listbox, BorderLayout.CENTER ); } public static void main( String args[] ) { // Test uygulaması için örnek bir olay yaratalım ListExample mainFrame = new ListExample(); mainFrame.setVisible( true ); }}Programımızı derleyip çalıştıralım:

Burada kullanıcı ok tuşları aracılığı ile listeden istediği opsiyonu seçebilir.
Jlist ile örnek uygulama geliştirdikten sonra artık örneğimizi biraz geliştirelim. Geliştireceğimiz programda bir listeden kullanıcı istediği resmi seçecek ve aynı pencere içerisinde seçilen resim bit buton aracılığı ile hemen yanında görüntülecektir. Aslında burda buton kullanmamamıza gerek yok fakat ben buton nasıl kullanılır onu göstermek için programa ekledim. Eğer buton kullanmasaydık , kullandığımız Jlist üzerinde bir dinleyici (Listener ) implement ederek, seçim her değiştiğinde ne yapmasını istediğimizi kodlayacaktık.
Geliştireceğimiz program aşağıdadır:

Burada JList , JLabel , JButton , JFrame nesnelerini kullanacağız. Kullanıcı listeden görmek istediği resmi seçecek , daha sonra da GÖSTER butonuna tıkladığında resim yan tarafta görüntülenecektir.
Bu program için 2 Java dosyası gerekiyor, bunlardan birincisi Frame ve üzerinde bulunan tüm nesnelerle programın aslı işlevsel kısmını içeren sınıf dosyası , diğer dosyamız ise bu dosyanın sürücüsüdür.
Program dosyaları

Frame1.Java
import java.awt.*;import java.awt.event.*;import javax.swing.*;
import java.util.*;import java.awt.event.*;import javax.swing.event.*;public class Frame1 extends JFrame {private JPanel contentPane;private JPanel jPanel1 = new JPanel();private JScrollPane jScrollPane1 = new JScrollPane();private JList jList1 ;private JLabel jLabel1 = new JLabel();private JLabel myLabel = new JLabel();private ImageIcon icon1;private JButton jButton1 = new JButton();private JLabel jLabel2 = new JLabel();private JButton jButton2 = new JButton();//Construct the framepublic Frame1() {enableEvents(AWTEvent.WINDOW_EVENT_MASK);try {jbInit();}catch(Exception e) {e.printStackTrace();}}//Component initializationprivate void jbInit() throws Exception {icon1 = new ImageIcon(Frame1.class.getResource("resim1.jpg"));//setIconImage(Toolkit.getDefaultToolkit().
createImage(Frame1.class.getResource("[Your Icon]")));String imageList[]={"Resim1","Resim2","Resim3","Resim4","Resim5","Re sim6","Resim7","Resim8","Resim9","Resim10"_,"Resim 11","Resim12","Resim13","Resim14","Resim15","Resim 16","Resim17"} ;jList1 = new JList(imageList);contentPane = (JPanel) this.getContentPane();this.setSize(new Dimension(780, 473));this.setTitle("Resim Görüntüleyici");jPanel1.setLayout(null);jLabel1.se tText("Resimlerin Listesi");jLabel1.setBounds(new Rectangle(20, 3, 101, 17));jButton1.setBounds(new Rectangle(78, 266, 95, 27));jButton1.setText("GÖSTER");jButton1.addAction Listener(new java.awt.event.ActionListener() {public void actionPerformed(ActionEvent e) {jButton1_actionPerformed(e);}});jLabel2.setText(" Görmek istediğiniz resmi seçip GÖSTER butonuna tıklayın");jLabel2.setBounds(new Rectangle(17, 408, 324, 31));jButton2.setBounds(new Rectangle(665, 408, 86, 27));jButton2.setText("ÇIKIŞ");jButton2.addActionL istener(new java.awt.event.ActionListener() {public void actionPerformed(ActionEvent e) {jButton2_actionPerformed(e);}});myLabel.setBounds (new Rectangle(291, 11, 460, 388));jScrollPane1.setBounds(new Rectangle(18, 35, 228, 164));jPanel1.add(jScrollPane1, null);jScrollPane1.getViewport().add(jList1, null);jPanel1.add(myLabel, null);jPanel1.add(jLabel1, null);jPanel1.add(jButton1, null);jPanel1.add(jLabel2, null);jPanel1.add(jButton2, null);contentPane.add(jPanel1, BorderLayout.CENTER);myLabel.setIcon(icon1);}prote cted void processWindowEvent(WindowEvent e) {super.processWindowEvent(e);if (e.getID() == WindowEvent.WINDOW_CLOSING) {System.exit(0);}}void jButton1_actionPerformed(ActionEvent e) {String selectedIcon=(String)jList1.getSelectedValue();ico n1 = new ImageIcon(Frame1.class.getResource(selectedIcon+". jpg"));myLabel.setIcon(icon1);}void jButton2_actionPerformed(ActionEvent e) {System.exit(0);}}Application1.Java ( Frame1 Sürücü Dosyası )import javax.swing.UIManager;import java.awt.*;public class Application1 {private boolean packFrame = false;//Construct the applicationpublic Application1() {Frame1 frame = new Frame1();if (packFrame) {frame.pack();}else {frame.validate();}//Pencereyi Ortala Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();Dimens ion frameSize = frame.getSize();if (frameSize.height > screenSize.height) {frameSize.height = screenSize.height;}if (frameSize.width > screenSize.width) {frameSize.width = screenSize.width;}frame.setLocation((screenSize.wi dth -
frameSize.width) / 2, (screenSize.height - frameSize.height) / 2);frame.setVisible(true);}//Main methodpublic static void main(String[] args) {try {UIManager.setLookAndFeel("javax.swing.plaf.metal. MetalLookAndFeel");}catch(Exception e) {e.printStackTrace();}new Application1();}}Burada üzerinde durmak istediğim konular , listeden seçilen resmin adını nasıl aldığımız ve buton'a nasıl bir olay bağladığımız konularıdır.
Öncelikle Jlist yapımıza resimlerin listesini bir String dizisi aracılığı ile aktarıyoruz. Burada karşımızı çıkan problem ise bu listenin güncellenememesidir, fakat üzerinde biraz kafa yorarsanız buna da çözüm olduğunu göreceksiniz, Vector vs. gibi dinamik liste yapıları kullanarak bu işin de üstesinden gelinebilir. Bu konular hakkında nette tonla döküman bulabilirsiniz.
String selectedIcon=(String)jList1.getSelectedValue(); Kodu aracılığı ile listemizden seçilen değeri String olarak alabiliyoruz. Liste yapısı daha birçok metoda sahiptir, incelemenizi öneririm. Seçilen değerlerin indexlerine vs. ulaşmak mümkün.
jButton2.addActionListener(new java.awt.event.ActionListener() {public void actionPerformed(ActionEvent e) {jButton2_actionPerformed(e);}});kodu ile de jButton2 adlı butonumuza bir olay bağlıyoruz. Butona tıklandığında
jButton2_actionPerformed(e);fonksiyonunu çağırmasını istiyoruz. Bu fonksiyonda sınıf içerisinde tanımlıdır.
void jButton1_actionPerformed(ActionEvent e) { String selectedIcon=(String)jList1.getSelectedValue();ico n1 = new ImageIcon(Frame1.class.getResource(selectedIcon+". jpg"));myLabel.setIcon(icon1);}Burada da , listeden seçilen resim , ilgili resim adına uygun şekilde formatlanarak (selectedIcon+".jpg", burada resim1 seçildiğine "resim1"+ ".jpg" - > "resim1.jpg" haline gelir) çağrılır. Tabi ki burada ilgili jpg dosyalarının kaynak kodları ile aynı klasörde bulunduğunu varsayıyoruz. Aksi halde dosyaların yolu gösterilmelidir. Fakat burada şuna dikkat etmemiz gerekiyor : C:\myImages yerine C:\\ myImages şekilde çift \ ile yolları göstermemiz gerekiyor.
Derleme ve Çalıştırma

Öncelikle kaynak kodlarımızın aynı klasör içerisinde bulunup bulunmadığını kontrol edelim.

Daha sonra dosyaları tek tek derleyelim , once Frame1.java dosyasını derleyelim. Daha sonra da Application1.java dosyasını derleyelim. En son olarak ta programımızı çalıştıralım.


Buraya kadar Java Nedir ve Java Programlamaya Giriş 1-2-3 olmak üzere 4 tane yazı yazdık. Bundan sonra Java ile ilgili tecrübelerini artırmak isteyen arkadaşlara önerim bol bol döküman okumaları ve uygulama geliştirmeleridir.
__________________
konularımı ç-alırken lütfen altına nikimi yazarak alınız.yoksa eklediğiniz sitede deşifre edilirsiniz
Alıntı ile Cevapla
Cevapla


Konuyu Toplam 1 Üye okuyor. (0 Kayıtlı üye ve 1 Misafir)
 
Seçenekler


Benzer Konular
Konu Konu Açanlar Forum Cevaplar Güncel Mesajlar
Flash CS3 Görsel Eğitim Seti derzulya Web - Grafik Tasarım - 3D 4 15-05-2008 11:24
Php Görsel Dersler FERDIKUCUK PHP 4 05-04-2008 01:29
Deep Freeze Görsel Kurulumu ve Kaldırılması kadınca Program kullanımı & tanıtım 1 26-03-2008 05:27
Php Makale Scripti Yazmak Görsel Ders FERDIKUCUK PHP 2 25-03-2008 01:24
Delphi Görsel Bileşen Kütüphanesi (VCL) kadınca Delphi 0 21-11-2007 08:39

Link vermek için alttaki kodu sitenize ekleyebilirsiniz.
Veya Ctrl+C ile Kopyalayınız
Örnek görünüm: Webmaster Sitesi