06.03.2015 Views

Java Kitabı

JAva`nın çalışma mantığıyla başlayıp basitten gelişmişe iyi bir kaynak

JAva`nın çalışma mantığıyla başlayıp basitten gelişmişe iyi bir kaynak

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

Satırlarına gelince. Bu satırlarda, GridBagConstraint nesnesinin bir takım özellikleri<br />

belirlenmektedir. Bunlardan birisi insets özelliğidir. Insets ile, hücreler içindeki<br />

bileşenlerin hücrenin kenarlarına olan uzaklığı belirtilmektedir. Bir başka deyişle<br />

boşluk miktarı. Fill özelliği ileyse, GridBagLayout’ un genişlemesi durumunda, hücre<br />

içi bileşenlerin her yönde eşit şekilde genişlemesi belirtilmiştir.<br />

Bu zor ama güçlü Layout’ tan sonra, incelemeyi unuttuğum bir Layout daha olduğunu<br />

farkettim. CardLayout. İlk başta iskambil desteleri ile bir alakası olabilir mi diye<br />

düşündüm. Gerçektende öyleymiş. CardLayout’ ta, birbirlerinin üstüne binen<br />

katmanlar söz konusu. İşin güzel yanı ise, CardLayout’ lar ile, birbirinden farklı<br />

katmanların tasarlanabilmesi ve çalışma zamanında bu katmanlardan sadece birisinin<br />

görünür olması. Dolayısıyla bu katmanlar arasında gezinmek için, olay güdümlü<br />

programlama tekniklerini kullanmak gerekiyor. Nasıl mı? İşte örnek.<br />

import java.awt.*;<br />

import java.applet.Applet;<br />

import java.awt.event.*;<br />

public class Layouts extends Applet implements ActionListener<br />

{<br />

TextField tf1;<br />

TextField tf2;<br />

Button bt1;<br />

Button bt2;<br />

Label lb1;<br />

Label lb2;<br />

Label lb3;<br />

Panel p1;<br />

Panel p2;<br />

Panel p3;<br />

Panel p4;<br />

CardLayout iskambil;<br />

public void init()<br />

{<br />

iskambil=new CardLayout();<br />

p1=new Panel();<br />

p2=new Panel();<br />

p2.setBackground(Color.blue);<br />

p3=new Panel();<br />

p3.setBackground(Color.green);<br />

p4=new Panel();<br />

iskambil=new CardLayout();<br />

p4.setLayout(iskambil);<br />

lb1=new Label("Username");<br />

p1.add(lb1);<br />

tf1=new TextField(25);<br />

p1.add(tf1);<br />

274

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!