هنا يوجد Panel تسمى imagePanel تحتوى على صورة و تم وضع هذه ال panel على ال componentPanel لكن الاولى تظهر صغيرة جدا جدا و تظهر فى الوضع الشمالى رغم استعمال BorderLayout.Center
ال code
----------------
import java.awt.BorderLayout;
import java.awt.Dimension;
import javax.swing.JFrame;
import javax.swing.JPanel;
public class ServicesMainFrame extends JFrame {
private JPanel mainPanel, componentPanel, buttonsPanel;
private ImagePanel imagePanel;
public ServicesMainFrame() {
createPanel();
getContentPane().add(mainPanel);
}
public static void main(String[] args) {
ServicesMainFrame servicesMainFrame = new ServicesMainFrame();
servicesMainFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
servicesMainFrame.setSize(new Dimension(600, 300));
servicesMainFrame.setLocationRelativeTo(null);
servicesMainFrame.setVisible(true);
servicesMainFrame.setExtendedState(MAXIMIZED_BOTH);
}
private void createPanel() {
mainPanel = new JPanel();
componentPanel = new JPanel(new BorderLayout());
/////////////////////////////////////////////////////////
imagePanel = new ImagePanel();
componentPanel.add(imagePanel, BorderLayout.CENTER);
mainPanel.add(componentPanel);
}
}import java.awt.Color;
import java.awt.Dimension;
import java.awt.Graphics;
import javax.swing.BorderFactory;
import javax.swing.ImageIcon;
import javax.swing.JPanel;
class ImagePanel extends JPanel {
private ImageIcon imageIcon;
public ImagePanel() {
imageIcon = new ImageIcon(getClass().getResource("images/pic.jpg"));
setBorder(BorderFactory.createLineBorder(Color.BLACK, 3));
setSize(new Dimension(imageIcon.getIconWidth(), imageIcon.getIconHeight()));
}
@Override
protected void paintComponent(Graphics g) {
super.paintComponent(g);
g.drawImage(imageIcon.getImage(), 0, 0, this);
}
}الكود مرفق