package com.test;
import java.awt.GridLayout;
import java.awt.Toolkit;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.Timer;
import com.flow.ChartTest;
/**
* @author 徐彬
* @ 界面JPanel定时切换
*/
public class TestToJPanel extends JFrame{
/**
* 总JPanel
* */
private JPanel conpanel=new JPanel(new GridLayout(1, 1));
/**
* tmp_JPanel
* */
private JPanel[] panel1=new JPanel[20];
/**
* JPanel定时标记
*/
private int t=0;
/**
* 构造函数
*/
public TestToJPanel(){
//设置页面的基本信息
this.setSize(Toolkit.getDefaultToolkit().getScreenSize());//全屏显示Toolkit.getDefaultToolkit().getScreenSize()
this.setTitle("图");
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//拦截关闭窗口事件
}
public void init(){
String shu[]={"第1个组件","第2个组件","第3个组件","第4个组件","第5个组件"};
panel1[0]=new JPanel(new GridLayout(1, 1));
panel1[0].add("添加进第一个所要建立的组件-shu[0]");
conpanel.add(panel1[0]);
this.getContentPane().add(conpanel);
queryPanle();//进入定时切换JPanel方法
}
/**
* 定时切换JPanel
*/
public void queryPanle(){
Timer swt = new Timer(
60000,
new ActionListener(){
public void actionPerformed(ActionEvent ae){
String shu[]={"第1个组件","第2个组件","第3个组件","第4个组件","第5个组件"};
if(shu.length>=2){
//System.out.println("移除:"+t);
conpanel.remove(panel1[t]);
if(t==0){
t++;
//System.out.println("增加:"+t);
if(panel1[t]==null){
panel1[t]=new JPanel(new GridLayout(1, 1));
panel1[t].add("添加进所要建立的组件-shu[t]");
}
conpanel.add(panel1[t]);
}else{
if(shu.length>2){
t++;
if(t<=shu.length){
//System.out.println("增加:"+t);
if(panel1[t]==null){
panel1[t]=new JPanel(new GridLayout(1, 1));
panel1[t].add("添加进所要建立的组件-shu[t]");
}
conpanel.add(panel1[t]);
}else{
t=0;
//System.out.println("增加:"+t);
if(panel1[t]==null){
panel1[t]=new JPanel(new GridLayout(1, 1));
panel1[t].add("添加进所要建立的组件-shu[t]");
}
conpanel.add(panel1[t]);
}
}else{
t--;
//System.out.println("增加:"+t);
if(panel1[t]==null){
panel1[t]=new JPanel(new GridLayout(1, 1));
panel1[t].add("添加进所要建立的组件-shu[t]");
}
conpanel.add(panel1[t]);
}
}
conpanel.revalidate();
conpanel.repaint();
}
}}
);
swt.start();
}
public static void main(String[] args){
TestToJPanel ttjp=new TestToJPanel();
ttjp.init();
ttjp.setVisible(true);
}
}
分享到:
相关推荐
这是刚刚上传的,也是找了好久,其他人的都死要钱,死要分数,动辄就是五六十积分,好几十分,有需要的赶紧下载,对你有帮助最好,没帮助也别强求,太难找了。
swing多个布局切换实例,就是一个小demo
java Swing多Jpanel仿安卓苹果桌面动态切换滑动效果
java Swing多Jpanel仿安卓苹果桌面动态切换滑动效果
此面板继承自JPanel,放置其上的组件能够根据面板大小的变化,重新计算新的组件位置,从而实现自适应布局,详细使用方法请见源码注释
Java绘图和JPanel容器
Java GUI 编程中,无法像C#一样向一个Panel中插入背景图片,这里在网上搜索了一个可以插入背景的Jpanel。 跟大家共享一下,也许你已经下载过,但主要还是方便那些还没有找到的人。
对于初学者来说,这还是不错的资源,这个源程序实现在面板中加载一些图片,还是不错的啊!!!
PageNumDemo.java
如何卸载JPanel面板
通过Java实现JPanel版俄罗斯方块,包括图片资源。
java使用swing技术实现迷宫制造,包括追赶着,移动着以及倒计时,无墙模式设置等等。可设置追赶者数目、追赶者时间等,以及拆墙次数
整个大鱼吃小鱼的完整代码,打包成压缩文件,上传可供下载
JPanel_Example.java
基于Java 的画图程序,解压后直接打开工程,可以画出直线,园,线,点。需要其它图形可以自己设计,需要继承shape类;IDE环境为JCreator 4.5和JDK 1.5;
Java绘图和JPanel容器
NULL 博文链接:https://javapub.iteye.com/blog/764681
对java Swing窗体的一个例子应用
具有圆形边框,阴影和抗锯齿的可重复使用的JPanel扩展