مثال
يوفر مقتطف الكود التالي مثالاً يوضح كيفية تنسيق قيم العملة كأرقام قابلة للخلايا. يعالج العارض المخصص (CurrencyRenderer) تنسيق العملة ، في حين يسمح المحرر المخصص (CurrencyEditor) للمستخدمين بتحرير القيم مع الحفاظ على التنسيق.
استيراد java.awt.component ؛ استيراد java.awt.event.mouseevent ؛ استيراد java.text.numberformat ؛ استيراد javax.swing.defaultCelleditor ؛ استيراد javax.swing.jtable ؛ استيراد javax.swing.jtextfield ؛ استيراد javax.swing.table.defaultTableCellRenderer ؛ // عارض الخلية المخصص لتنسيق العملة يمتد CorrencyRenderer من الطبقة العامة DefaultTableCellRenderer { NumberFormat Formatter ؛ عملة عامة (numberFormat formatter) { this.formatter = formatter ؛ sethorizontalalignment (jlabel.right) ؛ } @تجاوز public void setValue (قيمة الكائن) { setText ((value == null)؟ "": formatter.format (value)) ؛ } } // محرر الخلية المخصص لإدخال العملة ، والحفاظ على التنسيق يمتد Correncyeditor من الطبقة العامة DefaultCelleditor { NumberFormat Formatter ؛ خاص JTextfield Textfield ؛ Currencyeditor العامة (NumberFormat Formatter) { Super (New JTextField ()) ؛ this.formatter = formatter ؛ TextField = (JTextField) getComponent () ؛ Textfield.SethorizontalIngmenment (jtextfield.right) ؛ TextField.SetBorder (null) ؛ } @تجاوز الكائن العام getCelleditorValue () { يحاول { إرجاع جديد مزدوج (textField.getText ()) ؛ } catch (numberformatexception e) { إرجاع double.valueof (0) ؛ } } @تجاوز المكون العام getTableCelleditorComponent (الجدول Jtable ، قيمة الكائن ، isselected ، int int ، عمود int) { textfield.settext ((value == null) ؟ "": formatter.format ((double) value)) ؛ إرجاع Textfield ؛ } }
من خلال دمج هذه التقنيات ، يمكن للمطورين التأكد من أن إمكانات تقديم الخلايا المخصصة والتحرير تعمل بسلاسة في JTable ، مما يوفر تجربة معالجة بيانات متسقة وسهلة الاستخدام.تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.
Copyright© 2022 湘ICP备2022001581号-3