Oct 22

Swingler Java’nın platform-bağımsız arayüzleridir.Ancak aşağıdaki kodu programınıza uygun yere eklediğinizde program hangi bilgisayarda çalıştırılırsa o bilgisayardaki işletim sisteminin teması görünümünde karşınıza çıkacaktır.

Yani sizin bilgisayarınızda XP’nin klasik mavi teması görünümüyle çıkarken Mac OS yüklü bir bilgisayarda Apple’ın hazırladığı o güzel arayüz ile çıkar karşınıza.

try{
    UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
}
catch(Exception ex){
 
}

yazan Besim Çetin \\ tags: , , ,

Oct 21

Java da yazdığınız programların arayüzünü NetBeans gibi bir IDE ile görsel olarak sürükle bırak ile az kod yazarak hazırlayabilirsiniz.Böyle bir program olmadan program arayüzü nasıl hazırlanır.
Java bu durum için bir kaç alternatif bulundurur. Bunlar;

1. Applet
2. Swing
3. Bağımsız GUI’ler

APPLET

Appletler,derlenmiş Java programlarını web sayfalarında göstermek için hazırlanmış bir arayüz sınıfıdır.Applet olarak hazırlanmış bir Java uygulamasını herhangi bir web sayfasına ekleyebilirsiniz.

Temel kalıbı;
Bu kod bloğu ile genel olarak appletinizi hazırlayabilirisiniz.

import java.awt.*;
import java.applet.Applet;
 
public class AppletArayuz extends Applet{
   public void init(){
      //Başlangıçta, yani applet başlarken çalıştırılacak kodlar.
   }
 
   public void paint(Graphics g){
      //Applet görünümü üzerindeki 
      //değişiklikler için yazılacak kod bölümü.
   }
}

Örnek;

import java.awt.*;
import java.applet.Applet;
 
public class AppletArayuz extends Applet{
	Button buton;
	TextField textfield;
 
	public void init(){
		buton=new Button("Buton");
		textfield=new TextField("www.javaci.net");
		add(buton);
		add(textfield);
	}
 
  public void paint(Graphics GRAP){
          //Yeni bir font şekli hazırladık.
	  Font fnt=new Font("Arial",Font.BOLD,18); 
	  GRAP.setFont(fnt);
	  GRAP.drawString("Basit Applet",10,50);
  }
}

Bu kodları derlediğinizde ortaya çıkacak olan “AppletArayuz.class” dosyasının yerini, hazırladığınız herhangi bir web sayfasına şu şekilde;

“.class” uzantılı dosya “web sayfası” ile aynı yerdeyse;

<APPLET code=”AppletArayuz.class” width=600 height=300></APPLET>”

 ”.class” uzantılı dosyanız farklı klasördeyse;

<APPLET code=”AppletArayuz.class” codebase=”java/dersler/örnekler”/ width=600 height=300></APPLET>”

şeklinde “codebase” yazan kısma “.class” uzantılı Java dosyasının olduğu klasörün yolunu yazmalısınız.

UYARI ! Appletlerde “TÜRKÇE” karakter kullanabilmek için aşağıdaki kodu html sayfanıza eklemeniz gerekiyor.

“<meta http-equiv=”Content-Type” content=”text/html”; charset=windows-1254″>
 

Bu kodları web sayfasının kaynak kodlarına ekleyince sayfayı açtığınızda herşey doğruysa applet görünecektir.

SWING

Swingler geniş grafik seçenekleri sunarak daha başarılı arayüzler hazırlamanız için pek çok özellik sunan bir sınıftır.Aslında platform-bağımsız olarak tasarlanmıştır.Yani farklı işletim sistemlerinde aynı şekilde görünür.Ancak küçük bir kod eklemeyle işletim sisteminin kullandığı temanın şekline bürünebilirler.

Swing Kalıbı:
Bütün arayüz bileşenlerinin (buton,textbox,label…) başlarına “J” harfi eklenir.

import java.awt.*;
import javax.swing.*;
 
public class SwingArayuz  {
 
 private JFrame frame;
// En başa arayüz için bir frame tanılımlıyoruz.
 
private JButton buton;
private JLabel label;
private JComboBox combobox;
private JRadioButton rbuton;
private JTextArea textarea;
private JTextField textfield;
 
// Arayüz bileşnleri tanımlıyoruz.
 
public void arayuzHazırla(){
frame=new JFrame();	
 
buton=new JButton("Buton");
label=new JLabel("www.javaci.net");
rbuton=new JRadioButton("javaci");
//25 uzunluk belirliyor.
textfield=new JTextField("Klasik text kutusu...",25); 
//5,eni ve 15,boyu belirliyor.
textarea=new JTextArea(5,15);
 
combobox=new JComboBox();
combobox.addItem("Eclipse");
//Combo listesine eleman ekliyoruz.
combobox.addItem("NetBeans"); 
 
Container c=frame.getContentPane();
//AWT paketindeki diğer bileşenleri 
//SWING de kullanabilmek için Container olşuturulur.
 
frame.setSize(600,300);
//frame için en ve boy belirliyoruz.
 
frame.setLocation(100,100);
//frame in bilgisayarda açılacağı  konumu belirliyoruz.
 
c.setLayout(new FlowLayout());
//Bileşenlerin arayüze diziliş şeklini belirliyoruz.
 
c.add(buton);
c.add(label);
c.add(rbuton);
c.add(combobox);
c.add(textfield);
c.add(textarea);
// Bileşenler arayüze ekleniyor.
 
frame.setVisible(true);
// frame'in görünebilirliğini "true" yapıyoruz.
}
 
public static void main(String[] args){
SwingArayuz sa=new SwingArayuz();
//Ana sınıftan --arayuzHazırla-- 
//yordamını çağırmak için nesne oluşuruyoruz.
 
sa.arayuzHazırla();
}
}

BAĞIMSIZ GUI (Graphical User Interface)

APLLET ve SWING Java ya özgü arayüzlerdir.GUI ler ise klasik program arayüzüdür.

UYARI ! GUI arayüzlerini “X” işaretine basarak kapatamazsınız.”X” kullanarak kapatabilmek için aşağıdaki kodları da programa eklemeniz gerekiyor.

 public void windowClosing(WindowEvent e){
	 System.exit(0);
 }
 public void windowClosed(WindowEvent e){}
 public void windowOpened(WindowEvent e){}
 public void windowActivated(WindowEvent e){}
 public void windowDeactivated(WindowEvent e){}
 public void windowIconified(WindowEvent e){}
 public void windowDeiconified(WindowEvent e){}

örnek;

import java.awt.*;
import java.awt.event.*;
 
public class GUIArayuz implements WindowListener {
 private Frame frame;
 private Panel panel;
 private Button buton;
 private TextField textfield;
 // Bileşenler tanımlanıyor.
 
 public void baslangic(){
	 frame=new Frame();
	 panel=new Panel();
	 buton=new Button("Buton");
	 textfield=new TextField("www.javaci.net.", 25);
 
	 frame.setSize(600,300);
	 panel.setBackground(Color.orange);
	 frame.setLocation(100,100);
	 panel.add(buton);
	 panel.add(textfield);
	 frame.add(panel);
	 frame.setVisible(true);
 
	 frame.addWindowListener(this);
	 //Görünüm istediğiniz özelliklere göre şekillendiriliyor.
 
 }
 
 public static void main(String[] args){
	  GUIArayuz g=new GUIArayuz();
	  g.baslangic();
 }
 
 public void windowClosing(WindowEvent e){
	 System.exit(0);
	 }
 public void windowClosed(WindowEvent e){}
 public void windowOpened(WindowEvent e){}
 public void windowActivated(WindowEvent e){}
 public void windowDeactivated(WindowEvent e){}
 public void windowIconified(WindowEvent e){}
 public void windowDeiconified(WindowEvent e){}
 
}

yazan Besim Çetin \\ tags: , , , ,