import javax.swing.table.*;
import javax.swing.*;
import java.awt.*;
public class RenderedTable {
public static void main(String[] args) {
String[] columnNames = {"Name", "Age"};
Object[][] data = {
{"John", 25},
{"Mary", 30},
{"Bob", 28}
};
DefaultTableModel model = new DefaultTableModel(data, columnNames);
JTable table = new JTable(model);
// Set a renderer for the Age column
table.getColumnModel().getColumn(1).setCellRenderer(new DefaultTableCellRenderer() {
@Override
public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column) {
Component c = super.getTableCellRendererComponent(table, value, isSelected, hasFocus, row, column);
c.setBackground(Color.GREEN);
return c;
}
});
JFrame frame = new JFrame("Rendered Table");
frame.add(new JScrollPane(table));
frame.setSize(400, 300);
frame.setVisible(true);
}
}
import javax.swing.table.*;
import javax.swing.*;
import java.awt.event.*;
public class EditorTable {
public static void main(String[] args) {
String[] columnNames = {"Name", "Age"};
Object[][] data = {
{"John", 25},
{"Mary", 30},
{"Bob", 28}
};
DefaultTableModel model = new DefaultTableModel(data, columnNames);
JTable table = new JTable(model);
// Set an editor for the Age column
table.getColumnModel().getColumn(1).setCellEditor(new DefaultCellEditor(new JTextField()));
JFrame frame = new JFrame("Editor Table");
frame.add(new JScrollPane(table));
frame.setSize(400, 300);
frame.setVisible(true);
}
}
import javax.swing.table.*;
import javax.swing.*;
public class AddRowTable {
public static void main(String[] args) {
String[] columnNames = {"Name", "Age"};
Object[][] data = {
{"John", 25}
};
DefaultTableModel model = new DefaultTableModel(data, columnNames);
JTable table = new JTable(model);
// Add a new row to the table
Object[] rowData = {"Mary", 30};
model.addRow(rowData);
JFrame frame = new JFrame("Add Row Table");
frame.add(new JScrollPane(table));
frame.setSize(400, 300);
frame.setVisible(true);
}
}
import javax.swing.table.*;
import javax.swing.*;
public class RemoveRowTable {
public static void main(String[] args) {
String[] columnNames = {"Name", "Age"};
Object[][] data = {
{"John", 25},
{"Mary", 30}
};
DefaultTableModel model = new DefaultTableModel(data, columnNames);
JTable table = new JTable(model);
// Remove the first row from the table
model.removeRow(0);
JFrame frame = new JFrame("Remove Row Table");
frame.add(new JScrollPane(table));
frame.setSize(400, 300);
frame.setVisible(true);
}
}
import javax.swing.table.*;
import javax.swing.*;
import java.util.Comparator;
public class SortTable {
public static void main(String[] args) {
String[] columnNames = {"Name", "Age"};
Object[][] data = {
{"John", 25},
{"Mary", 30},
{"Bob", 28}
};
DefaultTableModel model = new DefaultTableModel(data, columnNames);
JTable table = new JTable(model);
// Add a comparator for the Age column
table.getColumnModel().getColumn(1).setComparator(new Comparator<Object>() {
@Override
public int compare(Object o1, Object o2) {
Integer age1 = (Integer) o1;
Integer age2 = (Integer) o2;
return age1.compareTo(age2);
}
});
// Sort the table by the Age column
table.setRowSorter(new TableRowSorter<TableModel>(model));
JFrame frame = new JFrame("Sort Table");
frame.add(new JScrollPane(table));
frame.setSize(400, 300);
frame.setVisible(true);
}
}
import javax.swing.table.*;
import javax.swing.*;
import java.util.regex.Pattern;
public class FilterTable {
public static void main(String[] args) {
String[] columnNames = {"Name", "Age"};
Object[][] data = {
{"John", 25},
{"Mary", 30},
{"Bob", 28}
};
DefaultTableModel model = new DefaultTableModel(data, columnNames);
JTable table = new JTable(model);
// Add a filter to the table
table.setRowFilter(RowFilter.regexFilter(".*ohn.*"));
JFrame frame = new JFrame("Filter Table");
frame.add(new JScrollPane(table));
frame.setSize(400, 300);
frame.setVisible(true);
}
}
import javax.swing.table.*;
import javax.swing.*;
import java.awt.event.ListSelectionListener;
public class SelectionListenerTable {
public static void main(String[] args) {
String[] columnNames = {"Name", "Age"};
Object[][] data = {
{"John", 25},
{"Mary", 30},
{"Bob", 28}
};
DefaultTableModel model = new DefaultTableModel(data, columnNames);
JTable table = new JTable(model);
// Add a selection listener to the table
table.getSelectionModel().addListSelectionListener(new ListSelectionListener() {
@Override
public void valueChanged(ListSelectionEvent e) {
// Get the selected row
int row = table.getSelectedRow();
if (row >= 0) {
// Get the value of the selected cell
Object value = table.getValueAt(row, 0);
System.out.println(value);
}
}
});
JFrame frame = new JFrame("Selection Listener Table");
frame.add(new JScrollPane(table));
frame.setSize(400, 300);
frame.setVisible(true);
}
}