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

نص متحرك داخلJLabel

مغلق
بدأه javac في 18 نوفمبر 2005 · 5 رد · 886 مشاهدة · في JavaSE
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم

أسأل عن كيفية عمل نص متحرك داخل JLabel

؟؟

أرجو المساعدة

شكرا

تم تعديل هذه المشاركة بواسطة javac في 18 نوفمبر 2005 في 01:46

#2

اكتب هذه الشفرة:

import hussam.gui.*;
//code

int speed = 90;//speed is from 0 to 100
JLabel label=new MyScrollLabel("This is a scrolling Text by Hussam", speed);

frame.add(label);

الملف المرفق يحوي الفئة MyScrollLabel... بالتوفيق!

MyScrollingLabel.java.txt

تم تعديل هذه المشاركة بواسطة أبومازن في 18 نوفمبر 2005 في 05:10

#3

شكراًً لك أخي أبو مازن

لكن هل توجد طريقة غير كتابة الكود ؟؟؟ أقصد عن طريق الخصائص ؟

تحياتي لك

#4

وجدت طريقة أسهل ، وميزتها أنها تعيد تعمل تكرار للنص. يدخل من اليمين ويخرج من اليسار

المصدر : Java Forums

http://forum.java.sun.com/thread.jspa?foru...threadID=462658

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

public class TimerTest extends JFrame implements ActionListener
{
    JLabel label;

    public TimerTest()
    {
        label = new JLabel( "Some continuously scrolling text!!       " );
        getContentPane().add( label );

        Timer timer = new Timer(500, this);
        timer.start();
    }

    public void actionPerformed(ActionEvent e)
    {
        String oldText = label.getText();

        // Scroll right to left
        String newText = oldText.substring(1) + oldText.substring(0, 1);

        // Scroll left to right
//        int length = oldText.length();
//        String newText = oldText.substring(length-1, length) + oldText.substring(0, length-1);

        label.setText( newText );
    }

    public static void main(String[] args)
    {
        TimerTest frame = new TimerTest();
        frame.setDefaultCloseOperation( EXIT_ON_CLOSE );
        frame.pack();
        frame.setVisible(true);
    }
}
#5

والله فكرة حلوة،، وأحلى في العرض من طريقتي

لكن تصميمها بمثل هذه الطريقة يجعلك لا تستطيع وضعها داخل مشروعك!

أقصد مثلا، عندك نافذة وتريد وضع 3 Labels تتحرك كلماتها بالطريقة التي تريد،، كيف يمكنك ذلك باستخدام هذه الشفرة؟؟ أمر صعب... التصميم الذي أدرجته في الوصلة السابقة في اعتقادي أفضل، حيث تجعلك تستطيع عمل JLabel متحركة بأمر واحد فقط..

public class MyFrame extends JFrame{
MyFrame(){
int speed = 90;
add(new MyScrollingLabel("Hussam", speed));
add(new MyScrollingLabel("Scrolling", speed));
add(new MyScrollingLabel("Label", speed));

}
}

هذه مثال بسيط يبين فائدة تصميم الشفرة بأسلوب شيئي التوجه!!

عموما، أنصح دمج البرنامجين،، خذ من برنامجي طريقة التصميم، وخذ من الشفرة الجديدة طريقة العرض،، بهذا ستحصل على شفرة سهلة الاستخدام + عرض رائع!!

بالتوفيق!!

#6

يعطيك العافية على هالمجهود الرائع

هذا الموضوع مغلق.

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