날짜가 올바르게 작동하지 않는 Java Jtable coulmn 단락

javadotnetcoder

다시 한번 기본적인 질문을해서 죄송합니다. 자바를 처음 접했기 때문에 어리석은 일을하는 대신지도를받는 것이 더 낫다고 생각했습니다.

내 jtable에는 다음 데이터가 있습니다.

Id | Name | Date(month-year)
1  | XYZ  | August-2014
2  | ABc  | April-2014

내 Modelclass는 다음과 같습니다.

class MyTableModel extends AbstractTableModel {

 private String[] columnNames = {"Id", "Country","Date"};

 public final Object[] longValues = {Integer.class,"",Date.class};

이제 권장되는대로 모델 테이블에서 getColumnClass를 재정의했습니다.

@Override
 public Class getColumnClass(int c)
 {
     if(c == 2)
     {
              //return Date.class;
              return getValueAt(0,c).getClass();
     }
      else
         return getValueAt(0,c).getClass();
  }

기본 열 분류기를 활성화했습니다.

이제 기본적으로 모든 문자열 열은 단락에서 잘 작동하지만 Date 열의 경우에도 문자열로 간주하고 문자열로 줄입니다.

열을 날짜로 짧게 만들면 오류가 발생합니다.

내가 뭘 잘못하고 있고 올바른 방법은 무엇입니까?

감사

dic19

이제 권장 getColumnClass되는대로 모델 테이블에서

Note that your implementation is wrong mainly because you never have to ask for model's value to get the column's class (not to mention redundant/useless if-else block). Since you know your model then you are perfectly capable to return the right column class with no need to query the model:

@Override
public Class<?> getColumnClass(int columnIndex) {
    switch (columnIndex) {
        case 0: return Integer.class; // Id column
        case 1: return String.class; // Name column
        case 2: return Date.class; // Date column
            default: return super.getColumnClass(columnIndex);
    }
}

This should be enough to properly sort dates column, even if your renderer shows month-year pattern:

table.setDefaultRenderer(Date.class, new DefaultTableCellRenderer() {
    @Override
    public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column) {

        if (value instanceof Date) {
            SimpleDateFormat formatter = new SimpleDateFormat("MMMM-yyyy");
            value = formatter.format((Date)value);
        }

        return super.getTableCellRendererComponent(table, value, isSelected, hasFocus, row, column);
    }
});

For example if you have 9/27/2014 and 9/30/2014 then this should be the natural ascending order when you sort this column, regardless both cells display September-2014.

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

날짜가 올바르게 작동하지 않는 Java Jtable coulmn 단락

분류에서Dev

Java If-else 함수가 올바르게 작동하지 않음

분류에서Dev

Java If-else 함수가 올바르게 작동하지 않음

분류에서Dev

Avro Java 직렬화가 올바르게 작동하지 않는 json으로

분류에서Dev

날짜 형식이 올바르게 작동하지 않음

분류에서Dev

= (단일 같음)을 사용하는 내 같음 비교가 Java에서 올바르게 작동하지 않는 이유는 무엇입니까?

분류에서Dev

MomentJS가 날짜를 올바르게 변환하지 않음

분류에서Dev

Bootstrap Datepicker가 날짜를 올바르게 표시하지 않음

분류에서Dev

AngularJS orderBy 날짜가 올바르게 주문되지 않음

분류에서Dev

Java에서 날짜 형식을 올바르게 지정하는 방법

분류에서Dev

Else가 올바르게 작동하지 않는 경우

분류에서Dev

시스템 날짜가 변경된 후 Jenkins가 올바르게 작동하지 않습니다.

분류에서Dev

Datatable 날짜 형식이 올바르게 작동하지 않습니다.

분류에서Dev

JavaScript 및 Moment.js가 올바르게 평가되지 않는 날짜 범위 내의 날짜

분류에서Dev

문자열 하위가 올바르게 작동하지 않음

분류에서Dev

PapaParse가 내 날짜를 올바르게 처리하지 않습니다.

분류에서Dev

As3 날짜 개체가 시간을 올바르게 반환하지 않음

분류에서Dev

날짜가 시간을 올바르게 형식화하지 않습니다.

분류에서Dev

Ubuntu 13.10-Skype가 올바르게 작동하지 않음

분류에서Dev

Foreach 루프 위치가 올바르게 작동하지 않음

분류에서Dev

async 및 await가 올바르게 작동하지 않습니다.

분류에서Dev

groupby 및 count가 올바르게 작동하지 않습니다.

분류에서Dev

JTextField getText ()가 올바르게 작동하지 않습니다.

분류에서Dev

Ubuntu 13.10-Skype가 올바르게 작동하지 않음

분류에서Dev

StoredProcedure가 올바르게 작동하지 않음

분류에서Dev

DHCP3- 서버가 올바르게 작동하지 않음

분류에서Dev

Android 의도가 올바르게 작동하지 않음

분류에서Dev

jQuery.가 올바르게 작동하지 않음

분류에서Dev

SQL NOT IN 연산자가 올바르게 작동하지 않음

Related 관련 기사

  1. 1

    날짜가 올바르게 작동하지 않는 Java Jtable coulmn 단락

  2. 2

    Java If-else 함수가 올바르게 작동하지 않음

  3. 3

    Java If-else 함수가 올바르게 작동하지 않음

  4. 4

    Avro Java 직렬화가 올바르게 작동하지 않는 json으로

  5. 5

    날짜 형식이 올바르게 작동하지 않음

  6. 6

    = (단일 같음)을 사용하는 내 같음 비교가 Java에서 올바르게 작동하지 않는 이유는 무엇입니까?

  7. 7

    MomentJS가 날짜를 올바르게 변환하지 않음

  8. 8

    Bootstrap Datepicker가 날짜를 올바르게 표시하지 않음

  9. 9

    AngularJS orderBy 날짜가 올바르게 주문되지 않음

  10. 10

    Java에서 날짜 형식을 올바르게 지정하는 방법

  11. 11

    Else가 올바르게 작동하지 않는 경우

  12. 12

    시스템 날짜가 변경된 후 Jenkins가 올바르게 작동하지 않습니다.

  13. 13

    Datatable 날짜 형식이 올바르게 작동하지 않습니다.

  14. 14

    JavaScript 및 Moment.js가 올바르게 평가되지 않는 날짜 범위 내의 날짜

  15. 15

    문자열 하위가 올바르게 작동하지 않음

  16. 16

    PapaParse가 내 날짜를 올바르게 처리하지 않습니다.

  17. 17

    As3 날짜 개체가 시간을 올바르게 반환하지 않음

  18. 18

    날짜가 시간을 올바르게 형식화하지 않습니다.

  19. 19

    Ubuntu 13.10-Skype가 올바르게 작동하지 않음

  20. 20

    Foreach 루프 위치가 올바르게 작동하지 않음

  21. 21

    async 및 await가 올바르게 작동하지 않습니다.

  22. 22

    groupby 및 count가 올바르게 작동하지 않습니다.

  23. 23

    JTextField getText ()가 올바르게 작동하지 않습니다.

  24. 24

    Ubuntu 13.10-Skype가 올바르게 작동하지 않음

  25. 25

    StoredProcedure가 올바르게 작동하지 않음

  26. 26

    DHCP3- 서버가 올바르게 작동하지 않음

  27. 27

    Android 의도가 올바르게 작동하지 않음

  28. 28

    jQuery.가 올바르게 작동하지 않음

  29. 29

    SQL NOT IN 연산자가 올바르게 작동하지 않음

뜨겁다태그

보관