📄 FrameOrtasiPanel.java .java dosyası

⬇️ İndir
import java.awt.Color; import java.awt.event.ComponentAdapter; import java.awt.event.ComponentEvent; import java.awt.image.BufferedImage; import java.io.File; import java.io.IOException; import javax.imageio.ImageIO; import javax.swing.JFrame; import javax.swing.JPanel; public class FrameOrtasiPanel { public static JPanel anaPanel = new JPanel(); public static JPanel merkezPanel = new JPanel(); int anaPanelGenislik; int anaPanelYukseklik; public FrameOrtasiPanel() throws IOException { JFrame frame = new JFrame("Frame Merkezinde Panel Göster | Java Blackboard [148]"); frame.setLayout(null); // ComponentAdapter ile frame boyutu değiştiğinde tetiklenecek olayları dinliyoruz frame.addComponentListener(new ComponentAdapter() { @Override public void componentResized(ComponentEvent e) { // Frame boyutu değiştikçe anaPanel'in boyutunu güncelleyelim anaPanel.setSize(frame.getSize()); // Boyut değiştikten sonra değerleri alalim anaPanelGenislik = anaPanel.getWidth(); anaPanelYukseklik = anaPanel.getHeight(); // anaPanel'in boyutunu console'a yazdirmak için. System.out.println("Ana Panel Boyutu: " + anaPanelGenislik + " x " + anaPanelYukseklik); int x = anaPanelGenislik/2-(150); int y = anaPanelYukseklik/2-(150+11); // +11 OS X'teki frame baslik yüksekliginden dolayi :) merkezPanel.setBackground(new Color(232, 74, 74)); merkezPanel.setBounds(x, y, 300, 300); anaPanel.add(merkezPanel); } }); anaPanel.setLayout(null); anaPanel.setBackground(new Color(233, 245, 219)); frame.getContentPane().add(anaPanel); frame.setSize(960, 540); // 16:9 frame.setLocationRelativeTo(null); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.setResizable(true); frame.setVisible(true); } public static void main(String[] args) throws IOException { new FrameOrtasiPanel(); } }