यह शायद वास्तव में एक मूर्खतापूर्ण प्रश्न है, लेकिन मुझे कहीं भी उत्तर नहीं मिला, क्या उपयोगकर्ता के लिए SWT तालिका में पंक्तियों को हाइलाइट करने में सक्षम होने का कोई तरीका है और या तो ctrl+c kbd> या राइट-क्लिक करें+c मानों को कॉपी करने के लिए?
मैं विशेष रूप से एक्सेल शीट में कॉपी करने में सक्षम होना चाहूंगा।
इस तरह मैं टेबल बनाता हूं,
Table aTable = new Table(parent, SWT.SINGLE | SWT.BORDER
| SWT.FULL_SELECTION);
aTable.setHeaderVisible(true);
aTable.setLinesVisible(true);
aTable.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));
मैंने जेटीबल का उपयोग करके इसके बारे में जानकारी देखी है लेकिन एसडब्ल्यूटी के साथ कुछ भी नहीं। यदि JTable ही मेरा एकमात्र विकल्प है, तो इनमें से किसी एक का उपयोग करने के क्या नुकसान/फायदे होंगे?
2 जवाब
आप इसे आसानी से कोड कर सकते हैं।
अपनी तालिका में एक मुख्य श्रोता जोड़ें और Ctrl+C कुंजियों को सुनें। जब Ctrl+C हिट होता है, तो तालिका से चयन प्राप्त करें, प्रत्येक तालिका आइटम से टेक्स्ट निकालें और एक टैब-पृथक-फ़ील्ड/न्यूलाइन-सेपरेटेड-पंक्तियां स्ट्रिंग बनाएं जिसमें आपका डेटा है। फिर बस इसे क्लिपबोर्ड में डालें (देखें org.eclipse.swt.dnd.Clipboard#setContents
, टेक्स्टट्रांसफर डेटा प्रकार का उपयोग करें)।
बस इतना ही - आपका परिणाम एक्सेल में पेस्ट करने योग्य होगा।
स्वीकृत उत्तर अच्छा है, लेकिन चूंकि डेवलपर्स टेक्स्ट पर कोड स्निपेट पसंद करते हैं, इसलिए मैं इस प्रश्न का उत्तर इस तरह से दूंगा:
aTable.addKeyListener(new KeyAdapter() {
@Override
public void keyPressed(KeyEvent e) {
if (e.stateMask == SWT.CTRL && (e.keyCode == 'c' || e.keyCode == 'C')) {
Clipboard clipboard = new Clipboard(Display.getDefault());
clipboard.setContents(new Object[] { getTextFromSelectedRows() }, new Transfer[] { TextTransfer.getInstance() });
clipboard.dispose();
}
}
});
फिर बस एक getTextFromSelectedRows()
-विधि लागू करें - तालिका चयन के आधार पर - String
लौटाता है जिसे क्लिपबोर्ड में जोड़ा जाना चाहिए।
संबंधित सवाल
नए सवाल
java
जावा एक उच्च स्तरीय प्रोग्रामिंग भाषा है। इस टैग का उपयोग तब करें जब आपको भाषा का उपयोग करने या समझने में समस्या हो। इस टैग का उपयोग शायद ही कभी किया जाता है और इसका उपयोग अक्सर [वसंत], [वसंत-बूट], [जकार्ता-ई], [Android], [javafx], [हडूप], [श्रेणी] और [मावेन] के साथ किया जाता है।