<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    小試大刀(Border:我也能這么漂亮!!!)

    第一.當然是效果圖啦;


    package ImageBorder;

    import java.awt.Graphics;
    import java.awt.image.BufferedImage;
    import java.awt.*;
    import javax.swing.border.AbstractBorder;

    public class ImageBorder extends AbstractBorder {
        

        Image top_center, top_left, top_right;
        Image left_center, right_center;
        Image bottom_center, bottom_left, bottom_right;
        Insets insets;
        
        
    public ImageBorder(Image top_left, Image top_center, Image top_right,
            Image left_center, Image right_center,
            Image bottom_left, Image bottom_center, Image bottom_right) 
    {
                
            
    this.top_left = top_left;
            
    this.top_center = top_center;
            
    this.top_right = top_right;
            
    this.left_center = left_center;
            
    this.right_center = right_center;
            
    this.bottom_left = bottom_left;
            
    this.bottom_center = bottom_center;
            
    this.bottom_right = bottom_right;
        }

        
        
    public void setInsets(Insets insets) {
            
    this.insets = insets;
        }

        
        
    public Insets getBorderInsets(Component c) {
            
    if(insets != null{
                
    return insets;
            }
     else {
                
    return new Insets(top_center.getHeight(null),left_center.getWidth(null),
                    bottom_center.getHeight(
    null), right_center.getWidth(null));
            }

        }

        
        
        
    public void paintBorder(Component c, Graphics g, int x, int y, int width, int height) {
            g.setColor(Color.white);
            g.fillRect(x,y,width,height);

            Graphics2D g2 
    = (Graphics2D)g;
            

            int tlw = top_left.getWidth(null);
            
    int tlh = top_left.getHeight(null);
            
    int tcw = top_center.getWidth(null);
            
    int tch = top_center.getHeight(null);
            
    int trw = top_right.getWidth(null);
            
    int trh = top_right.getHeight(null);
            
            
    int lcw = left_center.getWidth(null);
            
    int lch = left_center.getHeight(null);
            
    int rcw = right_center.getWidth(null);
            
    int rch = right_center.getHeight(null);
            
            
    int blw = bottom_left.getWidth(null);
            
    int blh = bottom_left.getHeight(null);
            
    int bcw = bottom_center.getWidth(null);
            
    int bch = bottom_center.getHeight(null);
            
    int brw = bottom_right.getWidth(null);
            
    int brh = bottom_right.getHeight(null);
            
            

            fillTexture(g2,top_left,      x,            
              y,            tlw,           tlh);
            fillTexture(g2,top_center,    x
    +tlw,        
              y,            width
    -tlw-trw, tch);
            fillTexture(g2,top_right,     x
    +width-trw,  y,            trw,           trh);
            
            fillTexture(g2,left_center,   x,            y
    +tlh,        lcw,           height-tlh-blh);
            fillTexture(g2,right_center,  x
    +width-rcw,  y+trh,        rcw,           height-trh-brh);
            
            fillTexture(g2,bottom_left,   x,            y
    +height-blh, blw,           blh);
            fillTexture(g2,bottom_center, x
    +blw,        y+height-bch, width-blw-brw, bch);
            fillTexture(g2,bottom_right,  x
    +width-brw,  y+height-brh, brw,           brh);
        }

        
        
    public void fillTexture(Graphics2D g2, Image img, int x, int y, int w, int h) {
            

            BufferedImage buff = createBufferedImage(img);
            Rectangle anchor 
    = new Rectangle(x,y,
                img.getWidth(
    null),img.getHeight(null));
            TexturePaint paint 
    = new TexturePaint(buff,anchor);
            g2.setPaint(paint);
            g2.fillRect(x,y,w,h);
        }

        public BufferedImage createBufferedImage(Image img) {
            BufferedImage buff 
    = new BufferedImage(img.getWidth(null), 
                img.getHeight(
    null), BufferedImage.TYPE_INT_ARGB);
            Graphics gfx 
    = buff.createGraphics();
            gfx.drawImage(img, 
    00null);
            gfx.dispose(); 

            return buff;
        }

    }



    Main;
    package ImageBorder;

    import java.awt.*;
    import java.awt.image.BufferedImage;
    import javax.swing.*;
    import javax.swing.border.*;

    public class ImageBorderDemo {

        
    public static void main(String[] args) {
            JFrame frame 
    = new JFrame("照片邊框");
            frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
            JPanel panel 
    = new JPanel();
            JButton button 
    = new JButton("這里放個美女就更好看了");
            panel.add(button)
            
            ImageBorder image_border 
    = new ImageBorder(
                
    new ImageIcon("images/upper_left.png").getImage(),
                
    new ImageIcon("images/upper.png").getImage(),
                
    new ImageIcon("images/upper_right.png").getImage(),

                
    new ImageIcon("images/left_center.png").getImage(),
                
    new ImageIcon("images/right_center.png").getImage(),

                
    new ImageIcon("images/bottom_left.png").getImage(),
                
    new ImageIcon("images/bottom_center.png").getImage(),
                
    new ImageIcon("images/bottom_right.png").getImage()
                );
            panel.setBorder(image_border);

            
            frame.getContentPane().add(panel);
            frame.pack();
            
    //frame.setSize(200,200);
            frame.setVisible(true);
        }


    }



    posted on 2008-05-26 14:20 相信 閱讀(884) 評論(0)  編輯  收藏 所屬分類: Swing文章

    <2025年5月>
    27282930123
    45678910
    11121314151617
    18192021222324
    25262728293031
    1234567

    導航

    統計

    公告

    不顯示applet

    常用鏈接

    留言簿(16)

    我參與的團隊

    隨筆檔案

    文章分類

    文章檔案

    新聞檔案

    相冊

    swingchina 專業搞Swing的網站

    搜索

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 国产大片91精品免费观看男同| 亚洲6080yy久久无码产自国产 | 亚洲一区二区三区精品视频| 99在线观看视频免费| 亚洲A∨无码一区二区三区| 波多野结衣免费一区视频| 亚洲中文字幕久久精品无码喷水 | 亚洲中文无韩国r级电影 | 美女被免费喷白浆视频| 激情综合亚洲色婷婷五月| 免费无码肉片在线观看| 亚洲日韩中文字幕一区| 免费观看理论片毛片| 国产精品国产亚洲区艳妇糸列短篇| 国产免费69成人精品视频| 瑟瑟网站免费网站入口| 亚洲国产精品日韩| 丁香花在线观看免费观看图片| 亚洲日韩小电影在线观看| 男女作爱在线播放免费网站| 久久亚洲私人国产精品vA| 波多野结衣在线免费视频| 亚洲免费福利在线视频| 在线免费观看韩国a视频| 日韩久久无码免费毛片软件| 亚洲无码在线播放| 久久免费观看国产精品| 亚洲国产视频网站| 日韩免费高清视频| 思思久久99热免费精品6| 亚洲精品无码永久在线观看你懂的 | j8又粗又长又硬又爽免费视频 | 亚洲av无码专区在线观看亚| 亚洲精品线路一在线观看| 免费看黄的成人APP| 亚洲欧洲日产国码二区首页| 在线免费观看一级片| 一道本不卡免费视频| 亚洲人成电影在线天堂| 在线观看免费高清视频| 无套内射无矿码免费看黄|