एक JTable JComponent . का उपवर्ग है वर्ग और इसका उपयोग कई पंक्तियों . में प्रदर्शित जानकारी के साथ तालिका बनाने के लिए किया जा सकता है और कॉलम . जब किसी JTable से कोई मान चुना जाता है, तो एक TableModelEvent उत्पन्न होता है, जिसे एक TableModelListener . लागू करके नियंत्रित किया जाता है इंटरफेस। हम जोड़ या सम्मिलित कर सकते हैं एक रेडियो बटन TableCellRenderer . को अनुकूलित करके एक JTable सेल में इंटरफ़ेस और DefaultCellEditor कक्षा।
उदाहरण
आयात करें निजी DefaultTableModel dtm; निजी बटन समूह बीजी; निजी जेटीबल टेबल; निजी JScrollPane जेएसपी; सार्वजनिक JTableRadioButtonTest () {setTitle ("JTableRadioButton Test"); dtm =नया DefaultTableModel (); dtm.setDataVector (नया ऑब्जेक्ट [] [] {{"कोर्स 1", नया JRadioButton ("Java")}, {"कोर्स 1", नया JRadioButton ("पायथन")}, {"कोर्स 1", नया JRadioButton ( "स्कैला")}, {"कोर्स 2", नया रेडियोबटन ("सेलेनियम")}, {"कोर्स 2", नया जेराडियोबटन ("जावा स्क्रिप्ट")}}, नया ऑब्जेक्ट [] {"कोर्स", "प्रौद्योगिकी" }); तालिका =नया जेटीबल (डीटीएम) {सार्वजनिक शून्य तालिका बदली गई (टेबलमोडेलइवेंट टीएमई) {सुपर.टेबल चेंज (टीएमई); फिर से रंगना (); } }; बीजी =नया बटन समूह (); bg.add((JRadioButton)dtm.getValueAt(0,1)); bg.add((JRadioButton)dtm.getValueAt(1,1)); bg.add((JRadioButton)dtm.getValueAt(2,1)); bg.add((JRadioButton)dtm.getValueAt(3,1)); bg.add((JRadioButton)dtm.getValueAt(4,1)); table.getColumn("Technology").setCellRenderer(new RadioButtonRenderer()); table.getColumn("Technology").setCellEditor(new RadioButtonEditor(new JCheckBox())); जेएसपी =नया जेएसक्रॉलपेन (टेबल); जोड़ें (जेएसपी, बॉर्डरलाउट। उत्तर); सेटसाइज (400, 275); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); सेटलोकेशन रिलेटिव टू (अशक्त); सेटविजिबल (सच); } सार्वजनिक स्थैतिक शून्य मुख्य (स्ट्रिंग [] args) {नया JTableRadioButtonTest (); }}वर्ग RadioButtonRenderer TableCellRenderer को लागू करता है {सार्वजनिक घटक getTableCellRendererComponent(JTable तालिका, ऑब्जेक्ट मान, बूलियन चयनित है, बूलियन हैफोकस, इंट रो, इंट कॉलम) {अगर (मान==नल) रिटर्न शून्य; वापसी (घटक) मूल्य; }}वर्ग RadioButtonEditor DefaultCellEditor का विस्तार करता है, ItemListener को लागू करता है {निजी JRadioButton बटन; सार्वजनिक रेडियोबटन संपादक (जेचेकबॉक्स चेकबॉक्स) {सुपर (चेकबॉक्स); } सार्वजनिक घटक getTableCellEditorComponent(JTable तालिका, ऑब्जेक्ट मान, बूलियन चयनित है, इंट रो, इंट कॉलम) { अगर (मान==नल) रिटर्न अशक्त; बटन =(JRadioButton) मान; button.addItemListener (यह); वापसी (घटक) मूल्य; } सार्वजनिक वस्तु getCellEditorValue () { button.removeItemListener (यह); वापसी बटन; } सार्वजनिक शून्य आइटमस्टेट चेंज (आइटमइवेंट ई) {super.fireEditingStopped (); }}आउटपुट