>  기사  >  Java  >  다음은 질문 기반이며 기사 내용과 일치하는 몇 가지 제목 옵션입니다. * JTable 셀에 대한 사용자 정의 유효성 검사 규칙을 적용하는 방법은 무엇입니까? * Inv를 거부하기 위해 사용자 정의 셀 편집기를 만드는 방법은 무엇입니까?

다음은 질문 기반이며 기사 내용과 일치하는 몇 가지 제목 옵션입니다. * JTable 셀에 대한 사용자 정의 유효성 검사 규칙을 적용하는 방법은 무엇입니까? * Inv를 거부하기 위해 사용자 정의 셀 편집기를 만드는 방법은 무엇입니까?

DDD
DDD원래의
2024-10-27 09:44:30185검색

Here are a few title options that are question-based and match the article's content:

* How to Enforce Custom Validation Rules for JTable Cells?
* How can I Create a Custom Cell Editor to Reject Invalid Input in JTable?
* Beyond Type Checking: Implement

JTable 셀에서 잘못된 입력을 거부하는 방법

JTable에서 열 클래스 유형을 설정하면 잘못된 입력이 자동으로 빨간색으로 거부됩니다. 정수 열에 이중 값을 입력할 때 표시되는 개요입니다. 그러나 이 동작은 음수 또는 0 값 거부와 같은 사용자 정의 유효성 검사 규칙으로 확장되지 않습니다.

양수가 아닌 입력에 대한 자동 거부 동작을 복제하려면 유효성을 확인하는 사용자 정의 셀 편집기를 만들 수 있습니다.

PositiveIntegerCellEditor

다음 PositiveIntegerCellEditor는 기본 셀 편집기를 확장하여 원하는 유효성 검사를 수행합니다.

<code class="java">private static class PositiveIntegerCellEditor extends DefaultCellEditor {

    private static final Border red = new LineBorder(Color.red);
    private static final Border black = new LineBorder(Color.black);
    private JTextField textField;

    public PositiveIntegerCellEditor(JTextField textField) {
        super(textField);
        this.textField = textField;
        this.textField.setHorizontalAlignment(JTextField.RIGHT);
    }

    @Override
    public boolean stopCellEditing() {
        try {
            int v = Integer.valueOf(textField.getText());
            if (v < 0) {
                throw new NumberFormatException();
            }
        } catch (NumberFormatException e) {
            textField.setBorder(red);
            return false;
        }
        return super.stopCellEditing();
    }

    @Override
    public Component getTableCellEditorComponent(JTable table,
        Object value, boolean isSelected, int row, int column) {
        textField.setBorder(black);
        return super.getTableCellEditorComponent(
            table, value, isSelected, row, column);
    }
}</code>

사용법

지정된 열의 셀을 편집할 때 PositiveIntegerCellEditor는 양수가 아닌 입력을 거부하고 셀 윤곽선을 빨간색으로 표시하며 셀 편집 완료를 방지합니다.

제공된 코드에는 향상된 기능도 포함되어 있습니다. 셀 편집 중 오른쪽 정렬 및 오류 처리.

부록

이 기사에서는 JTable의 셀 편집 유효성 검사에 대한 추가 리소스에 대한 링크도 제공합니다.

위 내용은 다음은 질문 기반이며 기사 내용과 일치하는 몇 가지 제목 옵션입니다. * JTable 셀에 대한 사용자 정의 유효성 검사 규칙을 적용하는 방법은 무엇입니까? * Inv를 거부하기 위해 사용자 정의 셀 편집기를 만드는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.