sách gpt4 ai đã đi

Mới làm quen với Scala Swing

In lại 作者:行者123 更新时间:2023-12-01 11:04:00 30 4
mua khóa gpt4 Nike

我正在尝试为我正在做的应用程序创建一个登录窗口。我整天都在寻找一个例子,但我似乎找不到任何有帮助的东西。我的基本结构如下:

// App.scala
object App extends SimpleSwingApplication {
val ui = new BorderPanel {
//content
}

def top = new MainFrame {
title = "title"
contents = ui
}
}

那么创建一个登录框不显示主机,登录显示主机后关闭的策略是什么?谢谢

1 Câu trả lời

这是工作示例。从我的一个项目中取出并为您稍微调整一下:

import swing._
import scala.swing.BorderPanel.Position._

object App extends SimpleSwingApplication {
val ui = new BorderPanel {
//content
}

def top = new MainFrame {
title = "title"
contents = ui
}

val auth = new LoginDialog().auth.getOrElse(throw new IllegalStateException("You should login!!!"))
}

case class Auth(userName: String, password: String)

class LoginDialog extends Dialog {
var auth: Option[Auth] = None
val userName = new TextField
val password = new PasswordField

title = "Login"
modal = true

contents = new BorderPanel {
layout(new BoxPanel(Orientation.Vertical) {
border = Swing.EmptyBorder(5,5,5,5)

contents += new Label("User Name:")
contents += userName
contents += new Label("Password:")
contents += password
}) = Center

layout(new FlowPanel(FlowPanel.Alignment.Right)(
Button("Login") {
if (makeLogin()) {
auth = Some(Auth(userName.text, password.text))
close()
} khác {
Dialog.showMessage(this, "Wrong username or password!", "Login Error", Dialog.Message.Error)
}
}
)) = South
}

def makeLogin() = true // here comes you login logic

centerOnScreen()
open()
}

如您所见,我通常使用模态对话框,因此它会在应用程序初始化期间阻塞。有两种结果:要么用户成功登录并看到您的主框架,要么他关闭登录对话框并抛出 IllegalStateException.

关于Scala Swing 新手,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7921182/

30 4 0
Bài viết được đề xuất: asp.net - 网页和网络表单之间的区别
Bài viết được đề xuất: java - 为什么我的乘法不起作用?
Bài viết được đề xuất: date - Symfony -> 如何使用 Doctrine 使创建和修改的字段动态化?
Bài viết được đề xuất: Maven 本地仓库
行者123
Hồ sơ cá nhân

Tôi là một lập trình viên xuất sắc, rất giỏi!

Nhận phiếu giảm giá Didi Taxi miễn phí
Mã giảm giá Didi Taxi
Giấy chứng nhận ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com