@源程序来自《Java程序设计标准教程(第二版)》邱加永
12.2 Swing容器
12.2.1 顶层容器
顶层容器可以独立存在,位于java.lang.Swing包层次的顶端,Swing顶层容器类包括JApplet、JFrame、JDialog、JWindow,分别从java.awt包中的Applet、Frame、Dialog和Window类直接衍生出来。
JFrame
import javax.swing.JFrame;
/** JFrame使用示例 */
public class JFrameTest {
public static void main(String[] args) {
//创建一个顶层容器窗口
JFrame frame = new JFrame();
//设置尺寸
frame.setSize(300,300);
//设置它的左上角的坐标
frame.setLocation(300,200);
//一次性设置尺寸和左上角的坐标
frame.setBounds(300,200,300,300);
//设置标题
frame.setTitle("第一个窗体");
//设置不允许调整窗口的大小
frame.setResizable(false);
//设置它的可见性
frame.setVisible(true);
}
}
JDialog
12.2.2通用容器
通用容器是中间容器,它们不能独立存在,必须存放到其他容器中,常用的通用容器有JPanel、JScrollPane、JToolBar、JSplitPane、JTabbedPane。
面板JPanel
import java.awt.Color;
import javax.swing.JFrame;
import javax.swing.JPanel;
/** JPanel使用示例 */
public class JPanelTest {
public static void main(String[] args) {
JFrame frame = new JFrame;
frame.setLayout(null); //自由布局
frame.setBounds(300,300,320,320); //边大小
frame.setResizable(false);
frame.setTitle("窗体中添加面板");
JPanel panel = new JPanel(); //创建面板
panel.setBounds(60,50,200,200);
panel.setBackground(new Color(204,204,255)); //面板颜色
frame.add(panel); //将面板加到窗体上
//设置关闭窗口时退出应用程序
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setVisible(true); //显示窗体
}
}
滚动面板JScrollPane
import javax.swing.JFrame;
import javax.swing.JScrollPane;
/** JScrollPane使用示例 */
public class JScrollPaneTest {
public static void main(String[] args) {
JFrame frame = new JFrame();
frame.setLayout(null); //自由布局
frame.setBounds(300,300,320,320); //边大小
frame.setResizable(false);
frame.setTitle("窗体中添加滚动面板");
//创建指定滚动策略的面板
JScrollPane panel = new JScrollPane(JScrollPane.VERTICAL_SCROLLBAR_ALWAYS,JScorllPane.HORIZONTAL_SCROLLBAR_ALWAYS);
panel.setBounds(60,50,200,200);
frame.add(panel);
frame.setDefau