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

本文通过实例代码介绍了Java Swing中的三种常用容器:JSplitPane、JTabbedPane和JScrollPane,展示了如何在这些容器中展示图片和创建交互功能。JSplitPane用于左右或上下分隔内容,JTabbedPane实现可切换的卡片布局,JScrollPane则提供了可滚动的视图,支持垂直和水平滚动条。
摘要由CSDN通过智能技术生成

一:分隔面板 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) ;

}

}

07c7c639ba764e192d6392140746019e.png

二: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) ;

}

}效果图

0fccf9db4918f229bbeaf93edf08d541.png

四: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) ;

}

};效果图

ca8b759af309369a34941e6a8d34e38b.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值