JFDML JFormDesigner: "8.2.1.0.348" 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": "fill,hidemode 3"
			"$columnConstraints": "[161,fill][298,grow,fill][94,shrink 0,center]"
			"$rowConstraints": "0[24,top]0[24,shrink 0,center][grow][24]"
		} ) {
			name: "this"
			"preferredSize": new java.awt.Dimension( 720, 480 )
			add( new FormComponent( "javax.swing.JLabel" ) {
				name: "connStatus"
				"text": "Disconnected"
			}, new FormLayoutConstraints( class net.miginfocom.layout.CC ) {
				"value": "cell 0 0 2 1,aligny center,growy 0"
			} )
			add( new FormComponent( "javax.swing.JButton" ) {
				name: "darkMode"
				"text": "Dark Mode"
				addEvent( new FormEvent( "java.awt.event.MouseListener", "mouseClicked", "darkModeMouseClicked", true ) )
			}, new FormLayoutConstraints( class net.miginfocom.layout.CC ) {
				"value": "cell 2 0,growx"
			} )
			add( new FormComponent( "javax.swing.JTextField" ) {
				name: "username"
				"text": "Username"
				addEvent( new FormEvent( "java.awt.event.FocusListener", "focusGained", "usernameFocusGained", true ) )
				addEvent( new FormEvent( "java.awt.event.FocusListener", "focusLost", "usernameFocusLost", true ) )
				addEvent( new FormEvent( "java.awt.event.KeyListener", "keyTyped", "usernameKeyTyped", true ) )
			}, new FormLayoutConstraints( class net.miginfocom.layout.CC ) {
				"value": "cell 0 1,growy"
			} )
			add( new FormComponent( "javax.swing.JTextField" ) {
				name: "connAddr"
				"text": "Address:Port"
				addEvent( new FormEvent( "java.awt.event.KeyListener", "keyPressed", "connAddrKeyPressed", true ) )
				addEvent( new FormEvent( "java.awt.event.FocusListener", "focusGained", "connAddrFocusGained", true ) )
				addEvent( new FormEvent( "java.awt.event.FocusListener", "focusLost", "connAddrFocusLost", true ) )
			}, new FormLayoutConstraints( class net.miginfocom.layout.CC ) {
				"value": "cell 1 1,growy"
			} )
			add( new FormComponent( "javax.swing.JButton" ) {
				name: "connectBtn"
				"text": "Connect"
				"cursor": &Cursor0 new java.awt.Cursor( 12 )
				addEvent( new FormEvent( "java.awt.event.MouseListener", "mouseClicked", "connectBtnMouseClicked", true ) )
			}, new FormLayoutConstraints( class net.miginfocom.layout.CC ) {
				"value": "cell 2 1,grow"
			} )
			add( new FormContainer( "javax.swing.JScrollPane", new FormLayoutManager( class javax.swing.JScrollPane ) ) {
				name: "chatScrollPane"
				"horizontalScrollBarPolicy": 31
				"autoscrolls": true
				add( new FormComponent( "javax.swing.JTextArea" ) {
					name: "chat"
					"editable": false
					"font": new java.awt.Font( "Tahoma", 0, 11 )
					"lineWrap": true
					auxiliary() {
						"JavaCodeGenerator.postCreateCode": "new SmartScroller(chatScrollPane, SmartScroller.VERTICAL, SmartScroller.END);"
					}
				} )
			}, new FormLayoutConstraints( class net.miginfocom.layout.CC ) {
				"value": "cell 0 2 2 1,grow"
			} )
			add( new FormContainer( "javax.swing.JScrollPane", new FormLayoutManager( class javax.swing.JScrollPane ) ) {
				name: "onlineScrollPane"
				"horizontalScrollBarPolicy": 31
				"autoscrolls": true
				add( new FormComponent( "javax.swing.JTextArea" ) {
					name: "onlineUsers"
					"editable": false
				} )
			}, new FormLayoutConstraints( class net.miginfocom.layout.CC ) {
				"value": "cell 2 2,grow"
			} )
			add( new FormComponent( "javax.swing.JTextField" ) {
				name: "messageBox"
				addEvent( new FormEvent( "java.awt.event.KeyListener", "keyPressed", "messageBoxKeyPressed", true ) )
			}, new FormLayoutConstraints( class net.miginfocom.layout.CC ) {
				"value": "cell 0 3 2 1,growy"
			} )
			add( new FormComponent( "javax.swing.JButton" ) {
				name: "sendBtn"
				"text": "Send"
				"cursor": #Cursor0
				addEvent( new FormEvent( "java.awt.event.MouseListener", "mouseClicked", "sendBtnMouseClicked", true ) )
			}, new FormLayoutConstraints( class net.miginfocom.layout.CC ) {
				"value": "cell 2 3,grow"
			} )
		}, new FormLayoutConstraints( null ) {
			"location": new java.awt.Point( 0, 0 )
			"size": new java.awt.Dimension( 565, 340 )
		} )
	}
}
