summaryrefslogtreecommitdiff
path: root/base/src/examples/java/bjc
diff options
context:
space:
mode:
authorBenjamin Culkin <scorpress@gmail.com>2026-01-28 21:36:12 -0500
committerBenjamin Culkin <scorpress@gmail.com>2026-01-28 21:36:12 -0500
commiteef6e132080c5e46ba8c47ecfaca83fa8e0e214e (patch)
treeb99daffa062652d061c883382ce9068e735dae7b /base/src/examples/java/bjc
parent8f0b451c442985d7338bd1d09bc5798220787cb8 (diff)
Add various text UI componentsHEADtrunk
This adds a variety of text UI components, namely two suites: * One that is geared towards JSON * One that is geared towards Markdown Details to (perhaps) follow later
Diffstat (limited to 'base/src/examples/java/bjc')
-rw-r--r--base/src/examples/java/bjc/utils/examples/gui/MarkdownEditorKitDemo.java46
1 files changed, 46 insertions, 0 deletions
diff --git a/base/src/examples/java/bjc/utils/examples/gui/MarkdownEditorKitDemo.java b/base/src/examples/java/bjc/utils/examples/gui/MarkdownEditorKitDemo.java
new file mode 100644
index 0000000..e48c939
--- /dev/null
+++ b/base/src/examples/java/bjc/utils/examples/gui/MarkdownEditorKitDemo.java
@@ -0,0 +1,46 @@
+package bjc.utils.examples.gui;
+
+import javax.swing.JFrame;
+import javax.swing.JScrollPane;
+import javax.swing.JTextPane;
+import javax.swing.SwingUtilities;
+import javax.swing.WindowConstants;
+
+import bjc.utils.gui.MarkdownEditorKit;
+import bjc.utils.gui.MarkdownEditorKit.MarkdownDocument;
+
+public class MarkdownEditorKitDemo {
+
+ public static void main(String[] args) {
+ SwingUtilities.invokeLater(() -> {
+ String md = """
+ # Table demo
+
+ Here is a table:
+
+ | Tool | Notes |
+ |------|------|
+ | *web.run* | Search the web |
+ | python | Execute code |
+
+ And this form too:
+
+ Tool | Notes
+ ---- | -----
+ A | B
+ """;
+
+ JTextPane pane = new JTextPane();
+ pane.setEditable(false);
+ pane.setEditorKit(new MarkdownEditorKit());
+ ((MarkdownDocument) pane.getDocument()).setMarkdown(md);
+
+ JFrame f = new JFrame("MarkdownEditorKit Demo");
+ f.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
+ f.add(new JScrollPane(pane));
+ f.setSize(700, 500);
+ f.setLocationRelativeTo(null);
+ f.setVisible(true);
+ });
+ }
+}