除了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. if..elif语句

    根据用户输入内容打印其权限 # alex --> 超级管理员 # eric --> 普通管理员 # tony,rain --> 业务主管 # 其他 --> 普通用户 name ...

  2. git flow的使用

    简介 Gitflow工作流程围绕项目发布定义了严格的分支模型.尽管它比Feature Branch Workflow更复杂一些,但它也为管理更大规模的项目提供了坚实的框架. 与Feature Bran ...

  3. 【TYVJ 1463】智商问题 (闲得无聊)

    老老实实写二分. #include<cstdio> #include<algorithm> using namespace std; int n, a[1000001], x; ...

  4. jQuery 图片等比缩放

    $(function(){ $('.img-box img').load(function(){ var w = $(this).width(); var h =$(this).height(); i ...

  5. awk同时处理多个文件

    关于awk的多文件处理: awk的数据输入有两个来源,标准输入和文件,后一种方式支持多个文件,如1.shell的Pathname Expansion方式:awk '{...}' *.txt # *.t ...

  6. 【USACO 2.2】Party Lamps

    四种开关,n盏灯,1:改变所有灯状态,2:改变奇数灯状态,3:改变偶数灯状态,4:改变3k+1灯状态 给你按开关的总次数c和部分灯限制条件(开或关),一开始都是开着的.($c \leq 10000,n ...

  7. Kudu 实时的存储系统

  8. matlab之meshgrid()函数

    以最常见的一个用法为例: [X,Y]=meshgrid(xgv, ygv) xgv是一个(一维的,行)向量,ygv也是. 产生的X和Y,规格相同,都是二维向量,高度为size(ygv,2),宽度为si ...

  9. [iOS 利用MapKit和CoreLocation框架打造精简的定位和导航]

    运行效果:            一.利用<CoreLocation/CoreLocation.h>定位 创建变量 CLLocationManager *locationManager , ...

  10. [Xcode 自带svn的使用]

    xcode自带svn的使用 1.代码中 某文件后面有 “M” 标记,表示该文件已被修改,需要commit.            (右键该文件 -> source control -> c ...