JTable에서 행의 배경색 새로 고침
Swing JTables로 작업할 때 다음을 사용하여 개별 행의 배경색을 설정할 수 있습니다. 사용자 정의 셀 렌더러. 렌더러 클래스에서 prepareRenderer 메소드를 구현하면 특정 조건이나 사용자 상호 작용에 따라 배경색을 조작할 수 있습니다.
다음 예를 고려하세요.
public class ColorTable extends JTable { private static final long serialVersionUID = 1L; private Map<Integer, Color> rowColors = new HashMap<>(); @Override public Component prepareRenderer(TableCellRenderer renderer, int row, int column) { Component c = super.prepareRenderer(renderer, row, column); if (!isRowSelected(row)) { Color color = rowColors.get(row); if (color != null) { c.setBackground(color); } else { c.setBackground(getDefaultRenderer(getColumnClass(column)).getBackground()); } } return c; } public void setRowColor(int row, Color color) { rowColors.put(row, color); } }
이 예에서 ColorTable은 클래스는 JTable을 확장하고 setRowColor 메소드를 호출하여 행에 대해 다른 배경색을 지정할 수 있도록 합니다. 이는 테이블 내 개별 행의 상태나 중요성을 시각적으로 나타내는 데 유용할 수 있습니다.
행 색상 재설정
모든 행의 배경색을 기본값으로 재설정하려면 색상을 지정하려면 다음과 같은 방법을 사용할 수 있습니다.
public void resetRowColors(Color defaultColor) { rowColors.clear(); setBackground(defaultColor); }
예 사용법:
// Create a ColorTable ColorTable table = new ColorTable(); // Add data to the table table.setModel(new DefaultTableModel(new Object[][], new String[]{})); // Set background color for specific rows table.setRowColor(0, Color.GREEN); table.setRowColor(1, Color.RED); // Reset row colors to default table.resetRowColors(Color.WHITE);
사용자 정의 셀 렌더러를 구현하고 행 색상을 설정 및 재설정하는 메서드를 제공하면 특정 요구 사항에 따라 JTable 행의 모양을 쉽게 수정할 수 있습니다.
위 내용은 JTable에서 행의 배경색을 새로 고치는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!