Java究竟怎么玩?http://blog.csdn.net/cping1982

菩提本无树,明镜亦非台,本来无一物,何处惹尘埃

用户操作
[即时聊天] [发私信] [加为好友]
鹏凌三千(cping1982)ID:cping1982
151653次访问,排名515好友27人,关注者33
机密……
cping1982的文章
原创 140 篇
翻译 0 篇
转载 39 篇
评论 308 篇
鹏凌三千(cping1982)的公告
本博评论删除规则如下:

1、辱骂性发言,无视其辱骂对象,一律删。

2、登录发表的评论,不违背第一条者一律不删。非登录发表的评论,过激者删。

3、若发生例外情况,则为CSDN博客系统自动删除。

声援SOFF|声援珊瑚虫:如果你是珊瑚虫用户,请坚决力挺声援珊瑚虫!

平生进退如飙风,一睨人才天下空。独向苍天横冷剑,何必生我惭英雄。

本人有效BLOG:

cping1982

ceponline

音乐:

风姿花传

ドラグ.スレイブ

ヒカルの碁

Believe

世界で一番ヤバイ恋

あんなに一緒だった

精忠报国

谁是大英雄

随遇而安

明天会吹什么风

逍遥游

爱江山更爱美人

最近评论
sisharen:可以发个install4j的破解版给我吗?万分感谢啊!我找了很久都没找到,我的邮箱是qqyongqiangqq@126.com
sisharen:不错!我喜欢这篇文章!
sisharen:我把这样制作出来的rt.jar替换原来我可以运行的原89M里面的45M的rt.jar,不行啊
sisharen:我把这样制作出来的rt.jar替换原来我可以运行的原89M里面的45M的rt.jar,不行啊
sisharen:怎么我怎么搞都不成功的啊,楼主帮下忙啊
文章分类
收藏
    相册
    Java的PC游戏开发
    Java中的A*(A star)寻径实现
    Java仿雷电及其源代码
    Java制作的类祖码游戏-数字祖码
    Java实现窗体中角色逐渐风化效果
    Java版吃豆游戏
    人生如梦游戏间,RPG游戏开源开发讲座(JAVA篇)[2]——踏破红尘
    Java[伪]寻径追踪实现
    JAVA中[人工无脑]系统(chatbot)的实现
    Java中2.5D游戏(斜45度角)的设计与实现(1)
    Java中2.5D游戏(斜45度角)的设计与实现(2)
    Java仿太阁立志传5
    JAVA图形操作中FPS的计算(附带随机生成乱数球体用例)
    JAVA实现拼图游戏
    Java来做马里奥[0]—让精灵再次舞动
    Java来做马里奥[1]—木叶传承
    Java来做马里奥[2]—食不厌精
    Java来做马里奥[3]—杂兵登场
    Java模拟桌球打击处理及绘制
    Java汉诺塔测试
    Java炸弹人实现及源码
    人生如梦游戏间,JAVA游戏开源开发讲座[番外篇]之AVG开发——皮影
    人生如梦游戏间,RPG游戏开源开发讲座(JAVA篇)[0]——月晕础润
    人生如梦游戏间,RPG游戏开源开发讲座(JAVA篇)[1]——风云初现
    人生如梦游戏间,RPG游戏开源开发讲座(JAVA篇)[3]——邯郸学步
    人生如梦游戏间,RPG游戏开源开发讲座(JAVA篇)[4]——一步莲华
    人生如梦游戏间,RPG游戏开源开发讲座(JAVA篇)[5]——一树双花
    人生如梦游戏间,RPG游戏开源开发讲座(JAVA篇)[6]——走马观花
    史上最扯Java图形绘制(J2SE)之一JAVA动画效果
    沉寂的国人开源项目
    bo-blog(blog系统,php项目)
    DockPanel Suite [Microsoft .NET Framework Winform UI]
    Hocate web framework[web框架]
    Loonframework-DAO[持久层框架]
    Loonframework-GAME[游戏框架,尚未发布]
    Loonframework-WEB[web框架,尚未发布]
    Luntbuild(软件管理工具)
    magike(php博客)
    myseelite(p2p流媒体系统,c++项目)
    newxy(新坐标)[web框架]
    opencrx(crm系统)
    redlion(web框架)
    x2blog(asp.net博客系统)
    YOYOPlayer(音乐播放器)
    袋鼠egg(服务器)
    经典Blog
    # gzfqh的专栏 →底层代码研究(病毒及汇编)(RSS)
    # java 3D 游戏编程(RSS)
    ApoGames(德国某人的Java游戏作品展示)
    Struts框架应用
    Struts框架应用~
    千里冰封[JAVA 浓香四溢]
    网络安全圈子
    经典站点
    Google
    IBM中国站
    JavaGame开发论坛
    JAVA开源大全
    Java爱好者
    Struts标签文档
    SUN 中国社区
    中国IT实验室
    数据库专区
    偶的其它应用实例
    C#将图像文件压缩为AVI文件播放
    Java&.Net虚拟机精简(GreenJVM&GreenDotNet发布)
    Java图形程序水纹倒映效果
    Java输出竖排古典文字
    .NET在线漫画下载程序
    C#转换AVI文件为BMP文件
    ClassLoader调用外部jar包
    ExtJS2.0开发与实践笔记[0]——初识ExtJS
    ExtJS2.0开发与实践笔记[1]——ExtJS中的Dialog与Form
    ExtJS2.0开发与实践笔记[2]——Ext中的Layout
    ExtJS2.0开发与实践笔记[3]——Ext中的Menu
    ExtJS2.0开发与实践笔记[4]——Ext中的动画处理
    JavaFx实现(1)-渐变效果
    JavaFx实现(2)-随机图形绘制
    Java中DAO的实现
    Java中Image翻转操作
    Java中将byte[]转为Blob对象
    Java中的A*(A star)寻径实现
    Java制作绿色软件(GreenJVM_0.1.0发布)
    JAVA图形操作类
    Java图形程序中的对话逐字显示实现
    Java实现任意文件在bmp中的隐藏与导出
    JAVA实现可设置背景的MDI窗口
    Java实现嵌入式数据库(文本数据库)代码实例
    Java实现类Windows导航栏
    Java正则表达式入门
    JAVA版JAVA IDE环境(源码)
    JAVA线程池的简单实现及优先级设置
    Java自定义JSlider UI
    Java获得系统环境变量
    Java音乐播放类
    ResultSet转为实体对象
    SWT行,AWT/Swing也行系列(1)-实现半透明及不规则窗体
    在JTable中加载进度条及进行操作
    在Swing中使用Html标签
    在SWT中使用ChartDirector
    浅谈java.util.concurrent包的并发处理
    浅谈Java集合中Array(数组)的应用
    精简JRE体积
    通过exe启动class
    偶的文章
    《三国以后有几国》
    中国本土化编程(汉语编程)之我见
    从珊瑚虫事件,看为什么中国出不了比尔.盖茨
    佛与专家
    叹今人无气节而作歌
    国产开源项目的七宗罪
    对Hibernate使用之愚见
    对Java(J2SE PC)开发之怪现象之我见
    浅谈命名规范[纯属强辩]
    灭了珊瑚虫,下一个是谁?
    率性而作无题歌一首
    百度对“十进制网络”的官方态度
    耻民
    论番茄花园的倒掉
    存档
    软件项目交易
    订阅我的博客
    XML聚合  FeedSky
    订阅到鲜果
    订阅到Google
    订阅到抓虾
    订阅到BlogLines
    订阅到Yahoo
    订阅到GouGou
    订阅到飞鸽
    订阅到Rojo
    订阅到newsgator
    订阅到netvibes

    原创 JAVA实现可设置背景的MDI窗口收藏

    新一篇: Java制作的类祖码游戏-数字祖码 | 旧一篇: 在Swing中使用Html标签

      我们都知道,MDI(Multiple Document Interface)即多文档界面。使用MDI窗体时,将在一个父窗体内建立工作区,父窗体能够令一个以上的子窗体限制于其中活动及操作。在office系列及VS/VS.Net等很多软件中都使用了MDI的表现形式。
       而遗憾的是,虽然很多编程语言都提供了显著的MDI属性,但Java却算是个例外,基本上只能通过JDesktopPane结合JInternalFrame进行实现,而且局限性也比较多。
      其实,利用Swing完成MDI,还有更简单的捷径可循。
      下面,我给出一个简单的例子:
     
    package org.loon.test;
    /**
     * <p>Title: LoonFramework</p>
     * <p>Description:</p>
     * <p>Copyright: Copyright (c) 2007</p>
     * <p>Company: LoonFramework</p>
     * 
    @author chenpeng  
     * @email:ceponline@yahoo.com.cn 
     * 
    @version 0.1
     
    */

    import javax.imageio.ImageIO;
    import javax.swing.BorderFactory;
    import javax.swing.JFrame;
    import javax.swing.JLabel;
    import javax.swing.JLayeredPane;
    import javax.swing.JPanel;
    import javax.swing.JTextArea;
    import javax.swing.SwingConstants;
    import javax.swing.WindowConstants;
    import javax.swing.border.Border;

    import java.awt.BorderLayout;
    import java.awt.Color;
    import java.awt.Dimension;
    import java.awt.EventQueue;
    import java.awt.Font;
    import java.awt.Graphics;
    import java.awt.Image;
    import java.awt.Insets;
    import java.awt.Point;
    import java.awt.event.MouseEvent;
    import java.awt.event.MouseListener;
    import java.awt.event.MouseMotionListener;
    import java.io.IOException;



    public class JavaMDI extends JPanel {
        
    /**
         * 
         
    */

        
    private static final long serialVersionUID = 1L;


        
    private static final int BACKLAYER = 1;

        
        Font FONT 
    = new Font("宋体", Font.PLAIN, 12);

        
    private final BackImagePane layerPane;
        
    //子窗体背景色
        private int[] colors = 0xdddddd0xaaaaff0xffaaaa0xaaffaa0xffffaa0xffaaff0xaaffff , 0xddddff};
      
        
    private Color getColor(int i, float f) {
            
    int b = (int)((i & 0xff* f);
            i 
    = i >> 8;
            
    int g = (int)((i & 0xff* f);
            i 
    = i >> 8;
            
    int r = (int)((i & 0xff* f);
            
    return new Color(r,g,b);
        }


        
    public JavaMDI() {
            
    super(new BorderLayout());
            
            Image image;
            
    try {
                image 
    = ImageIO.read(getClass().getResource("javamdi.jpg"));
            }
     catch (IOException e) {
                image
    =null;
            }

            layerPane 
    = new BackImagePane();
            layerPane.setImage(image);

            
    //随机生成个子面板,作为内部窗体,实际使用时替换JPanel内部容器即可。
            for (int i=0; i<colors.length; i++{
                JPanel p 
    = createChildPanel(i);
                p.setLocation(i
    *80 + 20, i*50 + 15);
                layerPane.add(p, BACKLAYER);
            }

            add(layerPane, BorderLayout.CENTER);
            
        }



        
    /**
         * 创建子面板,作为在内部移动的窗体
         * 
    @param i
         * 
    @return
         
    */

        
    private JPanel createChildPanel(int i) {
            
    //使用html标记设定颜色
            String html = "<html><font color=#333333> 子窗体ID "+ i +"</font></html>";
            JLabel label 
    = new JLabel(html);
            label.setFont(FONT);
            label.setOpaque(
    true);
            label.setHorizontalAlignment(SwingConstants.CENTER);
            
    //设定背景色
            label.setBackground(getColor(colors[i], 0.85f));
            
    //设定边距
            Border border1 = BorderFactory.createEmptyBorder(4444);;
            label.setBorder(border1);

            JTextArea text 
    = new JTextArea();
            text.setBackground( 
    new Color(colors[i]));
            text.setMargin(
    new Insets(4,4,4,4));
            text.setLineWrap(
    true);

            JPanel p 
    = new JPanel();

            Color col 
    = getColor(colors[i], 0.5f);
            Border border 
    = BorderFactory.createLineBorder(col, 1);
            p.setBorder(border);

            
    //移动监听
            DragMouseListener  li = new DragMouseListener(p);
            p.addMouseListener(li);
            p.addMouseMotionListener(li);

            p.setLayout( 
    new BorderLayout());
            p.add(label, BorderLayout.NORTH);
            p.add(text, BorderLayout.CENTER);
            
    //子窗体大小
            p.setSize( new Dimension(200150));
            
    return p;
        }



        
    /**
         * 子窗体拖拽监听
         * 
    @author chenpeng
         *
         
    */

        
    class DragMouseListener implements MouseListener, MouseMotionListener {
            Point origin;
            JPanel panel;

            DragMouseListener(JPanel p) 
    {
                panel 
    = p;
            }

            
    public void mousePressed(MouseEvent e) {
                origin 
    = new Point( e.getX(), e.getY());
                
    //移动
                layerPane.moveToFront(panel);
            }

            
    public void mouseDragged(MouseEvent e) {
                
    if (origin == nullreturn;
                
    int dx = e.getX() - origin.x;
                
    int dy = e.getY() - origin.y;
                Point p 
    = panel.getLocation();
                panel.setLocation( p.x 
    + dx, p.y + dy);
            }


            
    public void mouseClicked(MouseEvent e) {}
            
    public void mouseEntered(MouseEvent e) {}
            
    public void mouseExited(MouseEvent e) {}
            
    public void mouseReleased(MouseEvent e) {}
            
    public void mouseMoved(MouseEvent e) {}
        }


        
    //用分层面板JLayeredPane制作MDI背景
        class BackImagePane extends JLayeredPane {
            
    /**
             * 
             
    */

            
    private static final long serialVersionUID = 1L;

            
    public BackImagePane() {
                
    super();
            }


            
    void setImage(Image img) {
                bgImage 
    = img;
            }

            
    private Image bgImage;

            
    public void paint(Graphics g) {
                
    if (bgImage != null{
                    
    int imageh = bgImage.getHeight(null);
                    
    int imagew = bgImage.getWidth(null);
                    Dimension d 
    = getSize();
                    
    for(int h=0; h<d.getHeight(); h += imageh) {
                        
    for(int w=0; w<d.getWidth(); w += imagew) {
                            g.drawImage(bgImage, w, h, 
    this);
                        }

                    }

                }

                
    super.paint(g);
            }

        }


        
    public static void main(String[] args) {
            EventQueue.invokeLater(
    new Runnable() {
                
    public void run() {
                    createGUI();
                }

            }
    );
        }

        
    public static void createGUI() {
            
    final JFrame frame = new JFrame("JAVA实现可设置背景的MDI窗口");
            frame.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
            frame.setSize(
    new Dimension(800600));
            frame.getContentPane().add(
    new JavaMDI());
            frame.setAlwaysOnTop(
    true);
            frame.setLocationRelativeTo(
    null);
            frame.setVisible(
    true);
        }

    }




    效果图如下:

    发表于 @ 2007年12月26日 16:47:00|评论(loading...)|编辑

    新一篇: Java制作的类祖码游戏-数字祖码 | 旧一篇: 在Swing中使用Html标签

    评论:没有评论。

    发表评论  


    登录
    Csdn Blog version 3.1a
    Copyright © 鹏凌三千(cping1982)