السلام عليكم
أسأل عن كيفية عمل نص متحرك داخل JLabel
؟؟
أرجو المساعدة
شكرا
السلام عليكم
أسأل عن كيفية عمل نص متحرك داخل JLabel
؟؟
أرجو المساعدة
شكرا
تم تعديل هذه المشاركة بواسطة javac في 18 نوفمبر 2005 في 01:46
اكتب هذه الشفرة:
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... بالتوفيق!
تم تعديل هذه المشاركة بواسطة أبومازن في 18 نوفمبر 2005 في 05:10
صفحاتي: صفحة حسام الملحم www.hussam.ws مدونة
آخر المشاريع: مشروع لغة برمجة عربية شيئية التوجه
ألعاب على الجوال : 1-(لعبة O X على الجوال ) 2-(لعبة الرقم السري على الجوال ) 3-(لعبة آخر حبة على الجوال )
ألعاب على الحاسب: لعبة الوزراء الثمان ، لعبة شطرنج ، لعبة التركيب Tetris
مواضيعي:
الفرق الجذري بين الجافا و C# شرح التعامل مع WTK لبرمجة الجوالات
مشاركاتي:
برنامج (كاتب) للكاتب فهد OMLX، برنامج (المحول) للكاتب فهد OMLX، برنامج (Unit Storm) للكاتب بشير C&Dell، أيهما أكبر الأعداد الصحيحة أم الطبيعية للكاتب Romanof، سؤال رياضي بحت للكاتب VB6-Rocket، التحدي الكبير للكاتب ANSI،
شكراًً لك أخي أبو مازن
لكن هل توجد طريقة غير كتابة الكود ؟؟؟ أقصد عن طريق الخصائص ؟
تحياتي لك
وجدت طريقة أسهل ، وميزتها أنها تعيد تعمل تكرار للنص. يدخل من اليمين ويخرج من اليسار
المصدر : 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);
}
}والله فكرة حلوة،، وأحلى في العرض من طريقتي
لكن تصميمها بمثل هذه الطريقة يجعلك لا تستطيع وضعها داخل مشروعك!
أقصد مثلا، عندك نافذة وتريد وضع 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));
}
}هذه مثال بسيط يبين فائدة تصميم الشفرة بأسلوب شيئي التوجه!!
عموما، أنصح دمج البرنامجين،، خذ من برنامجي طريقة التصميم، وخذ من الشفرة الجديدة طريقة العرض،، بهذا ستحصل على شفرة سهلة الاستخدام + عرض رائع!!
بالتوفيق!!
صفحاتي: صفحة حسام الملحم www.hussam.ws مدونة
آخر المشاريع: مشروع لغة برمجة عربية شيئية التوجه
ألعاب على الجوال : 1-(لعبة O X على الجوال ) 2-(لعبة الرقم السري على الجوال ) 3-(لعبة آخر حبة على الجوال )
ألعاب على الحاسب: لعبة الوزراء الثمان ، لعبة شطرنج ، لعبة التركيب Tetris
مواضيعي:
الفرق الجذري بين الجافا و C# شرح التعامل مع WTK لبرمجة الجوالات
مشاركاتي:
برنامج (كاتب) للكاتب فهد OMLX، برنامج (المحول) للكاتب فهد OMLX، برنامج (Unit Storm) للكاتب بشير C&Dell، أيهما أكبر الأعداد الصحيحة أم الطبيعية للكاتب Romanof، سؤال رياضي بحت للكاتب VB6-Rocket، التحدي الكبير للكاتب ANSI،
يعطيك العافية على هالمجهود الرائع
هذا الموضوع مغلق.