IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 移动开发 -> Kotlin界面 -> 正文阅读

[移动开发]Kotlin界面

下面为示例代码

package io.patamon.geocoding

import java.awt.EventQueue
import java.awt.Font
import java.awt.Toolkit
import java.awt.event.ItemEvent
import java.io.File
import java.io.FileWriter
import javax.swing.*
import javax.swing.filechooser.FileNameExtensionFilter

class Main(title: String) : JFrame() {

    init {
        this.iconImage = ImageIcon("地址.png").image

        setTitle(title)

        //设置窗口大小不变的
        isResizable= false

        // 不设置布局管理器
        layout =null
        
        val label =JLabel("输入类型:")
        label.setBounds(5, 10, 80, 30)
        label.font = Font("Dialog", 1, 16)

        val label2 =JLabel("文件路径:")
        label2.setBounds(5, 60, 80, 30)
        label2.font = Font("Dialog", 1, 16)

        val label3 =JLabel("保存路径:")
        label3.setBounds(5, 110, 80, 30)
        label3.font = Font("Dialog", 1, 16)

        val pathText = JTextField()
        pathText.setBounds(80,65,350,25)
        pathText.font = Font("Dialog", 1, 16)

        val resultText = JTextField()
        resultText.setBounds(80,115,350,25)
        resultText.font = Font("Dialog", 1, 16)

        val excelCheck = JCheckBox("excel文件", false)
        excelCheck.setBounds(80,10,100,30)
        excelCheck.font = Font("Dialog", 1, 16)

        val txtCheck = JCheckBox("txt文件", false)
        txtCheck.setBounds(220,10,100,30)
        txtCheck.font = Font("Dialog", 1, 16)

        val inputCheck = JCheckBox("输入文本", false)
        inputCheck.setBounds(350,10,100,30)
        inputCheck.font = Font("Dialog", 1, 16)

        val inputFile = JButton("选择")
        inputFile.setBounds(433,62,80,30)
        inputFile.font = Font("Dialog", 1, 16)

        val outFile = JButton("选择")
        outFile.setBounds(433,112,80,30)
        outFile.font = Font("Dialog", 1, 16)

        val expressBtn = JButton("快递地址处理")
        expressBtn.setBounds(100,150,140,30)
        expressBtn.font = Font("Dialog", 1, 16)

        val mapBtn = JButton("在地图中查看")
        mapBtn.setBounds(280,150,140,30)
        mapBtn.font = Font("Dialog", 1, 16)

        val startBtn = JButton("开始")
        startBtn.setBounds(220,190,80,30)
        startBtn.font = Font("Dialog", 1, 16)

        inputFile.addActionListener {
            if(excelCheck.isSelected||txtCheck.isSelected||inputCheck.isSelected){
                val chooser = JFileChooser()
                chooser.fileSelectionMode = JFileChooser.FILES_ONLY
                val filter:FileNameExtensionFilter
                if(excelCheck.isSelected) {
                    filter = FileNameExtensionFilter("excel文件", "xlsx")
                    chooser.fileFilter = filter
                }
                else if(txtCheck.isSelected) {
                    filter = FileNameExtensionFilter("txt文件", "txt")
                    chooser.fileFilter = filter
                }
                val returnVal = chooser.showOpenDialog(chooser)
                if (returnVal == JFileChooser.APPROVE_OPTION) {
                    inputPath = chooser.selectedFile.path
                    pathText.text = inputPath
                }
            }
            else{
                JOptionPane.showMessageDialog(null, "请选择输入类型", "操作提示", JOptionPane.INFORMATION_MESSAGE)
            }
        }

        outFile.addActionListener {
            val chooser = JFileChooser()
            chooser.fileSelectionMode = JFileChooser.DIRECTORIES_ONLY
            val returnVal = chooser.showOpenDialog(chooser)
            if (returnVal == JFileChooser.APPROVE_OPTION) {
                outPath = chooser.selectedFile.path
                resultText.text = outPath
            }
        }

        expressBtn.addActionListener {
            var url = "file:///D:/Standardizer/expressAddressPro/index.html"
            try {
                url.replace("\"", "\'")
                url = "\"" + url.toString() + "\""
                val command = "cmd /c start edge "
                Runtime.getRuntime().exec(command + url)
            } catch (e: Exception) {
                JOptionPane.showMessageDialog(null, e.toString(), "操作提示", JOptionPane.INFORMATION_MESSAGE)
            }
        }

        mapBtn.addActionListener {
            var url = "file:///D:/Standardizer/map/map.html"
            if (inputCheck.isSelected&&resultText.text!=""){
                url = url+"?name="+resultText.text.replace(" ","")
            }
            try {
                url.replace("\"", "\'")
                url = "\"" + url.toString() + "\""
                val command = "cmd /c start edge "
                Runtime.getRuntime().exec(command + url)
            } catch (e: Exception) {
                JOptionPane.showMessageDialog(null, e.toString(), "操作提示", JOptionPane.INFORMATION_MESSAGE)
            }
        }

        startBtn.addActionListener {
          
        }

        excelCheck.addItemListener { e ->
            if (e.stateChange == ItemEvent.SELECTED) {
                label2.text = "文件路径:"
                label3.text = "保存路径:"
                inputFile.isEnabled = true
                outFile.isEnabled = true
                txtCheck.isSelected = false
                inputCheck.isSelected = false
            }
        }

        txtCheck.addItemListener { e ->
            if (e.stateChange == ItemEvent.SELECTED) {
                label2.text = "文件路径:"
                label3.text = "保存路径:"
                inputFile.isEnabled = true
                outFile.isEnabled = true
                excelCheck.isSelected = false
                inputCheck.isSelected = false
            }
        }

        inputCheck.addItemListener { e ->
            if (e.stateChange == ItemEvent.SELECTED) {
                label2.text = "输入内容:"
                label3.text = "输出内容:"
                inputFile.isEnabled = false
                outFile.isEnabled = false
                excelCheck.isSelected = false
                txtCheck.isSelected = false
            }
        }

        // 设置标签文本水平居中
        label.horizontalAlignment = SwingConstants.CENTER
        label2.horizontalAlignment = SwingConstants.CENTER
        label3.horizontalAlignment = SwingConstants.CENTER

        // 添加标签到内容面板,
        contentPane.add(label)
        contentPane.add(label2)
        contentPane.add(label3)
        contentPane.add(pathText)
        contentPane.add(resultText)
        contentPane.add(excelCheck)
        contentPane.add(txtCheck)
        contentPane.add(inputCheck)
        contentPane.add(inputFile)
        contentPane.add(outFile)
        contentPane.add(mapBtn)
        contentPane.add(startBtn)
        contentPane.add(expressBtn)
        defaultCloseOperation = JFrame.EXIT_ON_CLOSE
        setSize(530, 280)
        setLocationRelativeTo(null)
    }
}

private fun createAndShowGUI() {
    val frame = Main("地址标准化处理")
    frame.isVisible = true
}

fun main(args: Array<String>) {
    EventQueue.invokeLater(::createAndShowGUI)
}
  移动开发 最新文章
Vue3装载axios和element-ui
android adb cmd
【xcode】Xcode常用快捷键与技巧
Android开发中的线程池使用
Java 和 Android 的 Base64
Android 测试文字编码格式
微信小程序支付
安卓权限记录
知乎之自动养号
【Android Jetpack】DataStore
上一篇文章      下一篇文章      查看所有文章
加:2021-09-22 14:48:20  更:2021-09-22 14:48:58 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/27 11:54:27-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码