diff --git a/src/types/java/index.d.ts b/src/types/java/index.d.ts
index d69032c..59904c4 100644
--- a/src/types/java/index.d.ts
+++ b/src/types/java/index.d.ts
@@ -71,6 +71,10 @@
///
///
///
+///
+///
+///
+///
///
///
///
diff --git a/src/types/java/swing/JTextPane.d.ts b/src/types/java/swing/JTextPane.d.ts
new file mode 100644
index 0000000..bfba7a5
--- /dev/null
+++ b/src/types/java/swing/JTextPane.d.ts
@@ -0,0 +1,32 @@
+declare namespace javax.swing {
+ export class JTextPane extends javax.swing.JComponent {
+ constructor();
+ constructor(document?: javax.swing.text.StyledDocument);
+ setText(text: string): void;
+ getText(): string;
+ setEditable(editable: boolean): void;
+ isEditable(): boolean;
+ getStyledDocument(): javax.swing.text.StyledDocument;
+ setDocument(document: javax.swing.text.Document): void;
+ getDocument(): javax.swing.text.Document;
+ setFont(font: java.awt.Font): void;
+ getFont(): java.awt.Font;
+ setBackground(color: java.awt.Color): void;
+ getBackground(): java.awt.Color;
+ setForeground(color: java.awt.Color): void;
+ getForeground(): java.awt.Color;
+ setCaretPosition(position: number): void;
+ getCaretPosition(): number;
+ select(selectionStart: number, selectionEnd: number): void;
+ selectAll(): void;
+ replaceSelection(content: string): void;
+ setMinimumSize(dimension: java.awt.Dimension): void;
+ setMaximumSize(dimension: java.awt.Dimension): void;
+ setPreferredSize(size: java.awt.Dimension): void;
+ addFocusListener(listener: java.awt.event.FocusListener): void;
+ addKeyListener(listener: java.awt.event.KeyListener): void;
+ removeKeyListener(listener: java.awt.event.KeyListener): void;
+ }
+}
+
+type JTextPane = javax.swing.JTextPane;
diff --git a/src/types/java/swing/text/AttributeSet.d.ts b/src/types/java/swing/text/AttributeSet.d.ts
new file mode 100644
index 0000000..5302de9
--- /dev/null
+++ b/src/types/java/swing/text/AttributeSet.d.ts
@@ -0,0 +1,15 @@
+declare namespace javax.swing.text {
+ export interface AttributeSet {
+ getAttributeCount(): number;
+ isDefined(attrName: string): boolean;
+ isEqual(attr: AttributeSet): boolean;
+ copyAttributes(): AttributeSet;
+ getAttribute(key: string): any;
+ getAttributeNames(): any;
+ containsAttribute(name: string, value: any): boolean;
+ containsAttributes(attributes: AttributeSet): boolean;
+ getResolveParent(): AttributeSet | null;
+ }
+}
+
+type AttributeSet = javax.swing.text.AttributeSet;
diff --git a/src/types/java/swing/text/Document.d.ts b/src/types/java/swing/text/Document.d.ts
new file mode 100644
index 0000000..432fc7c
--- /dev/null
+++ b/src/types/java/swing/text/Document.d.ts
@@ -0,0 +1,14 @@
+declare namespace javax.swing.text {
+ export interface Document {
+ getText(offset: number, length: number): string;
+ insertString(offset: number, str: string, a: javax.swing.text.AttributeSet | null): void;
+ remove(offset: number, length: number): void;
+ getLength(): number;
+ addDocumentListener(listener: any): void;
+ removeDocumentListener(listener: any): void;
+ getProperty(key: string): any;
+ putProperty(key: string, value: any): void;
+ }
+}
+
+type Document = javax.swing.text.Document;
diff --git a/src/types/java/swing/text/StyledDocument.d.ts b/src/types/java/swing/text/StyledDocument.d.ts
new file mode 100644
index 0000000..4611602
--- /dev/null
+++ b/src/types/java/swing/text/StyledDocument.d.ts
@@ -0,0 +1,13 @@
+declare namespace javax.swing.text {
+ export interface StyledDocument extends javax.swing.text.Document {
+ setCharacterAttributes(offset: number, length: number, s: javax.swing.text.AttributeSet | null, replace: boolean): void;
+ setParagraphAttributes(offset: number, length: number, s: javax.swing.text.AttributeSet | null, replace: boolean): void;
+ getStyle(nm: string): any;
+ addStyle(nm: string, parent: any): any;
+ removeStyle(nm: string): void;
+ getLogicalStyle(p: number): any;
+ setLogicalStyle(p: number, s: any): void;
+ }
+}
+
+type StyledDocument = javax.swing.text.StyledDocument;