`
tntxia
  • 浏览: 1501427 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

关于Swing的碎碎念

阅读更多

 

一、什么时候用Swing

 

要做Java的应用程序,一般人都会选择Swing,当然Swing最为人所诟病的是Swing的速度太慢了。如果是一个简单的界面的话,尚且可以接受,但一旦用在一些大量的用户界面后,就会发现加载的速度很慢。所以选用Swing来做为解决方案的话,一般出于如下原因:

 

1. 用户对于操作速度要求并不高,但却关心程序是否安全精确。因为Swing基于Java的优秀框架,所以它同样也有Java安全和精确的特性。

 

2. 作者希望Swing被Java所调用,现在主流的一些商业程序都是用Java来开发的,如果使用Swing,因为Swing本质上其实是一些很简单的Java类,所以被Java调用起来,非常的方便。

 

二、Swing的布局

 

对于Swing的新手来说,Swing的布局是Swing的一大难点。与.net不同的是,Java的用户最经常使用的开发工具并不支持可视化的用户界面设计。因此,我们一般都会使用Swing的布局来设计用户设计,当然你可以每个组件都定义一个坐标,但这样的话,我们必须反复的调整才能得到美观的界面。很多刚学习Swing的用户总用对布局望而却步,但其实布局并不难。

 

 我们经常使用的布局一般FlowLayout,BorderLayout,GridLayout和CardLayout。

 

FlowLayout:FlowLayout是一种自适应型的布局,它自动的判断窗口的边界,如果组件的大小超过了边界,则把组件放到前面的组件的下方。使用这个布局,可以我们的布局看起来十分的紧凑。

 

BorderLayout:做过网页编程的人应该都很熟悉FrameSet,他可以把一个网页切成一大块一大块的,而BorderLayout也是同样的道理,BorderLayout就是一把布局的大刀,把组件分别填充到切好的大块里面去。

 

GridLayout:GridLayout顾名思义就是表格布局,它把组件像表格一样分成一小块一小块,你可以决定组件放在表格的第几行第几列。

 

CardLayout:CardLayout是一个魔术师,它施魔法让组件隐身现身,使用它,我们可以方便进行界面切换。

 

Swing布局的详细请参见:http://tntxia.iteye.com/blog/683035

 

三、Window,Frame和JFrame

 

Window是一个纯粹的窗口,没有边框,就只有一个底板,做Window组件,我们可以自己去定义它的边框,这样我们就可以做出一些个性化的窗口出来,因为有一些用户,他们不喜欢千篇一律的窗口,尽管这样做很麻烦。

 

Frame是awt中的窗口,而JFrame是Swing中的窗口类,Swing组件一样可以装在Frame组件中,但是Frame在设计上存在些很大的不足,所以是Java不建议使用的组件了。

 

四、组合

 

Swing程序本质上一些Swing组件对象的组合

 

JFrame是这个组合的平台,因为除JFrame外,其他的组件都是轻量级的,所以其他组件必须要依附在JFrame上才可以显示。依附的方法方法是调用JFrame的add方法,把组件加到JFrame上面。

 

分享到:
评论

相关推荐

    java通讯录(含源码和打包后的jar文件)

    - "java swing":标签突出了Swing在项目中的核心地位,Swing组件的使用让通讯录具备了直观的用户界面,使用户能够便捷地与系统交互。 - "课程设计":这表明这个项目是一个教学实践,可以帮助学生将课堂上学到的理论...

    Java实验--贪心猪小游戏、输入输出流、图形化界面、图书管理系统.docx

    - 应用Swing组件实现简单的图形化用户界面。 **实验内容:** - 开发一个程序,实现对输入英文单词的字典排序功能。 - 用户界面包含两个文本域:一个用于输入单词,另一个用于显示排序后的结果。 - 包含两个按钮:...

    Java实验--贪心猪小游戏、输入输出流、图形化界面、图书管理系统说课讲解.docx

    - **组件添加**:掌握Swing包中常用组件如`JButton`、`JTextField`等的使用方法。 - **事件监听器**:了解如何为组件添加事件监听器,以便响应用户的操作。 **4.2 界面设计** - **程序示例**:设计一个程序,用户...

    java实验报告_计算器_记事本_井字游戏.docx

    - 帮助菜单:提供关于记事本的信息展示。 #### 内容三:井字游戏(Tic-Tac-Toe) 1. **游戏规则**: - 两人轮流在3x3的格子内放置自己的标记(通常是“X”或“O”)。 - 第一个成功在横向、纵向或斜向连成一条线的...

    数据库课程设计—企业工资管理系统(java版+完整代码).docx

    虽然给出的代码片段较短,但从这里可以看出系统的整体架构是基于Swing构建的GUI应用程序,使用了事件监听器处理用户输入。 ```java package wage_management; import java.awt.*; import java.awt.event.*; import...

    JAVA -- GUI设计报告.docx

    JTabbedPane是Java Swing库中的一个组件,可以方便地组织多个面板(JPanel)。 4. **组件使用**:在GUI设计中,学生使用了JLabel、JTextField、JTextArea、JButton等组件。JLabel用于显示静态文本,JTextField供...

    java聊天室课程设计源码含(设计报告)

    5. **用户界面**:用户界面可能使用Swing或JavaFX等Java GUI库构建,提供友好的交互体验,包括注册、登录、创建/加入聊天室、发送消息等功能。 设计报告可能涵盖了以下内容: 1. **系统需求分析**:阐述项目的目标...

    java实验--贪心猪小游戏、输入输出流、图形化界面、图书系统.docx

    - 掌握Swing组件的使用方法。 - 学习如何构建简单的图形用户界面。 - 理解事件处理机制和布局管理器的作用。 **实验内容概述:** 1. **单词排序程序:** - 用户输入若干英文单词。 - 单击“字典排序”按钮,对...

    Java语言坦克大战游戏设计(附有代码和图片).docx

    4.1 创建游戏窗口:利用Java的Swing或JavaFX库创建游戏主窗口,设置窗口大小、标题和背景。 4.2 改变游戏背景颜色:动态改变游戏背景色,增强视觉效果。 4.3 坦克和子弹的绘制:利用Java的图形绘制API绘制坦克和子弹...

    【精品】课程设计图书信息系统2.docx

    - **前端界面**:通过Java Swing或AWT等GUI库构建用户界面,提供友好且直观的操作体验。 - **后端服务**:使用Java开发后端逻辑,处理用户请求并与数据库交互。 - **数据库层**: - **概念设计**:使用实体关系模型...

    基于java语言的网络聊天系统开发与实现.docx

    2. **Java API应用**:Java API包含了丰富的类库,如用于网络通信的Socket编程,用于图形用户界面(GUI)的Swing或JavaFX,以及用于多线程的Thread类等,这些都是构建聊天系统的基础。 3. **继承、方法重写、接口和...

    Android游戏与应用开发最佳学习路线图.docx

    - **GUI**:使用Swing或JavaFX构建图形用户界面,处理事件和组件交互。 - **数据库编程(JDBC)**:通过JDBC访问MySQL、Oracle等数据库,执行CRUD操作,调用存储过程。 - **Java Web编程**:理解Web请求响应机制...

    数据库课程设计—企业工资系统(java版+完整代码).docx

    import javax.swing.*; class DB extends JFrame implements ActionListener { JFrame frame = new JFrame("欢迎进入企业工资管理系统"); JLabel label = new JLabel(""); // ... (其他代码) } ``` 以上是对...

Global site tag (gtag.js) - Google Analytics