窗口是GUI变成的基础,小应用程序或图形界面的应用程序的可视组件都放在窗口中。在GUI中,窗口是用户屏幕的一部分,起着在屏幕中一个小屏幕的作用。有下面三种窗口:
①Applet窗口:Applet类管理这个窗口,当应用程序启动时,由系统创建和处理。
②框架窗口(JFrame):这是通常意义上的窗口,它支持窗口周边的框架,标题栏以及最小化 最大化和关闭按钮。
③一种无边框窗口(JWindow):没有标题栏,没有框架,只是一个空的矩形。
用Swing中的JFrame类或者它的子类创建的对象就是JFrame窗口。
JFrame类的主要构造方法:
JFrame(); //创建无标题的窗口对象
JFrame(String s) //创建一个标题名是字符串s的窗口对象
JFrame类的其他常用方法:
setBounds(int x,int y,int width,int height);//x y指定窗口出现在屏幕的位置,width和height指定长宽(像素)。
setSize(int width,int height);
setBackground(Color c);
setVisible(boolean b);//窗口是否可见
pack();用紧凑方式显示窗口。
setTitle(String name);//设置窗口的名字
getTitle();//获取窗口的名字
setResiable(boolean m);//设置当前窗口是否可调整大小
Swing里的容器都可以添加组件,除了JPanel及其子类(JApplet)之外,其他的Swing容器不允许把组件直接加入。其他容器添加组件有两种方法:
①用getContentPane()方法获得内容面板,然后将组件加入。
②建立一个JPanel对象的中间容器,把组件添加到这个容器中,再用setContentPane()把这个容器置为内容面板。
//一个用JFrame类创建窗口的Java应用程序,窗口只有一个按钮
import java.swing.*;
public class Example {
public static void main(String []args) {
JFrame mw = new JFrame("My first window");
mw.setSize(250,200);
JButton button = new JButton("My first button");
mw.getContentPane().add(button);
mw.setVisible(true);
}
}
Tips:用Swing编写GUI程序时,通常不直接用JFrame创建窗口对象,而用JFrame派生的子类创建窗口对象。在子类中可以加入窗口的特定要求和特别的内容等。
//定义JFrame派生的子类MyWindowDemo创建JFrame窗口。类MyWindowDemo的构造方法有五个参数:标题名,放入的组件,窗口的背景颜色以及窗口的高度和宽度。在主方法中,利用类MyWindowDemo创建两个类似的窗口。
import java.awt.*;
import javax.swing.*;
public class Test {
public static MyWindowDemo mw1;
public static MyWindowDemo mw2;
public static void main(String []args) {
JButton butt1 = new JButton("Button");
String name1 = "My first window";
String name2 = "My second window";
mw1 = new MyWindowDemo(name1,butt1,Color.blue,350,450);
mw1.setVisible(true);
JButton butt2 = new JButton("another Button");
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);
}
}
时间: 2024-10-13 22:25:48