java零基础入门知识3.0——Swing基础知识总结(一)

自学并整理一些swing基础知识,希望能对swing学习有所帮助。

1、UI 组件

什么是UI? 

答:UI即“用户界面”。实际上,在计算机和用户的交互之中扮演角色的任何对象都是 UI 的组成部分。

具体来说:这些对象可能是按下的按钮、打开和关闭的窗口,鼠标、键盘、屏幕颜色、以及一个对象相对于另一个对象的位置等。

2、Swing

什么是Swing?

答:Swing 是 Java 平台的 UI 。它实际上充当用户和计算机内部之间的中间人。Swing 提供了创建自己的 UI 所需要的所有工具。

3、MVC

Swing 的设计模式叫做模型-视图-控制器(Model-View-Controller,MVC),它试图“把角色分开”。MVC 让负责显示的代码、处理数据的代码、对交互进行响应并驱动变化的代码彼此分离。即:让 UI 的每个方面处理它擅长的工作。

好处:提高处理效率。

基本原则:用可视组件显示数据,同时让其他类操纵数据。

4、JComponent

JComponent是Swing 的整个可视组件库的基础构造块。是所有组件的父类。它是一个抽象类,它包含了数百个函数,Swing 中的每个组件都可以使用这些函数。

*JComponent包含 add() 方法,可以添加其他 JComponent。也就是说,可以把任意 Swing 组件添加到其他任何 Swing 组件中构造嵌套组件。(例如,JPanel 包含 JButton)

5、简单的swing小部件

一、Swing 的三个基本构造块:标签、按钮、文本。

1)JLabel

定义:

*Swing中最简单的组件

用于文本描述或者图片描述

使用方法:

get/setText(): 获取/设置标签的文本。

get/seticon(): 获取/设置标签的图片。

get/setHorizontalAlignment(): 获取/设置文本的水平位置。

get/setVerticalAlignment(): 获取/设置文本的垂直位置。

get/setDisplayedMnemonic(): 获取/设置标签的访问键(下划线文字)。

get/setLableFor(): 获取/设置这个标签附着的组件,当用户按下Alt+访问键时,焦点转移到指定的组件。

2)JButton

定义:

Swing 中的基本动作组件 JButton

按钮

使用方法:

get/setText(): 获取/设置标签的文本。

get/seticon(): 获取/设置标签的图片。

get/setHorizontalAlignment():获取/设置文本的水平位置。

get/setVerticalAlignment(): 获取/设置文本的垂直位置。

get/setDisplayedMnemonic(): 获取/设置访问键(下划线字符),与Alt 按钮组合时,造成按钮单击。

还有一些不太常用的方法可以百度获得(具体方法有哪些可参考浏览器快进or后退键)

3)JTextField

定义:

文本

方法:

get/setText(),用于获取/设置 JTextField中的文本。

二、JFrame

定义:

一个允许把其他组件添加到它里面并把组件组织起来最终呈现给用户的容器。

get/setTitle(): 获取/设置帧的标题。

get/setState(): 获取/设置帧的最小化、最大化等状态。

is/setVisible(): 获取/设置帧的可视状态,换句话说,是否在屏幕上显示。

get/setLocation(): 获取/设置帧在屏幕上应当出现的位置。

get/setsize(): 获取/设置帧的大小。

add(): 将组件添加到帧中。

——————————————————————————————————————————————————————————————————————————

实例:

public class HelloWorld extends JFrame {//类HelloWorld继承JFrame
 private JLabel jLabel;
 private JTextField jTextField;
 private JButton jButton;
public HelloWorld(){ //构造函数,用于初始化
super(); //调用父类方法
      this.setSize(300, 200); //this指JFrame
      this.getContentPane().setLayout(null); //排版为null
      this.add(getJLabel(), null); //将getJLabel()加入到JFrame中
      this.add(getJTextField(), null); 
      this.add(getJButton(), null); 
      this.setTitle("HelloWorld"); 
   } 
 private javax.swing.JLabel getJLabel() { //创建 getJLabel() 方法
      if(jLabel == null) { 
         jLabel = new javax.swing.JLabel(); 
         jLabel.setBounds(34, 49, 53, 18); 
         jLabel.setText("Name:"); 
      } 
      return jLabel; 
   } 
private javax.swing.JTextField getJTextField() { 
      if(jTextField == null) { 
         jTextField = new javax.swing.JTextField(); 
         jTextField.setBounds(96, 49, 160, 20); 
      } 
      return jTextField; 
   } 
  
   private javax.swing.JButton getJButton() { 
      if(jButton == null) { 
         jButton = new javax.swing.JButton(); 
         jButton.setBounds(103, 110, 71, 27); 
         jButton.setText("OK"); 
      } 
      return jButton; 
   } 
   public static void main(String[] args) //保证在屏幕上显示JFrame 在main 方法中创建 HelloWorld 应用程序对象,调用setVisible()
   { 
      HelloWorld w = new HelloWorld(); 
      w.setVisible(true); 
   }
}






评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值