java swing几种常用容器简单实现

一:分隔面板 JSplitPanel

代码:

import javax.swing.JFrame ;
import javax.swing.JButton ;
import javax.swing.JLabel ;
import javax.swing.JPanel ;
import javax.swing.JSplitPane ;
import java.awt.Container ;
class Tester
{
    public static void main(String args[])
    {
       JFrame frame = new JFrame("JSplitPane测试") ;
       Container con = frame.getContentPane() ;
       JPanel panel = new JPanel() ;
       JSplitPane left = null ;   //左右分隔符号
       JSplitPane top = null   ;   //上下分隔符号
       left = new JSplitPane(JSplitPane.HORIZONTAL_SPLIT,new JLabel("左标签"),new JLabel("右标签")) ;
       top = new JSplitPane(JSplitPane.VERTICAL_SPLIT,left,new JLabel("下标签")) ;
       top.setDividerSize(10) ;
       top.setOneTouchExpandable(true) ;   //设置展开条
       con.add(top) ;
       frame.setSize(500,500) ;
       frame.setLocation(300,300) ;
       frame.setVisible(true) ;

    }
}

二:JTabbedPanel

代码

import java.io.File ;
import java.awt.* ;
import javax.swing.JButton ;
import javax.swing.JLabel ;
import javax.swing.JTabbedPane ;
import javax.swing.JPanel ;
import javax.swing.ImageIcon ;
import javax.swing.JFrame ;
class Tester
{
    public static void main(String args[])
    {
        JFrame frame = new JFrame("JTabbedPane测试样例") ;
        Panel p1 = new Panel() ;
        Panel p2 = new Panel() ;
        Panel p3 = new Panel() ;
        JButton button = new JButton("卡片") ;
        JLabel label = new JLabel("标签") ;
        JButton open = new JButton("打开文件") ;
        p1.add(button) ;
        p2.add(label) ;
        p3.add(open) ;
        String picPath1 = "d:"+File.separator+"ok.gif" ;
        String picPath2 = "d:"+File.separator+"exit.gif" ;
        String picPath3 = "d:"+File.separator+"play.gif" ;
        JTabbedPane tab =null;
        tab = new JTabbedPane(JTabbedPane.TOP) ;
        tab.addTab("加载",new ImageIcon(picPath1),p1,"图像") ;
        tab.addTab("关机",new ImageIcon(picPath2),p2,"文字") ;
        tab.addTab("播放",new ImageIcon(picPath3),p3,"影片") ;
        frame.add(tab) ;
        frame.setSize(500,400) ;
        frame.setLocation(300,300) ;
        frame.setVisible(true) ;

    }
}

效果图

四:JScrollPane  添加可拖动工具条

代码

import java.io.File ;
import javax.swing.JFrame ;
import javax.swing.JButton ;
import javax.swing.JPanel ;
import javax.swing.JScrollPane ;
import javax.swing.ImageIcon ;
import javax.swing.Icon ;
import java.awt.Container ;
import javax.swing.JLabel ;
class Tester
{
    public static void main(String args[])
    {
        JFrame frame = new JFrame("scrollbar测试样例") ;
        String picPath = "d:"+File.separator+"ok.gif" ;
        Icon icon = new ImageIcon(picPath) ;
        JLabel label = new JLabel(icon) ;
        JPanel panel = new JPanel() ;
        Container con = frame.getContentPane() ;
        JScrollPane sc = null ;
        //panel.add(label) ;
        sc = new JScrollPane(panel,JScrollPane.VERTICAL_SCROLLBAR_ALWAYS,JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS) ;
        panel.add(label) ;
        con.add(sc) ;
        frame.setSize(600,500) ;
        frame.setVisible(true) ;
    }
};

效果图

时间: 2024-10-10 15:16:18

java swing几种常用容器简单实现的相关文章

第二节 Java Swing中的基本容器:JFrame

第二节 基本容器:JFrame 如果要使用Swing创建一个窗口,则直接使用JFrame即可,此类事Component类的子类,常用方法如下: 小试牛刀 创建一个简单的窗口 import java.awt.*; import java.io.*; import javax.swing.*; public class JavaSwingTest { public static void main(String args[]) throws IOException{ test1(); } //创建一

Java 中几种常用的线程池

Java 中几种常用的线程池 转载 : https://www.cnblogs.com/sachen/p/7401959.html 原创 2016年04月14日 23:29:01 标签: java / 线程池 / Executor 878 概述: 在java内置API中操作线程所用到的类为Thread.创建线程一般有两种方式, 继承Thread方式 实现Runnable方式,并以runnable作为target创建Thread 在Android中的耗时任务一般都需要另开线程来执行,常常需要用线程

java 中几种常用数据结构

Java中有几种常用的数据结构,主要分为Collection和map两个主要接口(接口只提供方法,并不提供实现),而程序中最终使用的数据结构是继承自这些接口的数据结构类. 一.几个常用类的区别 1.ArrayList: 元素单个,效率高,多用于查询 2.Vector: 元素单个,线程安全,多用于查询 3.LinkedList:元素单个,多用于插入和删除 4.HashMap: 元素成对,元素可为空 5.HashTable: 元素成对,线程安全,元素不可为空 二.Vector.ArrayList和L

Java中几种常用的设置小数点后位数的方法

记录下几种常用的控制小数点后位数的方法,除了这几种还有很多方法也可以控制,但是用得不常见,下面是比较常见的几种方法 使用BigDecimal类对超长数字进行格式化控制 使用DecimalFormat格式化十进制数字 使用printf格式化输出 具体实现 package _12_26_test; import java.math.BigDecimal; import java.math.BigInteger; import java.text.DecimalFormat; /*控制小数点后位数的几

java几种常用设计模式简单示例

1.单例设计模式 所谓单例设计模式简单说就是无论程序如何运行,采用单例设计模式的类(Singleton类)永远只会有一个实例化对象产生.具体实现步骤如下: (1) 将采用单例设计模式的类的构造方法私有化(采用private修饰). (2) 在其内部产生该类的实例化对象,并将其封装成private static类型. (3) 定义一个静态方法返回该类的实例. 示例代码如下: [java] view plaincopy class Singleton { private static Singlet

java之 ------ 几种常见的简单设计模式

前言: 设计模式(Design pattern)是一套被反复使用.多数人知晓的.经过分类编目的.代码设计经验的总结.用于解决特定环境下.重复出现的特定问题的解决方案.使用设计模式是为了可重用代码.让代码更容易被他人理解.保证代码可靠性. 毫无疑问,设计模式于己于他人于系统都是多赢的,设计模式使代码编制真正工程化,设计模式是软件工程的基石,如同大厦的一块块砖石一样.项目中合理的运用设计模式可以完美的解决很多问题,每种模式在现在中都有相应的原理来与之对应,每一个模式描述了一个在我们周围不断重复发生的

几种常用容器的分析与比较

ArrayList 采用的是数组形式来保存对象的,这种方式将对象放在连续的位置中,所以最大的缺点就是插入删除时非常麻烦 LinkedList 采用的将对象存放在独立的空间中,而且在每个空间中还保存下一个链接的索引  但是缺点就是查找非常麻烦 要丛第一个索引开始 List是接口  定义了一些方法 但是方法没有被实现 ArrayList是一个类 实现了List这个接口 List里边定义的方法 在ArrayList里边都实现了 同时List也可以被别的类所实现 例如Vector,  Vector和Ar

java学习之三种常用设计模式

一.适配器设计模式 简单来说,就是通过一个间接类来选择性的来覆写一个接口 interface Window{ public void open() ; // 打开窗口 public void close() ; // 关闭窗口 public void icon() ; // 最小化 public void unicon() ; // 最大化 } abstract class WindowAdapter implements Window{ public void open(){} public

JAVA中几种常用的RPC框架介绍

RPC是远程过程调用的简称,广泛应用在大规模分布式应用中,作用是有助于系统的垂直拆分,使系统更易拓展.Java中的RPC框架比较多,各有特色,广泛使用的有RMI.Hessian.Dubbo等.RPC还有一个特点就是能够跨语言,本文只以JAVA语言里的RPC为例. 对于RPC有一个逻辑关系图,以RMI为例: 其他的框架结构也类似,区别在于对象的序列化方法,传输对象的通讯协议,以及注册中心的管理与failover设计(利用zookeeper). 客户端和服务端可以运行在不同的JVM中,Client只