Swing程序设计

Swing是 GUI(图形用户界面)开发工具包,在AWT(CLI)(抽象窗口工具包)的基础上使开发开发跨平台的java应用程序界面成为可能,早期的AWT依赖于本地系统,Swing开发的不受平台限制,也就是说,用swing开发的java应用程序移植到其他系统平台时其外观界面不会改变,这是因为Swing组件内部提供了相应的用户界面,而这些用户界面是纯java语言编写的,而不依赖与本地平台,所以swing开发的程序可以方便的移植,虽然swing很方便,但是swing不能取代AWT,在开发Swing程序时通常要借助于AWT的一些对象来共同完成应用程序的设计。Swing在javax包下,javax是扩展包。AWT在java.awt包。

java做UI界面是一般用NetBeans软件。如何让NetBeans的东西Esclipe能访问:在Esclipe中创建项目,把NetBeans项目下的src下的东西拿过来即可,注意修改项目编码为UTF-8。

Swing常用窗体:Swing窗体时Swing的一个组件,同时也是创建图形化用户界面的容器,可以将其他组件放置在窗体容器中

Swing程序设计_第1张图片

container:为容器,是一个特殊组件,该组件可以通过add方法添加其他组件。

JFrame框架窗体:它时一个容器,时Swing组件的载体,再开发中可以通过继承java.swing.JFrame类创建一个窗体,在这个窗口中添加组件,同时为组件设置事件,由于该窗体继承了JFrame类,所以拥有一些最大化/最小化/关闭按钮。JFrame语法格式:JFrame jf = new JFrame(Title) Container container = jf。getcontentPane()这里可以理解为JFrame已经封装好了Swing窗体的一些应用,而getcongtentpane是利用jframe的对象将窗体转换为容器,然后在容器中调用add和remove方法操作组件。jf。setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);设置窗体关闭方式,setVisible(true)窗体可见,jf.setSize(200, 150);设置窗体宽高,值为像素。

设置窗口关闭按钮点击后的默认操作, 参考值:

jf.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE)退出进程;,DO_NOTHING_ON_CLOSE关闭时不执行任何操作,DISPOSE_ON_CLOSE销毁窗口,如果所有可显示的窗口都被dispose则可能会自动结束进程,HIDE_ON_CLOSE关闭时隐藏窗口(不会结束进程)再次调用setVisible(true)再次显示。

JDialog窗体:Swing组件中的对话框,继承自AWT的java。awt。dialog。功能是从一个窗体弹出另一个窗体。构造方法:

public JDialog 创建一个没有标题和父窗体的对话框。public JDialog(Frame f)创建一个父窗体的对话框,但没有标题,

public JDialog(Frame f, boolean model)创建一个指定类型的对话框,并指定父窗体,但该窗体没有指定标题。public JDialog(Frame f ,String title)创建一个指定标题和父窗体对话框。public JDialog(Frame f, String title, boolean  model)

JLable:标签 父类为Jcomponent ,可以显示文本,图像,带文本的图像。requestFocus()方法获取光标。

1.创建图标:通过Icon接口来创建图标。

2.使用图片图标:利用ImageIcon类 它实现了接口Icon。有几种构造方法。

布局管理器:控制组件在容器中的位置

绝对布局:除了使用布局管理器外可以使用绝对布局,就是硬性的指定组件在容器中的位置和大小,使用绝对坐标的方式指定位置。

Container。setLayout(null)方法取消布局管理器 Component。setBounds()设置组建的大小与位置。

流布局管理器:FlowLayout类。从左到右摆放组件,直到占据了这一行所有空间,然后再移动到下一行,默认为居中,通过设置也可以改动排列位置,FlowLayout。LEFT / CENTER / RIGHT

边界布局管理器:BorderLayout类。在默认不指定窗体布局的情况下,默认为边界布局,它将容器划分为东,西,南,北,中5个区域,容器调用add方法时可以设置。NORTH/ SOUTH/EAST/WEST/CENTER

网格布局管理器:GirdLayout类,组件按行和列排列。每个组件大小相同,从左到右,从上到下顺序加入网格,每个组件都会填满网格。

常用面板:Jpanel面板 继承自Container面板  。 JScollPane面板 :带滚动条的面板,它只能放置一个组件,并且不可以使用布局管理器,如果要在JScollPane面板中放置多个组件,需要将多个组件放在Jpanel面板上,然后将Jpanel面板作为整体添加在JScollPane上。

按钮组件:Swing中的提交按钮,复选框,单选按钮都是从AbstractButton类中继承来的。

JButton:4个构造方法,无参,字符串参数,Icon参数 ,string 和Icon参数。

JRadiobutton:单选按钮组件 继承自JToggleButton组件 ,后者又继承自AbstractButton组件。6个构造方法:无参,Icon参数,Icon参数和boolean参数(是否默认呗选中),string参数,string和Icon参数,string和icon和boolean参数。按钮组:ButtonGroup类用于生产按钮组,如果希望所有的单选按钮放置在按钮组中,需要实例化一个ButtonGroup对象,并使用该对象调用add()方法添加单选按钮。

JCheckBox:复选框组件继承自AbstractButton类,每一个复选框都有选中和不选中状态。3个构造方法,无参,icon参数和boolean参数,string参数和boolean参数

下拉列表框组件:JComboBox类继承自Jcomponent类的子类。当用户选中其中的项目时才会显示。

列表框组件:JList类 直接显示所有罗列。

文本组件:JTextField类 用来编辑一个单行文本,继承自JTextComponent类,5个常用构造方法:无参,string参数,int参数(长度),string和int参数,Document 参数,String参数,int参数。

密码框组件:JPasswordField类,它使用户输入的字符串以某种符号进行加密。5个构造方法,无参,string参数,int参数,string和int参数,Document参数和string参数和int参数。类中有一个setEchoChar方法可以设置密码框的回显字符。

文本域组件:JTextArea,5个构造方法,无参,字符串参数,int参数和int参数(行和列),Document 参数,Document参数和String参数和int参数和int参数。

 

你可能感兴趣的:(java,知识点,学习)