JFDML JFormDesigner: "8.2.4.0.393" Java: "17.0.9" encoding: "UTF-8"

new FormModel {
	contentType: "form/swing"
	root: new FormRoot {
		add( new FormContainer( "javax.swing.JPanel", new FormLayoutManager( class net.miginfocom.swing.MigLayout ) {
			"$layoutConstraints": "hidemode 3"
			"$columnConstraints": "[fill][fill][grow,fill][fill]"
			"$rowConstraints": "[][][][][][][][][][][][]"
		} ) {
			name: "this"
			add( new FormComponent( "javax.swing.JLabel" ) {
				name: "tunnelsLabel"
				"text": "Tunnels"
			}, new FormLayoutConstraints( class net.miginfocom.layout.CC ) {
				"value": "cell 0 0 2 1"
			} )
			add( new FormComponent( "javax.swing.JLabel" ) {
				name: "userLabel"
				"text": "Guest"
			}, new FormLayoutConstraints( class net.miginfocom.layout.CC ) {
				"value": "cell 3 0"
			} )
			add( new FormContainer( "javax.swing.JScrollPane", new FormLayoutManager( class javax.swing.JScrollPane ) ) {
				name: "tunnelScrollPane"
				add( new FormComponent( "javax.swing.JList" ) {
					name: "tunnelList"
					auxiliary() {
						"JavaCodeGenerator.preCreateCode": "listModel = new DefaultListModel<>();"
						"JavaCodeGenerator.typeParameters": "String"
						"JavaCodeGenerator.customCreateCode": "new JList<>(listModel);"
					}
				} )
			}, new FormLayoutConstraints( class net.miginfocom.layout.CC ) {
				"value": "cell 0 1 2 8,growy"
			} )
			add( new FormComponent( "javax.swing.JLabel" ) {
				name: "emailLabel"
				"text": "guest@tvpn.lan"
			}, new FormLayoutConstraints( class net.miginfocom.layout.CC ) {
				"value": "cell 3 1"
			} )
			add( new FormContainer( "javax.swing.JScrollPane", new FormLayoutManager( class javax.swing.JScrollPane ) ) {
				name: "configScrollPane"
				add( new FormComponent( "javax.swing.JTextArea" ) {
					name: "configArea"
				} )
			}, new FormLayoutConstraints( class net.miginfocom.layout.CC ) {
				"value": "cell 2 3 2 6,growy"
			} )
			add( new FormComponent( "javax.swing.JButton" ) {
				name: "showConfigBtn"
				"text": "Show Config"
				addEvent( new FormEvent( "java.awt.event.ActionListener", "actionPerformed", "showConfigBtn", true ) )
			}, new FormLayoutConstraints( class net.miginfocom.layout.CC ) {
				"value": "cell 0 9 2 1"
			} )
			add( new FormComponent( "javax.swing.JButton" ) {
				name: "importBtn"
				"text": "Import Tunnel"
				addEvent( new FormEvent( "java.awt.event.ActionListener", "actionPerformed", "importBtn", true ) )
			}, new FormLayoutConstraints( class net.miginfocom.layout.CC ) {
				"value": "cell 3 9"
			} )
			add( new FormComponent( "javax.swing.JButton" ) {
				name: "startTunnelBtn"
				"text": "Start Tunnel"
				addEvent( new FormEvent( "java.awt.event.ActionListener", "actionPerformed", "loadBtn", true ) )
			}, new FormLayoutConstraints( class net.miginfocom.layout.CC ) {
				"value": "cell 0 10 2 1"
			} )
			add( new FormComponent( "javax.swing.JButton" ) {
				name: "exceptionBtn"
				"text": "Exceptional"
				addEvent( new FormEvent( "java.awt.event.ActionListener", "actionPerformed", "exceptionBtn", true ) )
			}, new FormLayoutConstraints( class net.miginfocom.layout.CC ) {
				"value": "cell 3 10"
			} )
			add( new FormComponent( "javax.swing.JButton" ) {
				name: "stopTunnelBtn"
				"text": "Stop Tunnel"
				addEvent( new FormEvent( "java.awt.event.ActionListener", "actionPerformed", "stopTunnelBtn", true ) )
			}, new FormLayoutConstraints( class net.miginfocom.layout.CC ) {
				"value": "cell 0 11 2 1"
			} )
		}, new FormLayoutConstraints( null ) {
			"location": new java.awt.Point( 0, 0 )
			"size": new java.awt.Dimension( 400, 300 )
		} )
	}
}
