除了JFrame表示之外,还有其他几种常见的窗体:JPanel、JSplitPane、JTabbedPane、JScrollPane、JDesktopPane、JInternalFrame等。

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel; //=================================================
// File Name : JPanel_demo
//------------------------------------------------------------------------------
// Author : Common //主类
//Function : JPanel_demo
public class JPanel_demo { public static void main(String[] args) {
// TODO 自动生成的方法存根
JFrame f = new JFrame("Swing窗口"); //实例化窗体对象
JPanel pan = new JPanel(); //实例化JPanel对象
pan.add(new JLabel("标签--A"));
pan.add(new JLabel("标签--B"));
pan.add(new JLabel("标签--C"));
pan.add(new JButton("按钮--A"));
pan.add(new JButton("按钮--B"));
pan.add(new JButton("按钮--C"));
f.add(pan); //将JPanel加入到窗体中
f.pack();
f.setLocation(300,200); //设置显示位置
f.setVisible(true);
} }

import java.awt.Container;

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JSplitPane; //=================================================
// File Name : JSplitPane_demo
//------------------------------------------------------------------------------
// Author : Common //主类
//Function : JSplitPane_demo
public class JSplitPane_demo { public static void main(String[] args) {
// TODO 自动生成的方法存根
JFrame f = new JFrame("Swing窗口"); //实例化窗体对象
Container cont = f.getContentPane(); //得到窗体容器
JSplitPane lfsplit = null; //左右分割的JSplitPane
JSplitPane tbsplit = null; //上下分割的JSplitPane lfsplit = new JSplitPane(JSplitPane.HORIZONTAL_SPLIT,new JLabel("左标签"),new JLabel("右标签"));
lfsplit.setDividerSize(20); //设置左右的分割线大小 tbsplit = new JSplitPane(JSplitPane.VERTICAL_SPLIT,lfsplit,new JLabel("右标签"));
tbsplit.setDividerSize(10); //按百分比设置上下的分割线大小
tbsplit.setOneTouchExpandable(true); //快速展开/折叠分割条
cont.add(tbsplit); //将tbsplit加入到窗体
f.setSize(230, 80); //设置窗体
f.setLocation(300,200); //设置显示位置
f.setVisible(true);
} }

import java.awt.Container;

import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JTabbedPane; //=================================================
// File Name : JTabbedPane_demo
//------------------------------------------------------------------------------
// Author : Common //主类
//Function : JTabbedPane_demo
public class JTabbedPane_demo { public static void main(String[] args) {
// TODO 自动生成的方法存根
JFrame f = new JFrame("Swing窗口"); //实例化窗体对象
Container cont = f.getContentPane(); //得到窗体容器
JTabbedPane tab = null;
tab = new JTabbedPane(JTabbedPane.TOP); //设置标签在顶部显示
JPanel pan1 = new JPanel(); //设置面板
JPanel pan2 = new JPanel(); //设置面板
JButton but = new JButton("按钮"); //定义按钮
JLabel lab = new JLabel("标签"); //定义标签
pan1.add(but);
pan2.add(lab);
String picPath = "/home/common/software/database/123.jpg";
tab.addTab("图片选项", new ImageIcon(picPath), pan1,"图像");
tab.addTab("文字选项", pan2);
cont.add(tab); //加入到容器中
f.setSize(440, 320); //设置窗体
f.setLocation(300,200); //设置显示位置
f.setVisible(true);
} }

import java.awt.Container;

import javax.swing.Icon;
import javax.swing.ImageIcon;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JScrollPane; //=================================================
// File Name : JScrollPane_demo
//------------------------------------------------------------------------------
// Author : Common //主类
//Function : JScrollPane_demo
public class JScrollPane_demo { public static void main(String[] args) {
// TODO 自动生成的方法存根
JFrame f = new JFrame("Swing窗口"); //实例化窗体对象
Container cont = f.getContentPane(); //得到窗体容器
String picPath = "/home/common/software/database/photo.jpg";
Icon icon = new ImageIcon(picPath); //实例化Icon对象
JPanel pan = new JPanel(); //定义一个面板
JLabel lab = new JLabel(icon); //定义一个标签,显示图片
pan.add(lab); //将标签加到面板中
JScrollPane scrl = null; //声明滚动面板
scrl = new JScrollPane(pan,JScrollPane.VERTICAL_SCROLLBAR_ALWAYS,JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED);
cont.add(scrl); //加入到容器中
f.setSize(440, 320); //设置窗体
f.setLocation(300,200); //设置显示位置
f.setVisible(true);
} }

import java.awt.BorderLayout;
import java.awt.Container; import javax.swing.Icon;
import javax.swing.ImageIcon;
import javax.swing.JDesktopPane;
import javax.swing.JFrame;
import javax.swing.JInternalFrame;
import javax.swing.JLabel;
import javax.swing.JPanel; //=================================================
// File Name : JDesktopPane_demo
//------------------------------------------------------------------------------
// Author : Common //主类
//Function : JDesktopPane_demo
public class JDesktopPane_demo { public static void main(String[] args) {
// TODO 自动生成的方法存根
JFrame f = new JFrame("Swing窗口"); //实例化窗体对象
f.setLayout(new BorderLayout()); //设置布局管理器
Container cont = f.getContentPane(); //得到窗体容器
JDesktopPane desk = new JDesktopPane(); //实例化JDesktopPane容器
cont.add(desk, BorderLayout.CENTER); //将Desktop加入到窗体
JInternalFrame jif = null; //声明一个内部窗体对象
String picPath = "/home/common/software/database/123.jpg";
Icon icon = new ImageIcon(picPath); //实例化Icon对象
JPanel pan = null;
for(int i=0;i<3;i++){
jif = new JInternalFrame("指定标签"+i,true,true,true,true);
pan = new JPanel(); //定义一个面板
pan.add(new JLabel(icon)); //加入一个标签
jif.setLocation(35-i*10, 35-i*10); //设置显示位置
jif.add(pan); jif.pack();
jif.setVisible(true);
desk.add(jif); //将内部窗体加入到Desktop中
}
f.setSize(440, 320); //设置窗体
f.setLocation(300,200); //设置显示位置
f.setVisible(true);
} }

Java——其他容器的更多相关文章

  1. JAVA的容器---List,Map,Set (转)

    JAVA的容器---List,Map,Set Collection├List│├LinkedList│├ArrayList│└Vector│ └Stack└SetMap├Hashtable├HashM ...

  2. Java集合容器简介

    Java集合容器主要有以下几类: 1,内置容器:数组 2,list容器:Vetor,Stack,ArrayList,LinkedList, CopyOnWriteArrayList(1.5),Attr ...

  3. [转载]四大Java EE容器

    转载自: https://my.oschina.net/diedai/blog/271367 现在流行的Java EE容器有很多:Tomcat.JBoss.Resin.Glassfish等等.下面对这 ...

  4. 转 四大Java EE容器(Tomcat、JBoss、Resin、Glassfish)之简单比较

                                      现在流行的Java EE容器有很多:Tomcat.JBoss.Resin.Glassfish等等.下面对这四种Java EE容器进行 ...

  5. java并发容器(Map、List、BlockingQueue)

    转发: 大海巨浪 Java库本身就有多种线程安全的容器和同步工具,其中同步容器包括两部分:一个是Vector和Hashtable.另外还有JDK1.2中加入的同步包装类,这些类都是由Collectio ...

  6. Spring @Bean注解 (基于java的容器注解)

    基于java的容器注解,意思就是使用Java代码以及一些注解,就可以取代spring 的 xml配置文件. 1-@Configuration & @Bean的配合 @Configuration ...

  7. 各种容器与服务器的区别与联系:Servlet容器、WEB容器、Java EE容器、应用服务器、WEB服务器、Java EE服务器

    1.容器与服务器的联系 如上图,我们先来看下容器与服务器的联系:容器是位于应用程序/组件和服务器平台之间的接口集合,使得应用程序/组件可以方便部署到服务器上运行. 2.各种容器的区别/联系 2-1.容 ...

  8. 四大Java EE容器(Tomcat、JBoss、Resin、Glassfish)之简单比较

    转自:http://www.cxybl.com/html/bcyy/java/201106241007.html 现在流行的Java EE容器有很多:Tomcat.JBoss.Resin.Glassf ...

  9. 各种容器与服务器的区别与联系 Servlet容器 WEB容器 Java EE容器 应用服务器 WEB服务器 Java EE服务器

    转自:https://blog.csdn.net/tjiyu/article/details/53148174 各种容器与服务器的区别与联系 Servlet容器 WEB容器 Java EE容器 应用服 ...

  10. 【Java web 容器resin的安装】

    #resin的安装 #启动resin #访问resin监听的java web容器端口 resin修改端口监听号

随机推荐

  1. RabbitMQ 主题(Topic)

    我们进步改良了我们的日志系统.我们使用direct类型转发器,使得接收者有能力进行选择性的接收日志,,而非fanout那样,只能够无脑的转发. 虽然使用direct类型改良了我们的系统,但是仍然存在一 ...

  2. exce生成随机数

    有时候数据库没有数据,造数据专用. 来源于:http://jingyan.baidu.com/article/93f9803feba1f5e0e46f55f2.html 首先介绍一下如何用RAND() ...

  3. re模块(正则表达式)

    re 模块:正则表达式import re 内置模块: 1> re.match(pattern,string) pattern:就是正则表达式 string:被操作的对象 match,search ...

  4. iOS开发小技巧--实现毛玻璃效果的方法

    一.美工出图 二.第三方框架 -- DRNRealTimeBlur,框架继承自UIView.使用方法:创建UIView直接继承自框架的View,就有了毛玻璃效果 三.CoreImage -- 图片加高 ...

  5. 通过javascript在网页端生成zip压缩包并下载

    zip.js是什么 zip.js的github项目地址:http://gildas-lormeau.github.io/zip.js/ 通过zip.js封装一个能在网页端生成zip文件的插件, 直接在 ...

  6. poj3694 缩点边双连通分量

    Network Time Limit: 5000MS   Memory Limit: 65536K Total Submissions: 8669   Accepted: 3175 Descripti ...

  7. 【转】在mac上配置安卓SDK

    众所周知的原因,google的很多网站在国内无法访问,苦逼了一堆天朝程序员,下是在mac本上折腾android 开发环境的过程: 一.先下载android sdk for mac 给二个靠谱的网址: ...

  8. HTML 事件处理

    1.HTML事件处理程序 2.DOM0级事件处理程序 3.DOM2级事件处理程序 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transi ...

  9. 【poj3264】 Balanced Lineup

    http://poj.org/problem?id=3264 (题目链接) 题意 给出序列,求区间最大值-最小值 Solution 无修改,询问较多,ST表水一发. ST算法(Sparse Table ...

  10. Windows批处理以服务的方式启动解决思路(ShadowsockR注册成Windows Service)

    我以ShadowsockR的server启动来解释: 由于这东西是python,如果要启动,可以写一个批处理(python.exe server.py)来启动,但是我观察发现启动的时候是附带pytho ...