Swingطريقة وضع أيقونات للـ Tabs
المثال التالي يعلمك طريقة وضع أيقوانات للـ Tabs.
ملاحظة: عليك إنشاء مجلد في المشروع و وضع الصورة التي تريد وضعها كأيقونة للـ Tabs بداخله كما في الصورة التالية.
الصورة توضح أننا أضفنا مجلد إسمه images و وضعنا فيه صورة إسمها tab-icon.png.
مثال
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JTabbedPane;
import java.awt.Color;
import java.net.URL;
import javax.swing.ImageIcon;
public class Main {
public static void main(String[] args) {
// هنا قمنا بإنشاء النافذة مع تحديد بعض خصائصها
JFrame frame = new JFrame("JTabbedPane demo"); // أي قمنا بإنشاء نافذة مع وضع عنوان لها JFrame هنا أنشأنا كائن من الكلاس
frame.setSize(420, 300); // هنا قمنا بتحديد حجم النافذة. عرضها 420 و طولها 300
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); // هنا جعلنا زر الخروج من النافذة يغلق البرنامج
frame.setLayout(null); // في النافذة بنفسنا Tabbed Pane لذلك سنقوم بتحديد مكان الـ Layout Manager أي لم نستخدم أي null هنا وضعنا
// Panels هنا قمنا بتعريف خمسة
JPanel panel_1 = new JPanel();
JPanel panel_2 = new JPanel();
JPanel panel_3 = new JPanel();
JPanel panel_4 = new JPanel();
JPanel panel_5 = new JPanel();
// منهم Panel هنا قمنا بإعطاء لون خلفية لكل
panel_1.setBackground(Color.white);
panel_2.setBackground(Color.cyan);
panel_3.setBackground(Color.yellow);
panel_4.setBackground(Color.green);
panel_5.setBackground(Color.red);
// عند الحاجة Scroll Bar و جعله يضيف Tabs و تحديد مكان ظهور الـ Frame مع تحديد موقعه و حجمه في الـ Tabbed Pane هنا قمنا بتعريف
JTabbedPane tabbedPane = new JTabbedPane(JTabbedPane.TOP, JTabbedPane.SCROLL_TAB_LAYOUT);
tabbedPane.setBounds(50, 30, 300, 200);
// Tabs و الذي بدوره سيمثل الأيقونة التي سنضعها للـImageIcon هنا قمنا بتحديد رابط الأيقونة ثم قمنا بتعريف كائن من الكلاس
URL imgURL = Main.class.getResource("../images/tab-icon.png");
ImageIcon icon = new ImageIcon(imgURL);
// منهم فيه Panel مع تحديد عنوان كل Tabbed Pane في الـ Panels هنا وضعنا جميع الـ
tabbedPane.addTab("Tab 1", icon, panel_1);
tabbedPane.addTab("Tab 2", icon, panel_2);
tabbedPane.addTab("Tab 3", icon, panel_3);
tabbedPane.addTab("Tab 4", icon, panel_4);
tabbedPane.addTab("Tab 5", icon, panel_5);
// Frame في الـ Tabbed Pane هنا أضفنا الـ
frame.add(tabbedPane);
// مرئية Frame هنا جعلنا الـ
frame.setVisible(true);
}
}
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JTabbedPane;
import java.awt.Color;
import java.net.URL;
import javax.swing.ImageIcon;
public class Main {
public static void main(String[] args) {
// هنا قمنا بإنشاء النافذة مع تحديد بعض خصائصها
JFrame frame = new JFrame("JTabbedPane demo"); // أي قمنا بإنشاء نافذة مع وضع عنوان لها JFrame هنا أنشأنا كائن من الكلاس
frame.setSize(420, 300); // هنا قمنا بتحديد حجم النافذة. عرضها 420 و طولها 300
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); // هنا جعلنا زر الخروج من النافذة يغلق البرنامج
frame.setLayout(null); // في النافذة بنفسنا Tabbed Pane لذلك سنقوم بتحديد مكان الـ Layout Manager أي لم نستخدم أي null هنا وضعنا
// Panels هنا قمنا بتعريف خمسة
JPanel panel_1 = new JPanel();
JPanel panel_2 = new JPanel();
JPanel panel_3 = new JPanel();
JPanel panel_4 = new JPanel();
JPanel panel_5 = new JPanel();
// منهم Panel هنا قمنا بإعطاء لون خلفية لكل
panel_1.setBackground(Color.white);
panel_2.setBackground(Color.cyan);
panel_3.setBackground(Color.yellow);
panel_4.setBackground(Color.green);
panel_5.setBackground(Color.red);
// عند الحاجة Scroll Bar و جعله يضيف Tabs و تحديد مكان ظهور الـ Frame مع تحديد موقعه و حجمه في الـ Tabbed Pane هنا قمنا بتعريف
JTabbedPane tabbedPane = new JTabbedPane(JTabbedPane.TOP, JTabbedPane.SCROLL_TAB_LAYOUT);
tabbedPane.setBounds(50, 30, 300, 200);
// Tabs و الذي بدوره سيمثل الأيقونة التي سنضعها للـImageIcon هنا قمنا بتحديد رابط الأيقونة ثم قمنا بتعريف كائن من الكلاس
URL imgURL = Main.class.getResource("../images/tab-icon.png");
ImageIcon icon = new ImageIcon(imgURL);
// منهم فيه Panel مع تحديد عنوان كل Tabbed Pane في الـ Panels هنا وضعنا جميع الـ
tabbedPane.addTab("Tab 1", icon, panel_1);
tabbedPane.addTab("Tab 2", icon, panel_2);
tabbedPane.addTab("Tab 3", icon, panel_3);
tabbedPane.addTab("Tab 4", icon, panel_4);
tabbedPane.addTab("Tab 5", icon, panel_5);
// Frame في الـ Tabbed Pane هنا أضفنا الـ
frame.add(tabbedPane);
// مرئية Frame هنا جعلنا الـ
frame.setVisible(true);
}
}
ستظهر لك النافذة التالية عند التشغيل.