欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

Java语言-概念-Swing容器

程序员文章站 2022-03-26 20:34:59
容器java.awt.Container是Component的子类,一个容器可以容纳多个组件,并使它们成为一个整体。容器可以简化图形化界面的设计,以整体结构来布置界面。Swing常用的顶层容器有JFrame、JApplet、JDialog、JWindow共4个。JFrame框架JFrame是与AWT中的Frame相对应的Swing组件。JFrame上面只能有一个唯一的组件,这个组件为JRootPane,调用JFrame.getContentPane()方法可获得JFrame中内置的JRootPane对...

容器java.awt.Container是Component的子类,一个容器可以容纳多个组件,并使它们成为一个整体。容器可以简化图形化界面的设计,以整体结构来布置界面。
Swing常用的顶层容器有JFrame、JApplet、JDialog、JWindow共4个。

JFrame框架

JFrame是与AWT中的Frame相对应的Swing组件。JFrame上面只能有一个唯一的组件,这个组件为JRootPane,调用JFrame.getContentPane()方法可获得JFrame中内置的JRootPane对象。
应用程序不能直接在JFrame实例对象上增加组件和设置布局管理器,而应该在JRootPane对象上增加子组件和设置布局管理器。
调用JFrame的setDefaultCloseOperation方法,可以设置单击窗口上的关闭按钮时的事件处理方式,例如,当设置值为JFrame.EXIT_ON_CLOSE时,单击JFrame窗口上的关闭按钮,将直接关闭JFrame框架窗口并结束程序运行。
【例】使用JFrame创建的框架窗口。

package Swing;
import java.awt.*;//加载java.awt类库里的所有类
import javax.swing.*;//加载javax.swing类库里的所有类
public class JFrame_Exam extends JFrame {
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		JFrame_Exam mainJFrame=new JFrame_Exam();
		mainJFrame.setTitle("JFrame框架实例!");//创建一个JFrame并设置标题
		mainJFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//设置关闭动作
		mainJFrame.setSize(300, 300);//设置JFrame的大小,默认为(0,0)
		mainJFrame.setLocationRelativeTo(null);//使窗口显示在屏幕*
		mainJFrame.getContentPane().setLayout(new FlowLayout());
		//设置JFrame的内容面板背景,默认为绿色
		mainJFrame.getContentPane().setBackground(Color.green);
		JLabel lbl=new JLabel("大家好!我是一个标签");
		JButton btn=new JButton("按钮");
		mainJFrame.getContentPane().add(lbl);//将标签对象lbl加入到内容面板中
		mainJFrame.getContentPane().add(btn);//将按钮对象btn加入到内容面板中
		mainJFrame.setVisible(true);//设置JFrame为可见,默认为不可见
	}
}

Java语言-概念-Swing容器

JPanel面板

面板(JPanel)是一个轻量级容器组件,是一种没有标题的中间容器,用于容纳界面元素,以便在布局管理器的设置下容纳更多的组件,实现容器的嵌套。JPanel、JScrollPane、JSplitPane和JInternalJFrame都属于常用的中间容器,是轻量级组件。JPanel的默认布局管理器是FlowLayout。这类容器不能独立存在,必须通过add()方法添加到一个顶层容器或存在于顶层容器的一个中间容器。
JPanel类、AbstractButton类、JLabel、JList、JComboBox类、JTextComponent类等均是JComponent类的子类。它们均继承了JComponent类中的许多常用方法。
【例】在框架窗口在加入JPanel面板。

package Swing;
import java.awt.*;
import javax.swing.*;
public class JPanel_Exam {
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		JFrame mainJFrame=new JFrame("框架+面板示例!");
		mainJFrame.setSize(240, 240);
		mainJFrame.setLocation(200, 200);
		Container container=mainJFrame.getContentPane();
		container.setBackground(Color.lightGray);
		container.setLayout(null);
		JPanel pnl=new JPanel();
		pnl.setSize(190, 180);//设置pnl的大小
		pnl.setBackground(Color.green);//设置pnl的背景
		pnl.setLocation(20, 20);//设置pnl面板的位置
		JButton btn=new JButton("我是一个按钮,单击我");
		btn.setSize(170, 40);//设置btn的大小
		btn.setBackground(Color.yellow);//设置btn的背景色
		btn.setLocation(10, 50);//设置btn的位置
		pnl.setLayout(null);//取消pnl的默认布局管理器
		pnl.add(btn);//将命令按钮btn加入到面板pnl中
		container.add(pnl);//将面板pnl加入到窗口默认面板中
		mainJFrame.setVisible(true);
	}
}

Java语言-概念-Swing容器

本文地址:https://blog.csdn.net/weixin_47423314/article/details/107593648

相关标签: Java语言