मैं अपने जावा प्रोग्राम में WYSIWYG HTML संपादक जोड़ना चाहता हूं।
मेरा विचार कुछ ऐसा करना है जैसे this लेकिन जावा के साथ - पायथन के साथ नहीं। - पर्याप्त परिष्कृत नहींजावा और वेबकिट के साथ एचटीएमएल संपादक - एसडब्ल्यूटी ब्राउज़र
- HTMLEditorKit:
मैं विकल्प और उनकी समस्याओं की जोड़ी के बारे में पता है।
- जेडबपेन - परी कथा।
- QtWebKit - खुला स्रोत नहीं।
- JWebEngine - खुला स्रोत नहीं।
- metaphaseeditor - सरल के लिए।
- लोबो प्रोजेक्ट - संतुष्ट विशेषता का समर्थन नहीं करता है।
- JavaXPCOM - मैं इसे अपने मैक ओएस एक्स 10.6 पर संचालित करने के लिए सफल नहीं हूं।
वैसे भी, मैं बस इसका उपयोग नहीं करना पसंद करता क्योंकि गेको धीमा है तो वेबकिट।
तरह से मैं org.eclipse.swt.browser पैकेज से Browser Object के साथ काम करने के लिए चुना है यही कारण है कि।
अभी के लिए, मेरे पास नीचे कोड है:
कोड, पहले ब्राउज़र ऑब्जेक्ट का एक उदाहरण बनाते हैं।
इसके बाद यह शरीर टैग पर contenteditable='true'
विशेषताओं वाला HTML पृष्ठ लोड करता है।
यदि यह एक पृष्ठ लोड करता है तो उसे contenteditable='true'
शरीर टैग में विशेषताओं को जोड़ना होता है, और जब पृष्ठ को सहेजता है तो इसे हटा दिया जाता है।
मेरे प्रश्न हैं:
- मैं संपादित एचटीएमएल कोड कैसे हड़पने करते हैं?
- मुझे कैसे पता चलेगा कि कर्सर कदम उठा रहा है?
- मुझे कैसे पता चलेगा कि कुछ पाठ हाइलाइट किया गया है या नहीं?
या, सामान्य रूप में:
- मैं ब्राउज़र वस्तु और ontenteditable = 'सही' गुण के साथ एक शब्द स्वामी कैसे बनाऊं?
- क्या यह संभव है?
- जावा में WYSIWYG HTML संपादक के लिए यह सही तरीका है?
- वहां कोई भी उदाहरण है?
मैं पहले से ही SWT Snippets की जांच करता हूं - बहुत मदद नहीं करता है।
बहुत बहुत धन्यवाद।
import org.eclipse.swt.SWT;
import org.eclipse.swt.SWTError;
import org.eclipse.swt.browser.Browser;
import org.eclipse.swt.layout.FillLayout;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Display;
import org.eclipse.swt.widgets.Shell;
public class editor {
public static void main(String [] args) {
String html = "<html><title>Editor</title>"
+ "<body contenteditable='true'>"
+ " <h2>All the Page is ditable!!!!!</h2>"
+ "<p>Heres a typical paragraph element</p>"
+ "<ol><li>and now a list</li>"
+ "<li>with only</li>"
+ "<li>three items</li>"
+ "</ol></body></html>";
Display display = new Display();
Shell shell = new Shell(display);
shell.setLayout(new FillLayout());
final Browser browser;
try {
browser = new Browser(shell, SWT.BORDER);
}
catch (SWTError e) {
System.out.println(e.getMessage());
display.dispose();
return;
}
Composite comp = new Composite(shell, SWT.NONE);
comp.setLayout(new FillLayout(SWT.ALL));
browser.setText(html);
shell.open();
while (!shell.isDisposed()) {
if (!display.readAndDispatch())
display.sleep();
}
display.dispose();
}
}
तारीफ के लिए धन्यवाद और उत्तर के लिए और भी अधिक धन्यवाद !!! सी/सी ++ सीखने का सही समय लगता है ... इन भाषाओं के साथ ऐसी चीजों के लिए इसे और अधिक उपयुक्त होना चाहिए ... – Arnon