हां, यह संभव है, हालांकि यह आसान नहीं होगा।
आपको अपना खुद का कस्टम cell renderer और अपना खुद का cell editor लिखना होगा।
यह एक नमूना मैं 5 मिनट में किया जाता है:
यह सही से दूर है, लेकिन अवधारणा को दर्शाता है।
import java.awt.Component;
import java.awt.Font;
import javax.swing.*;
import javax.swing.table.*;
import java.awt.Dimension;
public class CustomCell {
public static void main(String [] args) {
Object [] columnNames = new Object[]{ "Id", "Quantity" };
Object [][] data = new Object[][]{ {"06", 1}, {"08", 2} };
JTable table = new JTable(data, columnNames) {
public TableCellRenderer getCellRenderer(int row, int column) {
return new PlusMinusCellRenderer();
}
};
table.setRowHeight(32);
showFrame(table);
}
private static void showFrame(JTable table) {
JFrame f = new JFrame("Custom Cell Renderer sample");
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
f.add(new JScrollPane(table));
f.pack();
f.setVisible(true);
}
}
class PlusMinusCellRenderer extends JPanel implements TableCellRenderer {
public Component getTableCellRendererComponent(
final JTable table, Object value,
boolean isSelected, boolean hasFocus,
int row, int column) {
this.add(new JTextField(value.toString() ));
this.add(new JButton("+"));
this.add(new JButton("-"));
return this;
}
}
यहाँ एक धागा interesting और here हो सकता है कि है:
यहाँ स्रोत कोड है।
क्या इन बटनों पर actionListeners जोड़ना संभव है? – cp101020304
बटन वास्तव में क्लिक करने योग्य नहीं हैं; क्या मुझे अपना खुद का माउस लिस्टनर या ऐसा कुछ काम करने के लिए जोड़ना होगा? – ricky3350