窗口是GUI编程的基础,小应用程序或图形界面的应用程序的可视组件都放在窗口中,在GUI中,窗口是用户屏幕的一部分,起着在屏幕中一个小屏幕的作用。有以下三种窗口:
Applet窗口:Applet类管理这个窗口,当应用程序程序启动时,由系统创建和处理;
框架窗口(JFrame):这是通常意义上的窗口,它支持窗口周边的框架、标题栏,以及最小化、最大化和关闭按钮;
一种无边框窗口(JWindow):没有标题栏,没有框架,只是一个空的矩形。
用Swing中的JFrame类或它的子类创建的对象就是JFrame窗口。
JFrame类的主要构造方法:
JFrame类的其他常用方法:
Swing里的容器都可以添加组件,除了JPanel及其子类(JApplet)之外,其他的Swing容器不允许把组件直接加入。其他容器添加组件有两种方法:
一种是用getContentPane()方法获得内容面板,再将组件加入。例如,例5.1程序中的代码:
mw.getContentPane().add(button);
该代码的意义是获得容器的内容面板,并将按钮button添加到这个内容面板中。
另一种是建立一个JPanel对象的中间容器,把组件添加到这个容器中,再用setContentPane()把这个容器置为内容面板。例如,代码:
JPanel contentPane = new JPanel(); … mw.setContentPane(contentPane);
以上代码把contentPane置成内容面板。
【例】一个用JFrame类创建窗口的Java应用程序。窗口只有一个按钮。
import javax.swing.*; public class Example5_1{ public static void main(String args[]){ JFrame mw = new JFrame(“我的第一个窗口”); mw.setSize(250,200); JButton button = new JButton(“我是一个按钮”); mw.getContentPane().add(button); mw.setVisible(true); } }
用Swing 编写GUI程序时,通常不直接用JFrame创建窗口对象,而用JFrame派生的子类创建窗口对象,在子类中可以加入窗口的特定要求和特别的内容等。
【例】定义JFrame派生的子类MyWindowDemo创建JFrame窗口。类MyWindowDemo的构造方法有五个参数:窗口的标题名,加放窗口的组件,窗口的背景颜色以及窗口的高度和宽度。在主方法中,利用类MyWindowDemo创建两个类似的窗口。
import javax.swing.*; import java.awt.*; import java.awt.event.*; public class Example5_2{ public static MyWindowDemo mw1; public static MyWindowDemo mw2; public static void main(String args[]){ JButton static butt1 = new JButton(“我是一个按钮”); String name1 = “我的第一个窗口”; String name2 = “我的第二个窗口”; mw1 = new MyWindowDemo(name1,butt1,Color.blue,350,450); mw1.setVisible(true); JButton butt2 = new JButton(“我是另一个按钮”); mw2 = new MyWindowDemo(name2,butt2,Color.magenta,300,400); mw2.setVisible(true); } } class MyWindowDemo extends JFrame{ public MyWindowDemo(String name,JButton button,Color c,int w,int h){ super(); setTitle(name); setSize(w,h); Container con = getContentPane(); con.add(button); con.setBackground(c); } }
显示颜色由java.awt包的Color类管理,在Color类中预定了一些常用的颜色,参见表11-3。JFrame类的部分常用方法参见下表。
Color 类中定义的常用颜色
JFrame 类的部分常用方法
本文向大家介绍使用Java编写图形化的菜单的教程,包括了使用Java编写图形化的菜单的教程的使用技巧和注意事项,需要的朋友参考一下 有两种类型的菜单:下拉式菜单和弹出式菜单。本章只讨论下拉式菜单编程方法。菜单与JComboBox和JCheckBox不同,它们在界面中是一直可见的。菜单与JComboBox的相同之处是每次只可选择一个项目。 在下拉式菜单或弹出式菜单中选择一个选项就产生一个Action
本文向大家介绍Java zookeeper图形化工具ZooInspector用法详解,包括了Java zookeeper图形化工具ZooInspector用法详解的使用技巧和注意事项,需要的朋友参考一下 一、在window,使用我们先打开Zookeeper,目录bin下的zkServer.cmd,把Zookeeper运行起来 二、可以使用目录bin下的zkCli.cmd,查询Zookeeper数据
本文向大家介绍详解Java图形化编程中的鼠标事件设计,包括了详解Java图形化编程中的鼠标事件设计的使用技巧和注意事项,需要的朋友参考一下 鼠标事件的事件源往往与容器相关,当鼠标进入容器、离开容器,或者在容器中单击鼠标、拖动鼠标时都会发生鼠标事件。java语言为处理鼠标事件提供两个接口:MouseListener,MouseMotionListener接口。 MouseListener接口 Mou
本文向大家介绍详解如何使用Python编写vim插件,包括了详解如何使用Python编写vim插件的使用技巧和注意事项,需要的朋友参考一下 前言 vim是个伟大的编辑器,不仅在于她特立独行的编辑方式,还在于她强大的扩展能力。然而,vim自身用于写插件的语言vimL功能有很大的局限性,实现功能复杂的插件往往力不从心,而且运行效率也不高。幸好,vim早就想到了这一点,她提供了很多外部语言接口,比如Py
本文向大家介绍python GUI图形化编程wxpython的使用,包括了python GUI图形化编程wxpython的使用的使用技巧和注意事项,需要的朋友参考一下 一、python gui(图形化)模块介绍: Tkinter :是python最简单的图形化模块,总共只有14种组建 Pyqt :是python最复杂也是使用最广泛的图形化 Wx :是python当中居中的一个图形化,学
本文向大家介绍详解Java如何实现图像灰度化,包括了详解Java如何实现图像灰度化的使用技巧和注意事项,需要的朋友参考一下 24位彩色图与8位灰度图 首先要先介绍一下24位彩色图像,在一个24位彩色图像中,每个像素由三个字节表示,通常表示为RGB。通常,许多24位彩色图像存储为32位图像,每个像素多余的字节存储为一个alpha值,表现有特殊影响的信息[1]。 在RGB模型中,如果R=G=B时,则彩