نمایش نتایج 1 تا 3 از 3

نام تاپیک: چک باکس در jtable هنگام فراخوانی از دیتابیس

  1. #1

    Unhappy چک باکس در jtable هنگام فراخوانی از دیتابیس

    سلام من یه تیبل توی دیتابیس دارم که اون رو توی jtable ریختم








    String sql = "select `id`,`CostCentersName`, case when `Status` = 1 then true else false end AS Status from costcenters limit 0,10 ";
    Clas.classtable obj = new Clas.classtable();
    DefaultTableModel dtm = obj.Query(sql);
    datatable.setModel(dtm);
    CheckBoxRenderer checkBoxRenderer = new CheckBoxRenderer();
    datatable.getColumnModel().getColumn(2).setCellRen derer(checkBoxRenderer);



    کلاس استفاده شده


    import java.awt.Color;
    import java.awt.Component;
    import javax.swing.JCheckBox;
    import javax.swing.JLabel;
    import javax.swing.JTable;




    import java.awt.Color;
    import javax.swing.SwingConstants;
    import javax.swing.table.DefaultTableCellRenderer;
    import javax.swing.table.TableCellRenderer;








    public class CheckBoxRenderer extends JCheckBox implements TableCellRenderer {








    public CheckBoxRenderer() {
    JCheckBox checkBox = new JCheckBox();
    setHorizontalAlignment(JLabel.CENTER);
    checkBox.setHorizontalAlignment(SwingConstants.CEN TER);
    checkBox.setBackground( Color.blue);
    }
    public static final DefaultTableCellRenderer DEFAULT_RENDERER = new DefaultTableCellRenderer();




    public Component getTableCellRendererComponent(JTable table, Object value,
    boolean isSelected, boolean hasFocus, int row, int column) {
    Component c = DEFAULT_RENDERER.getTableCellRendererComponent(tab le, value, isSelected, hasFocus, row, column);








    if (isSelected) {
    setForeground(table.getSelectionForeground());
    super.setBackground(table.getSelectionBackground() );
    setBackground(table.getSelectionBackground());
    return c;
    } else {
    setForeground(table.getForeground());
    setBackground(table.getBackground());
    }


    setSelected((value != null && ((Boolean) value).booleanValue()));








    return this;
    }
    }











    اما میخوام جای true و false توی جدول چک باکس بذاره ولی بهم این ارور رو میده

    Exception in thread "AWT-EventQueue-0" java.lang.ClassCastException: java.lang.String cannot be cast to java.lang.Boolean






    کسی میتونه کمکم کنه این مشکل رو حل کنم؟

    آخرین ویرایش به وسیله cnmeysam : پنج شنبه 12 تیر 1399 در 17:07 عصر

  2. #2

    نقل قول: چک باکس در jtable هنگام فراخوانی از دیتابیس

    نیست یاری دهنده ای که مرا اری کند؟

  3. #3

    نقل قول: چک باکس در jtable هنگام فراخوانی از دیتابیس

    مشکل حل شد:
    فقط باید بجای :

    setSelected((value != null && ((Boolean) value).booleanValue()));


    از کد زیر توی کلاس استفاده بشه

    setSelected(value != null && (Boolean.valueOf(value.toString()).booleanValue())  );

    اینم سورسش تو کیت هاب
    https://github.com/cnmeysam/java/tre...jtablecheckbox



    آخرین ویرایش به وسیله cnmeysam : پنج شنبه 12 تیر 1399 در 17:17 عصر

تاپیک های مشابه

  1. تبدیل دیتابیس فاكس پرو (FoxPro) به دیتابیس (SQL SERVER 2008) با پشتیبانی از زبان فارسی
    نوشته شده توسط majid_darab در بخش مسائل مرتبط با نصب و راه اندازی
    پاسخ: 9
    آخرین پست: سه شنبه 15 فروردین 1391, 16:14 عصر
  2. پاسخ: 0
    آخرین پست: چهارشنبه 20 بهمن 1389, 16:56 عصر
  3. پاسخ: 2
    آخرین پست: چهارشنبه 17 آذر 1389, 20:08 عصر
  4. ارتباط دیتابیس با jtable
    نوشته شده توسط jeus در بخش Java EE : نگارش سازمانی جاوا
    پاسخ: 2
    آخرین پست: چهارشنبه 01 خرداد 1387, 13:40 عصر

برچسب های این تاپیک

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •