الوقت/التاريخ الآن هو الأربعاء مايو 01, 2024 9:52 pm
3 نتيجة بحث عن joptionpane
EgyDialog مربعات الحوار البديلة عن joptionpane بتصاميم رائعة وتاثير الحركة FadeIn_Out,Slide
أهلا وسهلا بكمنافذة الحوار هي نافذة فرعية مستقلة تهدف إلى حمل إشعار للمستخدم بعيدًا عن نافذة التطبيق الرئيسية. تقدم معظم مربعات الحوار أنواع عديدة من الرسائل كرسالة خطأ أو تحذير أو معلومات للمستخدم و توفر لغة الجافا الفئة #joptionpane لتنفيذ تلك المهمة
لكن تلك الفئة تقدم مربع حوارى يفتقد الشكل و التصميم العصري الذى يجارى التغير فى لغات البرمجة الاخري مثل jQuery لذلك عكف مطورى منتدى مصر التقني على انشاء مربع حوارى جديد تم تسميته #EgyDialog ليكون بديل عن مربعات الحوار التقليدية joptionpane
أولا :تعرف على الفئة #EgyDialog
الفئة #EgyDialog هى أحد الفئات الرئسية من المكتبة #EgySwingX الجارى انشائها حاليا من مطورى منتدى مصر التقني لانشاء عناصر رسومية جذابة لمطورى javaSwing ...تستخدم الفئة #EgyDialog لعرض رسائل التنبية باشكال و تاثيرات حركة مختلفة وذلك على النحو التالى :
1_توفر لك الفئة أربعة أنواع من الرسائل وهى :
- success
- info
- warning
- error
2_توفر لك ثلاثة انماط أو ثلاثة تصاميم وهى على النحو التالى :
- Style1
- Style2
- Style3
إنظر للصور الموضحة أدناه :
3_توفر لك ثلاثة أنواع من تاثير الحركة وهى :
- تأثر التلاشى FadeIn_Out
- تاثير الانزلاق الرئسي V_Slide
- تأثير الانزلاق الافقي H_Slide
4_ توفر لك خمس أمكان من الشاشة لاتجاة الظهور وهى :
- TopRight
- TopLeft
- Center
- BottomRight
- BottomLeft
ثانيا :كيفية الاستخدام
الآن ، آمل أن يكون لديك معرفة كافية بالفئة #EgyDialog من المقدمة أعلاه ، ولكن من أجل الفهم ، سنتناول الأساسيات بالشرح وكيفية الاستخدام وذلك على النحو التالى :
1_يجب تنزيل الملف EgySwingX_V1.jar المرفق و إدراجة لمشروعك
2_ إتسيراد الفئات اللازمة للعمل وذلك باستخدام الشفرة التالية :
- الكود:
import EgySwing.Alert.EgyDialog;
import EgySwing.Alert.EgyDialog.Animation;
import EgySwing.Alert.EgyDialog.Message_Style;
import EgySwing.Alert.EgyDialog.Message_Type;
import EgySwing.Alert.EgyDialog.Position;
3_ يمكن استخدام أحد المشيدات التالية لانشاء المربع الحوارى كما يحلوا لك وذلك على النحو التالى :
- الكود:
public EgyDialog(String message)
يقوم هذا المشيد بانشاء مربع حوارى يحتوي على نص رسالة و يظهر فى منتصف الشاشة بدون اى تاثير للحركة وياخذ النمط الرئيسي للرسالة كما فى الشكل التالى :
- الكود:
public EgyDialog(String message ,String Title)
يقوم هذا المشيد بانشاء مربع حوارى يحتوي على نص رسالة , عنوان للرسالة و يظهر فى منتصف الشاشة بدون اى تاثير للحركة وياخذ النمط الرئيسي للرسالة كما فى الشكل أعلاه
- الكود:
EgyDialog(String message ,Message_Style s,Message_Type type,Position p)
يقوم هذا المشيد بانشاء مربع حوارى يحتوي على نص رسالة مع ثلاثة باراميترات على النحو التالى :
الباراميتر الاول :#Message_Style وهى الطريقة التى تحدد نمظ و مظهر الرسالة و تاخذ الدوال التالية :
- الكود:
Message_Style.Style1;
Message_Style.Style2;
Message_Style.Style3
الباراميتر الثاني :#Message_Type وهى الطريقة التى تحدد رمز الرسالة و تاخذ الدوال التالية :
- الكود:
Message_Type.Error;
Message_Type.Info;
Message_Type.Warning;
Message_Type.Success;
الباراميتر الثالث :#Position و هى الطريقة التى تحدد موضع ظهور الرسالة وتاخذ الدوال التالية :
- الكود:
Position.TopRight;
Position.TopLeft;
Position.Center;
Position.BottomRight;
Position.BottomLeft;
- الكود:
public EgyDialog(String message ,Message_Style s,Message_Type type,Position p,Animation Animation,boolean AutoHide)
يقوم هذا المشيد بانشاء مربع حوارى يحتوي على نص رسالة مع خمسة باراميترات على النحو التالى :
الباراميتر الاول :#Message_Style وهى الطريقة التى تحدد نمظ و مظهر الرسالة.
الباراميتر الثاني :#Message_Type وهى الطريقة التى تحدد رمز الرسالة .
الباراميتر الثالث :#Position و هى الطريقة التى تحدد موضع ظهور الرسالة على النافذة .
الباراميتر الرابع :#Animation و هى الطريقة التى تحدد تاثير الحركة على ظهور واخفاء الرسالة وتاخذ القيم التالية :
- الكود:
Animation.FadeIn_Out;
Animation.V_Slide;
Animation.H_Slide; break
الباراميتر الخامس :#AutoHide و هى قيمة منطقية تحدد الاخفاء التلقائى للرسالة من عدمه ...القيمة الافتراضية true
- الكود:
public EgyDialog(String message ,Message_Style s,Message_Type type,Position p,Animation Animation,boolean AutoHide,int delay)
يقوم هذا المشيد بانشاء مربع حوارى يحتوي على نص رسالة مع خمسة باراميترات على النحو التالى :
الباراميتر الاول :#Message_Style وهى الطريقة التى تحدد نمظ و مظهر الرسالة.
الباراميتر الثاني :#Message_Type وهى الطريقة التى تحدد رمز الرسالة .
الباراميتر الثالث :#Position و هى الطريقة التى تحدد موضع ظهور الرسالة على النافذة .
الباراميتر الرابع :#Animation و هى الطريقة التى تحدد تاثير الحركة على ظهور واخفاء الرسالة
الباراميتر الخامس :#AutoHide و هى قيمة منطقية تحدد الاخفاء التلقائى للرسالة من عدمه ...القيمة الافتراضية true
الباراميتر السادس :#delay و هى قيمة رقمية int تحدد الفترة الزمنية لابقاء ظهور الرسالة ...القيمة الافتراضية 3000 ملى ثانية.
و توجد مشيدات اخرى يمكنك الكشف عنها بنفسك و اليكم مثال كامل على النحو التالى :
- الكود:
import EgySwing.Alert.EgyDialog;
import EgySwing.Alert.EgyDialog.Animation;
import EgySwing.Alert.EgyDialog.Message_Style;
import EgySwing.Alert.EgyDialog.Message_Type;
import EgySwing.Alert.EgyDialog.Position;
public class NewJFrame extends javax.swing.JFrame {
Message_Style S;
Message_Type T;
Animation An;
Position P;
boolean AutoHide;
public NewJFrame() {
initComponents();
}
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
switch (MESSAGE_Type.getSelectedIndex()) {
case 0:T=Message_Type.Error; break;
case 1:T=Message_Type.Info; break;
case 2:T=Message_Type.Warning; break;
case 3:T=Message_Type.Success; break;
}
switch (Style_Type.getSelectedIndex()) {
case 0:S=Message_Style.Style1; break;
case 1:S=Message_Style.Style2; break;
case 2:S=Message_Style.Style3; break;
}
switch (Position_Type.getSelectedIndex()) {
case 0:P=Position.TopRight; break;
case 1:P=Position.TopLeft; break;
case 2:P=Position.Center; break;
case 3:P=Position.BottomRight; break;
case 4:P=Position.BottomLeft; break;
}
switch (Animation_Type.getSelectedIndex()) {
case 0:An=Animation.FadeIn_Out; break;
case 1:An=Animation.V_Slide; break;
case 2:An=Animation.H_Slide; break;
}
int delay;
new EgyDialog(Text_MESSAGE.getText(),S, T,P,An,Auto_Hide.isSelected(),3000);
}
المثال و المكتبة بالمرفقات
- في السبت أبريل 18, 2020 8:17 am
- ابحث في: واجهة المستخدم الرسومية Java Swing
- موضوع: EgyDialog مربعات الحوار البديلة عن joptionpane بتصاميم رائعة وتاثير الحركة FadeIn_Out,Slide
- المساهمات: 7
- مشاهدة: 1565
[Swing] وضع ايقونة فى زر الامر لمربعات الحوار JOptionPane
اهلا بكممثال بسيط لكيفية وضع ايقونة أو صورة مصغرة لزر الامر فى مربعات الحوار #JOptionPane على النحو التالى :
- الكود:
import javax.swing.Icon;
import javax.swing.ImageIcon;
import javax.swing.JFrame;
import javax.swing.JOptionPane;
public class AddingIconsToOptionPopups {
public static void main(String[] a) {
JFrame frame = new JFrame();
Icon greenIcon = new ImageIcon("yourFile.gif");
Icon redIcon = new ImageIcon("");
Object iconArray[] = { greenIcon, redIcon };
JOptionPane.showOptionDialog(frame, "Continue printing?", "Select an Option",
JOptionPane.YES_NO_OPTION, JOptionPane.QUESTION_MESSAGE, null, iconArray, iconArray[1]);
}
}
الاخراج :
- في الجمعة مارس 01, 2019 5:15 pm
- ابحث في: واجهة المستخدم الرسومية Java Swing
- موضوع: [Swing] وضع ايقونة فى زر الامر لمربعات الحوار JOptionPane
- المساهمات: 1
- مشاهدة: 574
[JDBC]الاتصال بقواعد بيانات MS Access فى Java 8 باستخدام UcanaccessDriver
اهلا بكممنذ عدة سنوات كتب مقال عن [ندعوك للتسجيل في المنتدى أو التعريف بنفسك لمعاينة هذا الرابط] لكن من بداية الاصدار الثامن للجافا تمت إزالة JDBC-ODBC من Java SE 8 و بالتالى فهو لم يعد مدعوم من قبل الجافا وذلك لا سباب عدة منها مثلا :
_لا يعمل [ندعوك للتسجيل في المنتدى أو التعريف بنفسك لمعاينة هذا الرابط] بشكل صحيح مع قواعد بيانات [ندعوك للتسجيل في المنتدى أو التعريف بنفسك لمعاينة هذا الرابط] عندما يحتوي النص على أحرف [ندعوك للتسجيل في المنتدى أو التعريف بنفسك لمعاينة هذا الرابط] بنقاط تعليمات برمجية أعلى U+00FF ، لذا فإن هذا الإعداد لن يكون قادراً على التعامل مع أحرف مثل اليونانية والروسية والصينية والعربية وغيرها
_سائق الاتصال [ندعوك للتسجيل في المنتدى أو التعريف بنفسك لمعاينة هذا الرابط] تم انتاجة من قبل [ندعوك للتسجيل في المنتدى أو التعريف بنفسك لمعاينة هذا الرابط] و بالتالى فهو يعمل فقط فى انظمة [ندعوك للتسجيل في المنتدى أو التعريف بنفسك لمعاينة هذا الرابط] وهناك إصدارات منفصلة 32 بت و 64 بت من Access Database Engine (وبرنامج تشغيل ODBC) التي يمكن أن تكون مصدر إزعاج نشر و توزيع تطبيقك.
لذلك في هذه المقالة ، سوف نتعلم الخطوات الازمة للاتصال بقاعدة بيانات MS Access في Java 8 وذلك من خلال سائق الاتصال الجديد [ندعوك للتسجيل في المنتدى أو التعريف بنفسك لمعاينة هذا الرابط]
الخطوة الاولى : تحميل سائق الاتصال ucanaccess
[ندعوك للتسجيل في المنتدى أو التعريف بنفسك لمعاينة هذا الرابط] هو سائق تشغيل Java JDBC خالص يتيح لنا القراءة والكتابة إلى قواعد بيانات [ندعوك للتسجيل في المنتدى أو التعريف بنفسك لمعاينة هذا الرابط] بدون استخدام [ندعوك للتسجيل في المنتدى أو التعريف بنفسك لمعاينة هذا الرابط]. ويستخدم حزمتين أخريين هما [ندعوك للتسجيل في المنتدى أو التعريف بنفسك لمعاينة هذا الرابط] و [ندعوك للتسجيل في المنتدى أو التعريف بنفسك لمعاينة هذا الرابط]
ويمكنك تحميل هذا السائق من العنوان التالى :
[ندعوك للتسجيل في المنتدى أو التعريف بنفسك لمعاينة هذا الرابط]
بعد تحميل الملف المضغوط قم بفك الضغط ليظهر لك الملفات التالية :
ucanaccess-4.0.1.jar
/lib/
commons-lang-2.6.jar
commons-logging-1.1.1.jar
hsqldb.jar
jackcess-2.1.6.jar
الخطوة الثانية : إضافة المكتبات اعلاه الى بيئة التطوير
كل ما عليك القيام به هو إضافة جميع (5) JARs إلى مشروعك من خلال بيئة التطوير الخاصة بك و ذلك على النحو التالى :
1_Eclipse
انقر بزر الماوس الأيمن فوق المشروع ثم أختر الامر "Package Explorer" من القائمة التى ستظهر اختر "Build Path"> "Configure Build Path" .... انقر فوق الزر "Add External JARs" لإضافة كل من JARs خمس (5). عند الانتهاء ، يجب أن يظهر Java Build Path على هذا النحو :
2_NetBeans
قم بالنقر بزر الماوس الأيمن على مجلد "Libraries" واختر "Add JAR / Folder ..." ، ثم استعرض إلى ملف JAR
لتظهر لك الملفات بالشكل التالى :
3_IntelliJ IDEA
من خلال القائمة File > Project Structure ...أختر الامر Libraries ثم انقر فوق الزر "إضافة" (+) وأضف ملفات JAR الخمسة (5). وبمجرد الانتهاء من ذلك ، يجب أن يبدو المشروع كالتالي:
الخطوة الثالثة : شفرة الاتصال بقاعدة بيانات أكسس من خلال ucanaccess
مجرد أن نكون قد اتممنا الخطوات المذكورة أعلاه ثم يمكننا المضي قدما فى كتابة الشفرة الخاصة بالاتصال بقاعدة بيانات MS Access database
...لذلك سنفترض فى المثال التالى أن قاعدة البيانات المراد الاتصال بها تسمي Player.accdb ....ثم اتبع الخطوات التالية :
1_ قم بنقل قاعدة البيانات Player.accdb التى قمت بإنشائها و المراد الاتصال بها الى المجلد الرئسيى للمشروع الذى قمت بإنشائة من خلال
2_نقوم استدعاء جميع الدوال التابعه للمكتبه [ندعوك للتسجيل في المنتدى أو التعريف بنفسك لمعاينة هذا الرابط] و ايضا ادراج المكتبه التي تتعامل مع صناديق الحوار [ندعوك للتسجيل في المنتدى أو التعريف بنفسك لمعاينة هذا الرابط] كما تعلمنا سابقا و على النحو التالى :
- الكود:
import java.sql.*;
import javax.swing.JOptionPane;
3_الاعلان عن الكائنات التى تستخدم لاتمام عملية ربط قاعدة البيانات مع البرنامج باستخدام الكائنات كما تعلمنا سابقا وهى : الكائن [ندعوك للتسجيل في المنتدى أو التعريف بنفسك لمعاينة هذا الرابط] وهو الخاص بنص الاتصال ...الكائن [ندعوك للتسجيل في المنتدى أو التعريف بنفسك لمعاينة هذا الرابط] وهو الخاص بجمل التحكم ....و الكائن [ندعوك للتسجيل في المنتدى أو التعريف بنفسك لمعاينة هذا الرابط] وهو الخاص بمؤشر البيانات وذلك عن طريق الكود التالى :
- الكود:
Connection connection = null;
Statement statement = null;
ResultSet resultSet = null;
4_نقوم بكتابة الكود التالى لتحميل JDBC Driver الخاص بقواعد البيانات اكسس و ذلك على النحو التالى :
- الكود:
Class.forName("net.ucanaccess.jdbc.UcanaccessDriver");
كما فى السطر السابق قمن باستدعاء الطريقة [ندعوك للتسجيل في المنتدى أو التعريف بنفسك لمعاينة هذا الرابط] وذلك لتحميل الفصيلة [ندعوك للتسجيل في المنتدى أو التعريف بنفسك لمعاينة هذا الرابط] التي تحتوي على مشغل قاعدة البيانات ...و تحميل هذه الفصيلة قد يتسببفي حدوث استثناء في حالة أن الفصيلة المطلوبة لا يمكن تحميلها وهذا الاستثناء هو [ندعوك للتسجيل في المنتدى أو التعريف بنفسك لمعاينة هذا الرابط] و بالتالى سنقوم بمعالجة هذا الاستثناء بالتعديل على الكود اعلاه على النحو التالى :
- الكود:
try {
Class.forName("net.ucanaccess.jdbc.UcanaccessDriver");
}
catch(ClassNotFoundException cnfex) {
JOptionPane.showMessageDialog(null,cnfex.getMessage());
}
5_نقوم بأستدعاء الطريقة [ندعوك للتسجيل في المنتدى أو التعريف بنفسك لمعاينة هذا الرابط] الموجودة فى الفصيلة [ندعوك للتسجيل في المنتدى أو التعريف بنفسك لمعاينة هذا الرابط] مع تمرير عنوان او رابط ملف قاعدة البيانات Player.accdb الية و ذلك عن طريق الكود التالى :
- الكود:
String msAccDB = "/Player.accdb";
String dbURL = "jdbc:ucanaccess://"+ msAccDB;
connection = DriverManager.getConnection(dbURL);
يقوم هذا السطر بعملية اتصال بقاعدة البيانات عن طريق نص الاتصال dbc:ucanaccess://"+ msAccDB ثم وضعنا أسم قاعدة البيانات Player.accdb فى المتغير [ندعوك للتسجيل في المنتدى أو التعريف بنفسك لمعاينة هذا الرابط] ولكن في حالة عدم القدرة على الاتصال بقاعدة البيانات سيحدث الاستثناء SQLException لذلك سوف يتم معالجة كما فعلنا فى الدرس السابق .
6_نقوم بإستدعاء الطريقة [ندعوك للتسجيل في المنتدى أو التعريف بنفسك لمعاينة هذا الرابط] لايجاء الكائن [ندعوك للتسجيل في المنتدى أو التعريف بنفسك لمعاينة هذا الرابط] والذي سيستخدم للاستعلام من قاعدة البيانات وذلك عن طريق الكود التالى :
- الكود:
statement = connection.createStatement();
7_نفيذ الاستعلام من خلال استدعاء الطريقة [ندعوك للتسجيل في المنتدى أو التعريف بنفسك لمعاينة هذا الرابط] الموجودة فى الصنف [ندعوك للتسجيل في المنتدى أو التعريف بنفسك لمعاينة هذا الرابط] و الذى قد عبرنا عنه بالكائن [ندعوك للتسجيل في المنتدى أو التعريف بنفسك لمعاينة هذا الرابط] و ذلك على النحو التالى :
- الكود:
resultSet = statement.executeQuery("SELECT * FROM PLAYER");
8_حلقة دوران للحصول على قيم جدول البيانات ومعالجة البيانات التي تم إرجاعها ومن ثم طباعتها على النحو التالى :
- الكود:
while(resultSet.next()) {
System.out.println(resultSet.getInt(1) + "\t" +
resultSet.getString(2) + "\t" +
resultSet.getString(3) + "\t" +
resultSet.getString(4));
}
الشفرة بالكامل على النحو التالى :
- الكود:
import java.sql.*;
import javax.swing.JOptionPane;
public class DoConnect {
public static void main(String[] args) {
// variables
Connection connection = null;
Statement statement = null;
ResultSet resultSet = null;
try {
Class.forName("net.ucanaccess.jdbc.UcanaccessDriver");
}
catch(ClassNotFoundException cnfex) {
JOptionPane.showMessageDialog(null,cnfex.getMessage());
}
try {
String msAccDB = "/Player.accdb";
String dbURL = "jdbc:ucanaccess://"+ msAccDB;
connection = DriverManager.getConnection(dbURL);
statement = connection.createStatement();
resultSet = statement.executeQuery("SELECT * FROM PLAYER");
System.out.println("ID\tName\t\t\tAge\tMatches");
System.out.println("==\t================\t===\t=======");
while(resultSet.next()) {
System.out.println(resultSet.getInt(1) + "\t" +
resultSet.getString(2) + "\t" +
resultSet.getString(3) + "\t" +
resultSet.getString(4));
}
}
catch(SQLException sqlex){
sqlex.printStackTrace();
}
finally {
try {
if(null != connection) {
resultSet.close();
statement.close();
connection.close();
}
}
catch (SQLException sqlex) {
sqlex.printStackTrace();
}
}
}
}
تحياتى لكم
- في الجمعة فبراير 08, 2019 2:03 pm
- ابحث في: قواعد البيانات JAVA JDBC
- موضوع: [JDBC]الاتصال بقواعد بيانات MS Access فى Java 8 باستخدام UcanaccessDriver
- المساهمات: 1
- مشاهدة: 2909
الإثنين أبريل 29, 2024 9:00 pm من طرف moslema_r
» ارخص شركة مكافحة الصراصير بالرياض
الخميس أبريل 25, 2024 8:56 pm من طرف moslema_r
» شركة مكافحة حشرات في راس الخيمة
الخميس أبريل 25, 2024 8:34 pm من طرف moslema_r
» تطبيقIncogniton لإدارة ملفات تعريف متعددة للمتصفح
الأربعاء أبريل 24, 2024 3:51 pm من طرف زاكااا
» افضل شركة مكافحة النمل الابيض بالرياض
الإثنين أبريل 22, 2024 9:41 pm من طرف moslema_r
» Exemplary Сasual Dating - Verified Women
الخميس أبريل 18, 2024 9:18 pm من طرف wdqwd
» رش الدفان بالرياض
الخميس أبريل 18, 2024 7:11 pm من طرف moslema_r
» شركة تنظيف خزانات الشارقة
الخميس أبريل 18, 2024 6:57 pm من طرف moslema_r
» شركة مكافحة الفئران بالرياض
الإثنين أبريل 15, 2024 8:23 pm من طرف moslema_r
» افضل شركة كشف تسربات المياه بالباحة
الخميس أبريل 04, 2024 7:02 am من طرف gmalnagy