में फोर्बिड टैब परिवर्तन, मैं वर्तमान टैब मान्य नहीं होने पर उपयोगकर्ता को टैब बदलने से रोकने की कोशिश कर रहा हूं। तो जब वह किसी टैब पर क्लिक करता है, तो मैं यह जांचना चाहता हूं कि वर्तमान वाला "मान्य" है, और यदि नहीं, तो वर्तमान टैब पर बने रहें। मैं एक VetoableChangeListener जो काम नहीं किया उपयोग करने के लिए कोशिश की, कोड कभी नहीं vetoableChange विधि के अंदर चला जाता:JTabbedPane
jTabbedPane.addVetoableChangeListener(new VetoableChangeListener() {
@Override
public void vetoableChange(PropertyChangeEvent evt) throws PropertyVetoException {
if (!isCurrentTabValid()) {
throw new PropertyVetoException("test", evt);
}
}
});
मैं इस ठीक से कैसे कर सकते हैं?
धन्यवाद!
यह टैब परिवर्तन के लिए बहुत अच्छा काम करता है, लेकिन आप टैब को बंद करने के लिए कैसे करते हैं? टैब बंद होने के बाद 'vetoableChange' को बुलाया जाता है और जब पिछला टैब चुना जाता है। मैंने vetoableClose के लिए इंटरनेट की खोज की, लेकिन कोई हिट नहीं। –
असंबद्ध/विस्तारित लगता है - कृपया एक एसएससीसीई – kleopatra
के साथ एक प्रश्न पोस्ट करें ठीक है, मैंने इसे हल किया। मेरे पास बंद करने के लिए प्रत्येक टैब पर एक बटन घटक जोड़ा गया है। यह 'JTabbedPane.remove (tabIndex) 'का आह्वान करता है। मैं इसके आसपास काम करने में कामयाब रहा। मैं वर्तमान को बंद करने से पहले पिछले टैब का चयन कर रहा हूं, इसलिए 'valueChanged' विधि लागू हो जाती है। –