Computer >> 컴퓨터 >  >> 프로그램 작성 >> Java

Java에서 JTable의 대체 행에 색상을 설정하는 방법은 무엇입니까?


JTable JComponent 의 하위 클래스입니다. 여러 에 정보가 표시된 테이블을 만드는 데 사용할 수 있습니다. 및 . JTable에서 값을 선택하면 TableModelEvent TableModelListener 를 구현하여 처리됩니다. 인터페이스.

색상을 대체 행으로 설정할 수 있습니다. JTable prepareRenderer() 재정의 JTable 클래스의 메소드.

구문

public Component prepareRenderer(TableCellRenderer renderer, int row, int column)

예시

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.table.*;
public class AlternateRowColorTableTest extends JFrame {
   public AlternateRowColorTableTest() {
      setTitle("AlternateRowColorTable Test");
      JTable table = new JTable(new Object[][] {{"115", "Ramesh"}, {"120", "Adithya"}, {"125", "Jai"}, {"130", "Chaitanya"}, {"135", "Raja"}}, new String[] {"Employee Id", "Employee Name"}) {
         public Component prepareRenderer(TableCellRenderer renderer, int row, int column) {
            Component comp = super.prepareRenderer(renderer, row, column);
            Color alternateColor = new Color(200, 201, 210);
            Color whiteColor = Color.WHITE;
            if(!comp.getBackground().equals(getSelectionBackground())) {
               Color c = (row % 2 == 0 ? alternateColor : whiteColor);
               comp.setBackground(bg);
               c = null;
            }
            return returnComp;
         }
      };
      add(new JScrollPane(table));
      setSize(400, 300);
      setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
      setLocationRelativeTo(null);
      setVisible(true);
   }
   public static void main(String[] args) {
      new AlternateRowColorTableTest();
   }
}

출력

Java에서 JTable의 대체 행에 색상을 설정하는 방법은 무엇입니까?