الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

تصميم واجه تطبيق جافا

بدأه Eng.Saleh في 5 ديسمبر 2011 · 6 رد · 1,425 مشاهدة · في JavaSE
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم و رحمه الله و بركاته،

يا جماعة الخير، أريد أن اصمم تطبيق جافا متسلسل،

أي أنه يبدأ من صفحه تسجيل الدخول ثم ينتقل لصفحه اختيار المريض ثم ينتقل لصفحه عرض بيانات المريض و هكذا ..

أريد أن يكون التطبيق نافذه مستقله يتغير محتواها فقط بدون أن تفتح نوافذ جديده ..

أحترت هل من الأفضل أن استخدم كل صفحه كـ Jframe و اعملها class مستقل ؟

أو اعمل الـ JFrame الأساسية، و داخلها JPanels ؟

ترددت أيضاً في استخدام الـ wizard، و لكن وجدت شرح له في الـ SWT فقط و ليس في الـ Java Swing

أنا حايلاً اشتغل على الـ swings

،و لكني مبتدئ و لا اعرف ما الصحيح و ما الأكثر صواباً للعمل معه..!

إذا كانت الـ SWT هي الأصح ممكن أن اغير لها.

و إاذا كانت الـ swing هي الأفضل أبقى عليها،

أرجو ان تشيروا علي بخبرتكم و تجاربكم ..

و جزى الله خيراً من كان في عون أخيه ..

#2

اعتقد استخدام jpanel يناسب طلبك ، حيث انك لاتريد استخدام نوافذ جديده وبالتالى عمل jframe لكل صفحة يكون صعب جداً

ال wizard انسب لك ، قام احد الاعضاء منذ فتره بوضع شرح لعمل sliding jpanel

رابط الموضوع

/index.php?showtopic=251773

#3

مشكور أخي الفاضل،

رأيت الرابط اللي وضعته،

و لكن أنا لا أريدها أن تكون sliding،

أريد كل محتوى الصفحه يتغير و يتحمل المحتوى الجديد ؟

هل هذه ممكن بـ الjPanel ?

#4

السلام عليكم ..

داخل الكلاس jFrame

كيف اشيل Jpanel، و اضع بدالها jPanel أخرى؟

في الـ button Handeler

وضعت

this.setContent.show(jPanel2);

validate();

لكن يحصل أنه عندما اضغط ع الزر يعلق ..

هل من مساعده ضروووري لو سمحتو ..

#5

السلام عليكم،

لو سمحتو أنا وضعت jFrame

و أريد أن اصمم عده jPanels

لكن الذي يحصل أني لما اضع البانل الأولى، و اصمم الثانية يبدأ المكونات تتراكم فوق بعضها !

هل من طريقه لأتعامل مع هذه البانلز كطبقات ؟

بحيث احافظ على عناصر كل بانل بدون ان تؤثر عليها البانل الأخرى؟

#6

ابحث عن cardLayout

تحياتي

حزمة المحرك الإصدارة 0.8

أي أحد يجد أني ظلمته فليراسلني

وبإذن الله لو كان له حق سيأخذه

728x90.png

#7

السلام عليكم:

مثل ماقال الأستاذ علاء استخدم CardLayout

هذا مثال بسيط بJApplet من كتاب الجافا يوضح كيفية عمل الCardLayout

يعرض صور مجموعة أعلام..

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;

public class ShowCardLayout extends JApplet {
  private CardLayout cardLayout = new CardLayout(20, 10);
  private JPanel cardPanel = new JPanel(cardLayout);
  private JButton jbtFirst, jbtNext, jbtPrevious, jbtLast;
  private JComboBox jcboImage;
  private final int NUM_OF_FLAGS = 6;

  public ShowCardLayout() {
    cardPanel.setBorder(
      new javax.swing.border.LineBorder(Color.red));

    // Add 9 labels for displaying images into cardPanel
    for (int i = 1; i <= NUM_OF_FLAGS; i++) {
      JLabel label =
        new JLabel(new ImageIcon("image/flag" + i + ".gif"));
      cardPanel.add(label, String.valueOf(i));
    }

    // Panel p to hold buttons and a combo box
    JPanel p = new JPanel();
    p.add(jbtFirst = new JButton("First"));
    p.add(jbtNext = new JButton("Next"));
    p.add(jbtPrevious= new JButton("Previous"));
    p.add(jbtLast = new JButton("Last"));
    p.add(new JLabel("Image"));
    p.add(jcboImage = new JComboBox());

    // Initialize combo box items
    for (int i = 1; i <= NUM_OF_FLAGS; i++)
      jcboImage.addItem(String.valueOf(i));

    // Place panels in the frame
    add(cardPanel, BorderLayout.CENTER);
    add(p, BorderLayout.SOUTH);

    // Register listeners with the source objects
    jbtFirst.addActionListener(new ActionListener() {
      public void actionPerformed(ActionEvent e) {
        // Show the first component in cardPanel
        cardLayout.first(cardPanel);
      }
    });
    jbtNext.addActionListener(new ActionListener() {
      public void actionPerformed(ActionEvent e) {
        // Show the first component in cardPanel
        cardLayout.next(cardPanel);
      }
    });
    jbtPrevious.addActionListener(new ActionListener() {
      public void actionPerformed(ActionEvent e) {
        // Show the first component in cardPanel
        cardLayout.previous(cardPanel);
      }
    });
    jbtLast.addActionListener(new ActionListener() {
      public void actionPerformed(ActionEvent e) {
        // Show the first component in cardPanel
        cardLayout.last(cardPanel);
      }
    });
    jcboImage.addItemListener(new ItemListener() {
      public void itemStateChanged(ItemEvent e) {
        // Show the component at specified index
        cardLayout.show(cardPanel, (String)e.getItem());
      }
    });
  }

  //Main method
  public static void main(String[] args) {
    ShowCardLayout applet = new ShowCardLayout();
    JFrame frame = new JFrame();
    //EXIT_ON_CLOSE == 3
    frame.setDefaultCloseOperation(3);
    frame.setTitle("ShowCardLayout");
    frame.getContentPane().add(applet, BorderLayout.CENTER);
    applet.init();
    applet.start();
    frame.setSize(400,320);
    Dimension d = Toolkit.getDefaultToolkit().getScreenSize();
    frame.setLocation((d.width - frame.getSize().width) / 2,
      (d.height - frame.getSize().height) / 2);
    frame.setVisible(true);
  }
}

CardLayout.rar

1

مواضيع مشابهة

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…