【Java GUI】框架窗口基础
2015-06-07 18:33
369 查看
窗口是GUI编程的基础,小应用程序或图形界面的应用程序的可视组件都放在窗口中,在GUI中,窗口是用户屏幕的一部分,起着在屏幕中一个小屏幕的作用。有以下三种窗口:
①Applet窗口
②框架窗口(JFrame)
③一种无边框窗口(JWindow)
用Swing中的JFrame类或它的子类创建的对象就是JFrame窗口。
JFrame类的主要构造方法:
JFrame类的其他常用方法:
Swing里的容器都可以添加组件,除了JPanel及其子类(JApplet)之外,其他的Swing容器不允许把组件直接加入。其他容器添加组件有两种方法:
一种是用getContentPane()方法获得内容面板,再将组件加入。该代码的意义是获得容器的内容面板,并将按钮button添加到这个内容面板中。
另一种是建立一个JPanel对象的中间容器,把组件添加到这个容器中,再用setContentPane()把这个容器置为内容面板。例如,代码:
JPanel contentPane = new JPanel();
…
mw.setContentPane(contentPane);
以上代码把contentPane置成内容面板。
用Swing 编写GUI程序时,通常不直接用JFrame创建窗口对象,而用JFrame派生的子类创建窗口对象,在子类中可以加入窗口的特定要求和特别的内容等。
①Applet窗口
②框架窗口(JFrame)
③一种无边框窗口(JWindow)
用Swing中的JFrame类或它的子类创建的对象就是JFrame窗口。
JFrame类的主要构造方法:
[code]JFrame();//创建无标题的窗口对象; JFrame(String s);//创建一个标题名是字符串s的窗口对象。
JFrame类的其他常用方法:
[code]setBounds(int x,int y,int width,int height);//参数x,y指定窗口出现在屏幕的位置;参数width,height指定窗口的宽度和高度。单位是像素。 setSize(int width,int height);//设置窗口的大小,参数width和height指定窗口的宽度和高度,单位是像素。 setBackground(Color c);//以参数 c设置窗口的背景颜色。 setVisible(boolean b);//参数b设置窗口是可见或不可见。JFrame默认是不可见的。 setTitle(String name);//以参数name设置窗口的名字。 getTitle();//获取窗口的名字。
Swing里的容器都可以添加组件,除了JPanel及其子类(JApplet)之外,其他的Swing容器不允许把组件直接加入。其他容器添加组件有两种方法:
一种是用getContentPane()方法获得内容面板,再将组件加入。该代码的意义是获得容器的内容面板,并将按钮button添加到这个内容面板中。
另一种是建立一个JPanel对象的中间容器,把组件添加到这个容器中,再用setContentPane()把这个容器置为内容面板。例如,代码:
JPanel contentPane = new JPanel();
…
mw.setContentPane(contentPane);
以上代码把contentPane置成内容面板。
[code]//一个用JFrame类创建窗口的Java应用程序。窗口只有一个按钮。 import javax.swing.*; public class Test{ 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派生的子类创建窗口对象,在子类中可以加入窗口的特定要求和特别的内容等。
[code]//定义JFrame派生的子类MyWindowDemo创建JFrame窗口。类MyWindowDemo的构造方法有五个参数:窗口的标题名,加放窗口的组件,窗口的背景颜色以及窗口的高度和宽度。在主方法中,利用类MyWindowDemo创建两个类似的窗口。 import javax.swing.*; import java.awt.*; import java.awt.event.*; public class Test{ 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); } }
相关文章推荐
- input:text 的value 和 attribute('value') 不是一回事
- Uva 1584 Circular Sequence
- LightOJ1012---Guilty Prince (并查集)
- uibutton block
- Mysql出现Field * doesn't have a defa 4000 ult value解决办法
- hdu 1159 Common Subsequence(最长公共子序列)
- BZOJ 1626: [Usaco2007 Dec]Building Roads 修建道路( MST )
- iOS开发UI高级—38Quartz2D使用(绘制基本图形)
- iOS开发UI高级—37Quartz2D(自定义UIImageView控件)
- iOS开发UI高级—36核心动画(UIView封装动画)
- Cross Site Request Forgery protection(部分)
- Android程序出现错误“Field requires API level 5 (current min is 4)”的解决
- iOS开发UI高级—35核心动画(转场动画和组动画)
- iOS开发UI高级—33核心动画(基础动画)
- iOS开发UI高级—34核心动画(关键帧动画)
- iOS开发UI高级—32核心动画简介
- iOS开发UI高级—31CAlayer(自定义layer)
- iOS开发UI高级—30CAlayer层的属性
- uefi创建文件、文件夹导致文件夹中某个文件丢失
- iOS开发UI高级—29CAlayer(创建图层)