A 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(); } }
ผลลัพธ์