Swing是一个用于开发Java应用程序用户界面的开发工具包。
以抽象窗口工具包(AWT)为基础使跨平台应用程序可以使用任何可插拔的外观风格。Swing开发人员只用很少的代码就可以利用Swing丰富、灵活的功能和模块化组件来创建优雅的用户界面。 工具包中所有的包都是以swing作为名称,例如javax.swing,javax.swing.event。
JFrame 类
Swing 的三个基本构造块:标签、按钮和文本字段;但是需要个地方安放它们,并希望用户知道如何处理它们。JFrame 类就是解决这个问题的——它是一个容器,允许程序员把其他组件添加到它里面,把它们组织起来,并把它们呈现给用户。 JFrame 实际上不仅仅让程序员把组件放入其中并呈现给用户。比起它表面上的简单性,它实际上是 Swing 包中最复杂的组件。为了最大程度地简化组件,在独立于操作系统的 Swing 组件与实际运行这些组件的操作系统之间,JFrame 起着桥梁的作用。JFrame 在本机操作系统中是以窗口的形式注册的,这么做之后,就可以得到许多熟悉的操作系统窗口的特性:最小化/最大化、改变大小、移动。
import java.awt.Color;
import java.awt.Container;
import java.awt.FlowLayout;
import java.awt.GridLayout;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JTextField;
public class JFrameDemo {
public static void main(String[] args) {
JFrame jf=new JFrame("学生管理系统");
jf.setSize(300, 500);
jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
//设置窗体中内容面板的背景颜色
Container c=jf.getContentPane();
c.setBackground(Color.blue);
//设置布局管理器
FlowLayout fl=new FlowLayout();
jf.setLayout(fl);
//给窗体添加按钮
for(int i=0;i<7;i++){
JButton jb=new JButton("按钮");
jf.add(jb);
}
//添加文本框
JTextField jtf=new JTextField(10);
jf.add(jtf);
//设置窗体可见
jf.setVisible(true);
}
}
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Container;
import javax.swing.JButton;
import javax.swing.JFrame;
public class JFrameDemo2 extends JFrame{
public JFrameDemo2(){
setSize(400, 300);//设置大小
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//点击关闭窗体的时候推出程序
//设置窗体中内容面板的背景颜色
Container c = getContentPane();
c.setBackground(new Color(0x678912));
//设置布局管理器
BorderLayout bl=new BorderLayout();
setLayout(bl);
//创建控件添加到窗体上面
JButton jb1=new JButton("按钮1");
JButton jb2=new JButton("按钮1");
JButton jb3=new JButton("按钮1");
JButton jb4=new JButton("按钮1");
JButton jb5=new JButton("按钮1");
//添加到窗体上面
add(jb1, BorderLayout.NORTH);
add(jb2, BorderLayout.SOUTH);
add(jb3, BorderLayout.EAST);
add(jb4, BorderLayout.WEST);
add(jb5, BorderLayout.CENTER);
setVisible(true);//设置窗体可见
}
public static void main(String[] args) {
new JFrameDemo2();
}
}
import java.awt.Color;
import java.awt.Container;
import java.awt.GridLayout;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
public class JFameDemo3 extends JFrame {
public JFameDemo3() {
setTitle("欢迎来到新世纪");
setSize(300, 400);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
//创建一个自己的面板添加到窗体中来
JPanel jp=new JPanel();
jp.setBackground(Color.blue);
//给面板设置布局
jp.setLayout(new GridLayout(3, 3));
for (int i = 0; i < 3; i++) {
JButton jb=new JButton("按钮");
jp.add(jb);
}
add(jp);
setVisible(true);
}
public static void main(String[] args) {
new JFameDemo3();
}
}
import javax.swing.JButton;
import javax.swing.JFrame;
public class JFrameDemo4 extends JFrame{
public JFrameDemo4() {
setTitle("你好");
setSize(200,300);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
//设置绝对布局
setLayout(null);
//创建组件添加到窗体
JButton jb=new JButton("你好");
jb.setBounds(0, 0, 100, 20);
add(jb);
setVisible(true);
}
public static void main(String[] args) {
new JFrameDemo4();
}
}