25 Nisan 2018 Çarşamba

Swing JFrame Sınıfı

Giriş
Şu satırı dahili ederiz.
import javax.swing.JFrame;
Uygulamanın ana penceredir. Layout olarak BorderLayout kullanır. Açıklaması şöyle
BorderLayout is default for JFrame
constructor - caption
Şöyle yaparız.
JFrame frame = new JFrame("Window");
add metodu
Örnek
Şöyle yaparız.
JPanel panel = ...;
...
frame.add (panel);
Örnek
Panel'in kaydırılabilir olması için şöyle yaparız.
JPanel panel = new JPanel();
...
frame.add(new JScrollPane(panel));
add metodu
Örnek
BorderLayout kullandığı için şöyle yaparız.
JScrollPane jp = ...;
frame.add(jp, BorderLayout.CENTER);
Örnek
Şöyle yaparız.
frame.add(browsePanel, BorderLayout.WEST);
frame.add(scrollPane, BorderLayout.EAST);
addWindowListener metodu
Örnek
Şöyle yaparız.
frame.addWindowListener(new WindowAdapter() {
  @Override
  public void windowClosing(WindowEvent e) {

    // do other stuff....

    frame.setVisible(false);
    frame.dispose();
  }
});
dispose metodu
Şöyle yaparız
frame.dispose();
getContentPane metodu
Örnek
Eski kodlarda şöyle yapılırdı. Ancak bunun yerine artık direkt frame.add () metodu çağrılabiliyor.
JPanel myPanel = ...;
frame.getContentPane().add (myPanel);
Örnek
İstersek layout kullanmayabiliriz. Şöyle yaparız.
frame.getContentPane().setLayout(null);
Bu durumda her çocuk nesneye konumunu bildirmek gerekir. Şöyle yaparız.
JButton btn = new JButton("Button");
btn.setBounds(232, 134, 89, 23);
frame.getContentPane().add(btn);
pack metodu
Şöyle yaparız.
frame.pack ();
repaint metodu
Şöyle yaparız.
frame.repaint();
revalidate metodu
Şöyle yaparız.
frame.revalidate();
setBounds metodu
Şöyle yaparız.
frame.setBounds(100, 100, 800, 600);
setContentPane metodu
Açıklaması şöyle
Usually, you add internal frames to a desktop pane. The desktop pane, in turn, might be used as the content pane of a JFrame.
Şöyle yaparız
JFrame frame = new JFrame ();
JDesktopPane desktop = new JDesktopPane ();
...
frame.setContentPane (desktop);
setDefaultCloseOperation metodu
Bu sınıf WindowConstants arayüzünden kalıttığı için arayüzdeki sabitlere erişebiliriz. Şöyle kodlar olabilir
setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
Örnek
Şöyle yaparız. JFrame kapanınca System.exit (0) çağrılır.
frame.setDefaultCloseOperation (JFrame.EXIT_ON_CLOSE);
Örnek
Şöyle yaparız.
frame.setDefaultCloseOperation (JFrame.DISPOSE_ON_CLOSE);
Örnek
Şöyle yaparız. Bu durumda addWindowListener() metodunu gerçekleştirmek gerekir.
frame.setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);
setDefaultLookAndFeelDecorated metodu
Şöyle yaparız.
JFrame.setDefaultLookAndFeelDecorated(true);
setExtendedState metodu
Şöyle yaparız.
frame.setExtendedState(JFrame.MAXIMIZED_BOTH);
setJMenuBar metodu
Şöyle yaparız.
JMenuBar menuBar = ...;
...
// Set the frame to use the bar
setJMenuBar(menuBar);
setLocation metodu
Şöyle yaparız.
frame.setLocation(300, 100);
setLocationRelativeTo metodu
Örnek
Şöyle yaparız.

JFrame frame1 = ...;

JFrame frame2 = new JFrame();
frame2.setLocationRelativeTo(frame1);
Örnek
Şöyle yaparız.
frame.setLocationRelativeTo (null);
setPreferredSize metodu
Şöyle yaparız.
frame.setPreferredSize (new Dimension(800, 600));
setResizable metodu
Şöyle yaparız.
frame.setResizable(false);
setSize metodu
Şöyle yaparız.
frame.setSize (500,250);
setTitle metodu
Şöyle yaparız.
frame.setTitle("Hello");
setUndecorated metodu
Pencerenin üst tarafındaki minimize/maximize gibi düğmeleri kapatır. Şöyle yaparız.
frame.setUndecorated(true);
setVisible metodu
Şöyle yaparız.
frame.setVisible (true);

Hiç yorum yok:

Yorum Gönder