22-02-2016, 17:28
Merhaba arkadaşlar,
Java ile geliştirdiğimiz pencere uygulamalarında bazen aynı pencere için farklı Container kullanmamız gereken durumlar olabiliyor. Çoklu Container kullanarak geri, ileri, son gibi seçenekleri bulunan aşamalı görünümler yada duruma göre ayarlanan ekranlar elde edebiliriz. Bu konuda test için yazmış olduğum örnek uygulama kodları aşağıdadır. İncelediğinizde zaten mantığını anlayacağınızı düşünüyorum. Örnekte ben sadece üzerine buton eklemesi yaptım, siz istediğiniz nesneyi istediğiniz yerleşim düzeninde ekleyebilirsiniz.
Java ile geliştirdiğimiz pencere uygulamalarında bazen aynı pencere için farklı Container kullanmamız gereken durumlar olabiliyor. Çoklu Container kullanarak geri, ileri, son gibi seçenekleri bulunan aşamalı görünümler yada duruma göre ayarlanan ekranlar elde edebiliriz. Bu konuda test için yazmış olduğum örnek uygulama kodları aşağıdadır. İncelediğinizde zaten mantığını anlayacağınızı düşünüyorum. Örnekte ben sadece üzerine buton eklemesi yaptım, siz istediğiniz nesneyi istediğiniz yerleşim düzeninde ekleyebilirsiniz.
Kod:
import java.awt.BorderLayout;
import java.awt.Container;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;
public class Program extends JFrame implements ActionListener{
Container c,c2;
public Program()
{
super("Container Test");
c = new Container();
c.setLayout(new BorderLayout());
c2 = new Container();
c2.setLayout(new BorderLayout());
JButton btn1 = new JButton("Container 1");
JButton btn2 = new JButton("Container 2");
c.add(btn1,BorderLayout.CENTER);
c2.add(btn2,BorderLayout.CENTER);
btn1.addActionListener(this);
btn2.addActionListener(this);
setSize(400, 300);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setCP(c);
setVisible(true);
}
public void setCP(Container c)
{
this.setContentPane(c);
c.revalidate();
c.repaint();
}
public static void main(String[] args) {
new Program();
}
public void actionPerformed(ActionEvent e) {
if (e.getActionCommand().equals("Container 1"))
{
setTitle("Aktif Container : 2");
setCP(c2);
}
else
{
setTitle("Aktif Container : 1");
setCP(c);
}
}
}