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

اريد تصميم Tab باستخدام HTML

مغلق
بدأه - a l t - في 25 أبريل 2006 · 13 رد · 1,898 مشاهدة · في JavaEE
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

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

اريد تصميم نفس الشكل التالي

25_04_06_07_09_22_1145974162ima.JPG

في صفحة انترنت بلغة HTML ان امكن او javascript ولا عندي أي فكره عن كيفية التصميم

علما بان عدد الاسئلة ليس ثابت

ان كل مجموعه radioButton لكل سؤال تعتبر group منفرد.

فارجوا منكم توجيهى او اعطائي اي فكره لكيفية التصميم

عندي خلفيه بسيطه عن لغة html و Javascript ولكني اجهل كيفه تصميم مثل هذا الشكل

وشكرا

تم تعديل هذه المشاركة بواسطة - a l t - في 25 أبريل 2006 في 17:25

11_03_06_12_48_57_1142110137Image(_66).jpg

#2

في html مستحيل. اعتقد ستحتاج الى jsp

Do as I say, not as I do

We are Anonymous. We are Legion. We don't forgive. We don't forget

#3

شكرا لك اخي Xacker

لو انه من غير الممكن تصميم مثل هذا الشكل بال جافاسكربت

ارجوا من المشرف نقل الموضوع الى منتدى الجافا - قسم J2EE لاحتوائة لغة jsp، مشكورا.

11_03_06_12_48_57_1142110137Image(_66).jpg

#4

تستطيع تصميم ما يشبه هذا الشكل بواسطة html

و بعدها تضيف الذكاء عليها بواسطة JS

و بعدها لكي تنفذ العمليات و التاكد من الاجوبة و احتساب النقاط تستخدم JSP

لان JSP هي لغة برمجة و لا علاقة لها بالتصميم!!

و لكن انصحك بان تعملها جافا ابليت سوف تحصل نفس الشكل بسهولة بالغة و البرمجة اسهل.. و تشتغل عند الكل

يعني لا تحتاج سيرفر يدعم JSP لا شي

فقط دعم بالمتصفح لدى العميل

بالتوفيق

Theory is when you know something, but it doesn't work. Practice is when something works, but you don't know why. Programmers combine theory and practice: Nothing works and they don't know why

#5

شكرا اخي رامي على نقل الموضوع

بالنسبة لتصميم بالابلت فكلامك صحيح 100 %

وهي بتكون اسهل بكتير و وتحتاج الى و قت اقل

لكني لم استطع ربط الابلت بقاعدة البيانات نهائياً ،،

باقي على تسليم المشروع 10 ايام تقريبا ،

فارجوا من الاخوه الكرام ارشادي الى كيفية ربط الابلت بقاعدة البيانات

وشكرا

11_03_06_12_48_57_1142110137Image(_66).jpg

#6

ما المشكلة التي تواجهك تحديداً!!!

لا تنسى انه يجب ان تكون قاعدة البيانات على نفس سيرفر الموجو فيه الابليت لكي تتفادى المشاكل الامنية

Theory is when you know something, but it doesn't work. Practice is when something works, but you don't know why. Programmers combine theory and practice: Nothing works and they don't know why

#7

اخوي رامي المشكلة اني لم استطع الاضافة او الاستعلام عن طريق الابلت

عملت مثال بسيط جدا لما اقوم به عندما اريد ربط الابلت بقاعدة البيانات

فارجوا منك توجيهي الى الطريقة الصحيحة

في المجلد

Tomcat 5.0\webapps\app

توجد قاعدة البيانات من النوع أكسس تحتوي على عمودين من النوع نص

اسماء الاعمدة

id , name

ومسجله في مصادر البيانات (odbc) بأسم test_app_db

ويحتوي المجلد أيضا على الملفات التالية

index.jsp

<html dir="RTL">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1256">
</head>
<body>
<jsp:plugin type="applet" code="app.NewJApplet.class" width="370" height="420" name="myApplet"/>
</body>
</html>

NewJApplet.java

package app;
import connect.*;
public class NewJApplet extends javax.swing.JApplet {
    private Connect conn;
    public void init() {
        try {
            java.awt.EventQueue.invokeAndWait(new Runnable() {
                public void run() {
                    initComponents();
                }
            });
        } catch (Exception ex) {
            ex.printStackTrace();
        }
    }
    private void initComponents() {
   	 try{
     	 conn = new Connect();
      }catch(Exception e){
      e.printStackTrace();
   	 }
        tf1 = new javax.swing.JTextField();
        tf2 = new javax.swing.JTextField();
        insert_B = new javax.swing.JButton("\u062d\u0641\u0638");
        select_B = new javax.swing.JButton("\u0627\u0633\u062a\u0639\u0644\u0627\u0645");

        getContentPane().setLayout(new java.awt.GridLayout(5, 0));
        getContentPane().add(tf1);
        getContentPane().add(tf2);

        insert_B.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                insert_BAction();
            }
        });
        select_B.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                select_BAction();
            }
        });

        getContentPane().add(insert_B);
        getContentPane().add(select_B);
    }
    private void insert_BAction() {	
   	 try{
      conn.insert(tf1.getText() , tf2.getText());
      javax.swing.JOptionPane.showMessageDialog( null , tf1.getText()+"  "+tf2.getText());
   	 }catch(Exception e){
      e.printStackTrace();
   	 }
    }
    
    private void select_BAction() {
   	 try{
      conn.select();
   	 }catch(Exception e){
      e.printStackTrace();
   	 }
    }
    private javax.swing.JButton insert_B;
    private javax.swing.JButton select_B;
    private javax.swing.JTextField tf1;
    private javax.swing.JTextField tf2;
}

Connect.java

package connect;
//import monitor.*;
import java.sql.*;
public class Connect {
	private Connection conn;
	private PreparedStatement sqlSelect , sqlInsert;   	 
	public Connect() throws ClassNotFoundException, SQLException {
  Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
  conn=DriverManager.getConnection("jdbc:odbc:test_app_db");
  prepareStatement();
	}	
	private void prepareStatement() throws SQLException {
  sqlSelect=conn.prepareStatement("SELECT * FROM student; ");
  sqlInsert=conn.prepareStatement("INSERT INTO student  select [?], [?];");
	}	
	public void insert( String id, String name ) throws SQLException {
  sqlInsert.setString( 1, id );
  sqlInsert.setString( 2, name );
  sqlInsert.executeUpdate();
	}	
	public void select() throws SQLException {
  ResultSet result=sqlSelect.executeQuery();
  String msg="";
  while(result.next()){
 	 msg+=result.getString("id")+"      "+result.getString("name")+"\n";
  }
  javax.swing.JOptionPane.showMessageDialog(null, msg);
	}

//	public static void main(String[] ar){
////  MonitorManager.setMonitorAsDefaultIO();
//  try{
// 	 Connect c=new Connect();
// 	 c.insert("11", "BB");
// 	 c.select();
// 	 c.shutDown();
//  }catch(Exception e){
// 	 e.printStackTrace();
//  }
//	}	
	public void shutDown() throws SQLException {
  sqlInsert.close();
  sqlSelect.close();
  conn.close();
	}
}

فما هو السبب في عدم حفظ البيانات الجديدة في قاعدة البيانات ؟

وشكرا,,

11_03_06_12_48_57_1142110137Image(_66).jpg

#8

1- تصميم مثل هذا كما قال رامي،، يستدعي JavaScript،، ومكان الموضوع ليس هنا أبدا!!

2- لكنك تستطيع أن تستخدم JSF يعني مثلا استخدم Sun Java Creator على ما أعتقد وستستطيع أن تصمم مثل هذا باستخدام JSF بسهولة والله أعلم!

3-

أ- بالنسبة للبريمج Applet ضع الخطأ كاملا،، الذي تواجهه.

ب- استخدم MySQL فهذا أسهل!

ج - إذا كان البريمج يتصل إلى مكان بعيد عن مصدره،، فستحتاج إلى توقيعك في البرنامج!

#9
اقتباس
3-

أ- بالنسبة للبريمج Applet ضع الخطأ كاملا،، الذي تواجهه.

ب- استخدم MySQL فهذا أسهل!

ج - إذا كان البريمج يتصل إلى مكان بعيد عن مصدره،، فستحتاج إلى توقيعك في البرنامج!

مسّـاك الله بالخير اخوي ابو مازن ،،

غيرت قاعدة البيانات الى اوركل بدلا من الاكسس !

والمشكله لا زالت قائمة ،فالبريمج لا يتفاعل مع قاعدة البيانات ، و كذلك ما يعطيني رسالة خطا .

علما بان البريمج و قاعدة البيانات على جهازي .

ولما شغلت الابلت خارج المستعرض ( بستخدام Applet Viewer ) بدأ يتفاعل مع قاعدة البيانات باضافة بيانات جديدة و استعلام وغيره ....!

فما هو الحل؟

اقتباس
فستحتاج إلى توقيعك في البرنامج

لم اعرف المقصود من توقيعي ؟؟

وشكرا ،،

11_03_06_12_48_57_1142110137Image(_66).jpg

#10

كيف يعني لا يوجد خطأ.. هل تقصد أن أوامر الاستعلام تنفذ لكنك لا تراها في قاعدة البيانات؟

شيء غريب،، لكن جرب:

conn.commit();

بعد أن تنادي على select و insert وغيرها!

وأمر آخر، يظهر لي أنك استخدمت Access في الشفرة السابقة!

بالنسبة للتوقيع:

تعرف أن البريمج يعمل في وسط صندوق أمني يجعله غير مخول ببعض الأمور مثل الكتابة على القرص الصلب، أو الاتصال بمصادر أخرى غير الصفحة التي منها حُمل.

وهذه الأشياء جعلت حتى يكون البريمج آمنا للمستخدمين. لكنك تستطيع أن تطلب صلاحية الاتصال بأي مكان أو الحفظ في القرص الصلب إذا وقعت على ملف (الجار) بتوقيعك، بمعنى آخر،، التوقيع يثبت أن alt هو الذي صنع هذا البرنامج، فإذا كنت أيها المستخدم تثق بـ Alt فاقبل إعطاءه الصلاحيات التي يريد.

طبعا المستخدم ستظهر له مربع حوار يسأله عن هذه الثقة،، إذا قبل شهادتك، فإن المستعرض سيشغل البريمج.

راجع signer وهو البرنامج المسؤول عن التوقيع تجده في bin في مجلد java،،

وابحث في الشبكة في كيفية استخدامه لإنشاء توقيع لك جديد،، وبعده توقع على ملفاتك!!

طبعا هذا التوجيه صالح إذا كانت قاعدة بياناتك في مكان آخر غير موقع بريمجك،، فإذا كان البريمج في نفس موقع القاعدة فلا داعي للتوقيع!

بالتوفيق!

#11

شكرا لك يابو مازن ،،

و الله يزيدك من فضله.

11_03_06_12_48_57_1142110137Image(_66).jpg

#12

هذا هو الخطأ ؟؟؟

 

Java Plug-in 1.5.0_06
Using JRE version 1.5.0_06 Java HotSpot(TM) Client VM
User home directory = C:\Documents and Settings\Admin
----------------------------------------------------
c:   clear console window
f:   finalize objects on finalization queue
g:   garbage collect
h:   display this help message
l:   dump classloader list
m:   print memory usage
o:   trigger logging
p:   reload proxy configuration
q:   hide console
r:   reload policy configuration
s:   dump system and deployment properties
t:   dump thread list
v:   dump thread stack
x:   clear classloader cache
0-5: set trace level to <n>
----------------------------------------------------
java.security.AccessControlException: access denied (java.lang.RuntimePermission accessClassInPackage.sun.jdbc.odbc)
	at java.security.AccessControlContext.checkPermission(Unknown Source)
	at java.security.AccessController.checkPermission(Unknown Source)
	at java.lang.SecurityManager.checkPermission(Unknown Source)
	at java.lang.SecurityManager.checkPackageAccess(Unknown Source)
	at sun.applet.AppletSecurity.checkPackageAccess(Unknown Source)
	at sun.applet.AppletClassLoader.loadClass(Unknown Source)
	at java.lang.ClassLoader.loadClass(Unknown Source)
	at java.lang.ClassLoader.loadClassInternal(Unknown Source)
	at java.lang.Class.forName0(Native Method)
	at java.lang.Class.forName(Unknown Source)
	at connect.Connect.<init>(Connect.java:8)
	at app.NewJApplet.initComponents(NewJApplet.java:18)
	at app.NewJApplet.access$000(NewJApplet.java:3)
	at app.NewJApplet$1.run(NewJApplet.java:9)
	at java.awt.event.InvocationEvent.dispatch(Unknown Source)
	at java.awt.EventQueue.dispatchEvent(Unknown Source)
	at java.awt.EventDispatchThread.pumpOneEventForHierarchy(Unknown Source)
	at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
	at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
	at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
	at java.awt.EventDispatchThread.run(Unknown Source)
java.lang.NullPointerException
	at app.NewJApplet.select_BAction(NewJApplet.java:56)
	at app.NewJApplet.access$200(NewJApplet.java:3)
	at app.NewJApplet$3.actionPerformed(NewJApplet.java:38)
	at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
	at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)
	at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)
	at javax.swing.DefaultButtonModel.setPressed(Unknown Source)
	at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(Unknown Source)
	at java.awt.Component.processMouseEvent(Unknown Source)
	at javax.swing.JComponent.processMouseEvent(Unknown Source)
	at java.awt.Component.processEvent(Unknown Source)
	at java.awt.Container.processEvent(Unknown Source)
	at java.awt.Component.dispatchEventImpl(Unknown Source)
	at java.awt.Container.dispatchEventImpl(Unknown Source)
	at java.awt.Component.dispatchEvent(Unknown Source)
	at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
	at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
	at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
	at java.awt.Container.dispatchEventImpl(Unknown Source)
	at java.awt.Component.dispatchEvent(Unknown Source)
	at java.awt.EventQueue.dispatchEvent(Unknown Source)
	at java.awt.EventDispatchThread.pumpOneEventForHierarchy(Unknown Source)
	at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
	at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
	at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
	at java.awt.EventDispatchThread.run(Unknown Source)

11_03_06_12_48_57_1142110137Image(_66).jpg

#13

هذا هو الخطأ:

java.security.AccessControlException: access denied (java.lang.RuntimePermission accessClassInPackage.sun.jdbc.odbc)

ومن هنا ينتج الخطأ في برنامجك عندما تحاول الاتصال من مكان مختلف عن مصدر البريمج:

at connect.Connect.<init>(Connect.java:8)
	at app.NewJApplet.initComponents(NewJApplet.java:18)

من الواضح والله أعلم، أنك تقوم بالاتصال إلى موقع ليس نفس موقع البريمج، ولهذا تحتاج إلى التوقيع على البرنامج حتى يعطيك المتصفح صلاحية الاتصال!

#14

يعطيك العافيه ابو مازن !

والله لا يحرمك الاجر،،

11_03_06_12_48_57_1142110137Image(_66).jpg

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

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