json을 취득, 표시하는 어플리케이션 4

6168 단어 Groovy
GET, POST 모두에서 요청 파라미터를 지정할 수 있도록 대응.
탭 창에서 파라미터와 응답을 전환하여 표시. 송신 버튼을 누르고 응답이 돌아오면 응답 탭을 표시합니다.

json_client.groovy
import groovy.swing.SwingBuilder
import javax.swing.*
import java.awt.*

def cbMethod
def txtUrl
def txtParam
def txtJson

def tabPane

def sendRequest = {
    def url = txtUrl.text
    if (cbMethod.selectedItem == 'GET') {
        url = "${url}?${txtParam.text}"
    }

    def conn = url.toURL().openConnection()
    conn.requestMethod = cbMethod.selectedItem
    if (cbMethod.selectedItem == 'POST') {
        conn.doOutput = true
        conn.outputStream << txtParam.text
    }

    txtJson.text = conn.inputStream.text
    tabPane.selectedIndex = 1
}

new SwingBuilder().frame(title:'jsonを取得、表示するアプリケーション', defaultCloseOperation:JFrame.EXIT_ON_CLOSE,
                        size: [800, 600], show:true) {
    lookAndFeel('nimbus')
    borderLayout()
    hbox(constraints: BorderLayout.NORTH) {
        cbMethod = comboBox(items:['GET', 'POST'])
        txtUrl = textField()
        button(text:'送信', actionPerformed:sendRequest)
    }
    tabPane = tabbedPane(constraints: BorderLayout.CENTER) {
        scrollPane(name:'パラメータ') {
            txtParam = textArea()
        }
        scrollPane(name:'レスポンス') {
            txtJson = textArea(editable:false)
        }
    }
}


좋은 웹페이지 즐겨찾기