Java Swing ile Dinamik Olarak Bilesen Eklemek

Batuhan Düzgün tarafından yayınlanmıştır 24. December 2012 08:53

Herkese merhaba arkadaslar bu yazida sizlerle birlikte Swing GUI kutuphanesi inceleyecegiz. Swing ile form uzerine dinamik olarak bilesen ekleme konusuna deginecegim.

 

Swing Nedir ?

 

Swing, Java tarafinda bulunan, masaustu uygulamalari icin gorsel bilesen tabanli uygulamalar gelistirmek amaciyla ortaya cikmistir. Swing kutuphanesi icinde GUI tabanli bir cok temel bilesen mevcuttur. Masaustu uygulamalarin onemini yitirmesi nedeniyle cok gozoununde degildir.

 

Swing kutuphanesi ile Jframe ve Jpanel kullanimina deginecegim. Swing uygulamasi mutlaka bir Jframe icermelidir. Jframe iceren bir Swing projesinde gorsel bilesenler, bu Jframe uzerine eklenmektedir. Jpanel ise gorsel bilesenleri bir arada tutan bir icerek tutucudur. Ayni panel uzerine eklenmis olan bilesenler, grup halinde Jpanele baglidir.

 

Jbutton ise form uzerine dinamik olarak yeni Jbutton'lar eklemek icin eklenecektir. 

 

File >> New >> Java Project yolunu takip ederek core Java projesi olusturulur. Asagidaki gibi Java projesi kodlanir. 

 

import java.awt.event.MouseEvent;

import java.awt.event.MouseListener;

 

import javax.swing.JButton;

import javax.swing.JFrame;

import javax.swing.JPanel;

 

public class Main extends JFrame{

static JPanel panel = null;

static float verticalAligment = 100.0f;

static int buttonCounter = 1;

static Main main = null;

public static void main(String[] args) {

main = new Main();

}

public Main() {

//JPanel turunden bir nesne olusturulur ve JFrame'e eklenir.

panel = new JPanel();

JButton button = new JButton();

button.setText("Yeni buton ekle");

// Swing kutuphanesine ait Button nesnesine MouseClickListener baglanir.

// MouseClickListener mouse ile ilgili her turlu olayi yakalayan listener'dir.

button.addMouseListener(new MouseListener() {

@Override

public void mouseReleased(MouseEvent e) {}

@Override

public void mousePressed(MouseEvent e) {}

@Override

public void mouseExited(MouseEvent e) {}

@Override

public void mouseEntered(MouseEvent e) {}

@Override

public void mouseClicked(MouseEvent e) {

//Dinamik olarak JPanel uzerine Button nesnesi yerlestirilir

JButton newButton = new JButton();

//Button uzerinde gorulecek olan yazi setlenir.

newButton.setText("Button" + buttonCounter);

newButton.setAlignmentX(150.f);

newButton.setAlignmentY(200.0f);

panel.add(newButton);

//Panelin validate() metodu ekledigin gorsel bilesenin ekranda gorunmesini saglar.

//yani refresh gorevini gorur.

panel.validate();

// Ayni sekilde JFrame icinde validate() metodu cagrilir.

// JFrame icerigide refresh edilmis olur.

validate();

buttonCounter++;

}

});

// JPanel uzerine Button nesnesi eklenir.

panel.add(button);

//JPanel JFrame uzerine eklenir.

this.add(panel);

this.setSize(450, 450);

this.setVisible(true);

}

}

 

Swing ile ilgili siniflar 'javax' kutuphanesi altinda toplanmistir.  Program 'Run As >> Java Application' olarak derlenir. Sonuclar asagidaki gibidir.

 

 

Umarim yararli bir yazi olmustur. Bir sonraki makalemde gorusmek dilegiyle ...

 

Batuhan Duzgun

Bilgisayar Muhendisi

Endustri Muhendisi 

Currently rated 5.0 by 2 people

  • Currently 5/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Etiketler:

Java

Comments

Add comment


(Will show your Gravatar icon)  

  Country flag

biuquote
  • Comment
  • Preview
Loading





Bu site BlogEngine.NET 1.4.5.0 ile oluşturulmuştur. Türkçe çevirisi BlogEngine TR ekibi tarafından yapılmıştır.

Batuhan Düzgün

Sakarya Üniversitesi 

Bilgisayar Mühendisi

Endüstri Mühendisi

Yeditepe Üniversitesi

Bilgisayar Mühendisliği Yüksek Lisans 

 sahibinden.com

   Kıdemli Uzman Yazılım Mühendisi  

E-Mail 

   batuhan.duzgun@sahibinden.com

   batuhan.duzgun@windowslive.com

  github.com/batux

 

Sayfalar

Calendar

<<  August 2019  >>
MoTuWeThFrSaSu
2930311234
567891011
12131415161718
19202122232425
2627282930311
2345678

Yazıları geniş takvimde göster