一.Swing 其实和 awt 差不多,awt 是 Swing 的前身,但由于Swing的发展,使得Swing能做一些比awt更高级的操作。
1.创建一个JFrame窗口
ackage Swing;
import javax.swing.*;
import java.awt.*;
public class JFramedemo02 {
public static void main(String[] args) {
new myFrame().init();
}
}
class myFrame extends JFrame{
public void init(){
this.setTitle("这是一个Swing窗口");
this.setBounds(100,100,220,200);
this.setVisible(true);
JLabel lable = new JLabel("这是一个Swing窗口");//定义一个文本标签
this.add(lable);//将文本标签加到类中中
lable.setHorizontalAlignment(SwingConstants.CENTER);//设置文本标签的位置
//这里需要提到一个容器的概念,窗口也是一个容器,但是在Swing中要将容器实例化才能运用一些属性,所以会用到Container这个类,
//将一些属性放在Container中,这样这些属性才能实现,比如下方的设置背景颜色。
Container container = this.getContentPane();//在类中添加容器,也就是容器的实例化。
container.setBackground(Color.yellow);//设置容器的背景颜色。
}
}
运行效果如下:
如果此时不运用实例化的容器设置背景颜色
代码如下:
package Swing;
import javax.swing.*;
import java.awt.*;
public class JFramedemo02 {
public static void main(String[] args) {
new myFrame().init();
}
}
class myFrame extends JFrame{
public void init(){
this.setTitle("这是一个Swing窗口");
this.setBounds(100,100,220,200);
this.setVisible(true);
this.setBackground(Color.yellow);
JLabel lable = new JLabel("这是一个Swing窗口");//定义一个文本标签
this.add(lable);//将文本标签加到类中中
lable.setHorizontalAlignment(SwingConstants.CENTER);//设置文本标签的位置
//这里需要提到一个容器的概念,窗口也是一个容器,但是在Swing中要将容器实例化才能运用一些属性,所以会用到Container这个类,
//将一些属性放在Container中,这样这些属性才能实现,比如下方的设置背景颜色。
//Container container = this.getContentPane();//在类中添加容器,也就是容器的实例化。
}
}
运行效果如下:
这个时候由于没有运用实例化的容器,导致了对顶级窗口设置背景颜色不成功。