在java中使用swinggui
关于Java swing GUI,我有几个问题,仅供参考这是我第一次使用GUI,所以我对这方面的知识不太了解在java中使用swinggui,java,swing,user-interface,Java,Swing,User Interface,关于Java swing GUI,我有几个问题,仅供参考这是我第一次使用GUI,所以我对这方面的知识不太了解 我的代码基本上是一个带有name和number属性的用户类,我计划将其用作登录页面。因此,我所做的是为这个用户类创建一个新的GUI类,它完全独立于用户类(就像一个类用于函数,另一个用于GUI)。这是错的吗?如中所示,我应该将用户方法和GUI放在一个类中吗 我有2个GUI,一个欢迎GUI和一个登录GUI。我如何确保一个连接到下一个?我试图使欢迎框架不可见(登录框架在自己的GUI中可见),
frame.setVisible(true)代码>
1-我有一个代码,基本上是一个带有名称和编号的用户类
我计划用作登录页面的属性,所以我所做的是
为此用户类创建一个新的GUI类,该类与
用户类(一个类用于函数,另一个类用于GUI)
这是错的吗?如中所示,我应该放置用户方法和
GUI在一个类中
UI开发中的一个常见概念是“模型-视图-控制器”(暂时不要担心控制器)。这意味着您的“数据”是以某种方式建模的(即User
),您的“视图”(UI)采用该模型并决定如何向用户显示该模型。它还帮助管理用户和模型之间的交互
因此,是的,保持“数据”独立于“ui”是正确的策略。请始终记住,UI负责确定数据的“格式”,模型只是以某种有意义的方式管理数据的一种手段
2-我有2个GUI,一个欢迎GUI和一个登录GUI,如何确保
一条通向下一条?我试图使欢迎画面不可见(画面)
登录框架在它自己的GUI中是可见的),但这不起作用
这在概念上有点宽泛。通常,我们可能建议使用CardLayout
在视图之间“翻转”,但这会假定您希望在某个时候重新访问这些视图
从更“抽象”的角度来看,您可以使用某种“控制器”根据当前状态来决定应该发生什么
这意味着,如果没有显示“欢迎”,您将显示“欢迎”视图。当用户准备超越它时,“欢迎”将通知“控制器”,然后控制器将决定下一步做什么
例如,您以前是否保存过凭据?如果是这样,您可以自动登录用户并继续,否则您需要显示“登录”视图以获取凭据并允许控制器对用户进行身份验证
这将使您进入“观察者模式”(又名侦听器),在该模式中,当某个状态发生更改时,利益相关方会注册对已通知的信息的兴趣
当试图设计此类系统时,总是要问自己一些基本问题
- 我需要向程序的其他部分暴露多少信息?ie Your's welcome view不需要了解登录视图,因为它可以对登录视图执行超出其职责范围的操作
- 要改变它的任何一部分,我需要付出多大的努力或工作量?!因此,您得到了欢迎屏幕来打开登录屏幕,但是现在您想要添加“自动登录”,您需要做多少工作才能使其工作?如果welcome和login视图彼此独立并通过其他机制进行控制,会更容易吗
通过在代码的正确位置调用正确的方法,查看简单实现示例。您不应该认为GUI代码与任何其他代码有任何不同,“一些问题”应该在几个问题线程中分割。跳过Netbeans部分。