मैं एक कस्टम तालिका प्रस्तुत करना और कस्टम सेल संपादक के साथ एक JTable बनाया है जो छवि में पैनल में दिखाया गया है परिणाम देता हैकस्टम JTable सेल संपादक और सेल रेंडरर
मैं बनाया का उपयोग कैसे करें जेपीनेल को विस्तारित करने वाली एक अलग कक्षा का उपयोग करते हुए पहली टेबल कोशिकाएं। और के रूप में तालिका मान जोड़ने,
tbl.setCellEditor(new customCell());
tbl.getColumnModel().getColumn(0).setCellRenderer(new customCell());
DefaultTableModel dtm = (DefaultTableModel) tbl.getModel();
Vector v = new Vector();
v.add(new Panel());
v.add("Test");
dtm.addRow(v);
v.clear();
v.add(new Panel());
v.add("Test 2");
dtm.addRow(v);
और यह इस तालिका बनाने के लिए मेरी मेज कस्टम वर्ग है,
class customCell extends DefaultTableModel implements TableCellRenderer, TableCellEditor {
public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column) {
Panel p = new Panel();
table.setRowHeight(row, p.getHeight());
return p;
}
public Component getTableCellEditorComponent(JTable table, Object value, boolean isSelected, int row, int column) {
return new Panel();
}
public Object getCellEditorValue() {
return "";
}
public boolean isCellEditable(EventObject anEvent) {
throw new UnsupportedOperationException("Not supported yet.");
}
public boolean shouldSelectCell(EventObject anEvent) {
return true;
}
@Override
public boolean isCellEditable(int rowIndex, int columnIndex) {
return true;
}
public boolean stopCellEditing() {
return true;
}
public void cancelCellEditing() {
throw new UnsupportedOperationException("Not supported yet.");
}
public void addCellEditorListener(CellEditorListener l) {
throw new UnsupportedOperationException("Not supported yet.");
}
public void removeCellEditorListener(CellEditorListener l) {
throw new UnsupportedOperationException("Not supported yet.");
}
}
मेरे समस्या माना जाता है पैनल के रूप में मैं मैं में टाइप नहीं कर सकते हैं उम्मीद दिखाया गया है टेक्स्ट फ़ील्ड या चेक बॉक्स बदलें या बटन पर क्लिक करें। कृपया मुझे बताएं कि इसे कैसे हल करें।
संपादन को रोकना संपादक में है, पैनल में नहीं। इसके अलावा, बाहरी कार्रवाई से मॉडल को गड़बड़ करना लिस्टनर है ... बहस योग्य ;-) – kleopatra
महान पकड़ के लिए धन्यवाद, बीटीडब्ल्यू इस कोड को आपकी ईमानदारी से 3 बार से अधिक संशोधित किया गया है, मैंने कोशिश की और रोब द्वारा बनाई गई जेटीबल से एक्शन का उपयोग करने की कोशिश की (मुझे लगता है कि कुछ भी बेहतर, नि: शुल्क और सरल नहीं है), कोई बदलाव नहीं हुआ है और घटना को काफी समानता से निकाल दिया गया है, – mKorbel
थैंक्स बहुत एमकेर्बेल – Harsha