<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 相信 閱讀(887) 評論(0)  編輯  收藏 所屬分類: Swing文章

    <2025年7月>
    293012345
    6789101112
    13141516171819
    20212223242526
    272829303112
    3456789

    導航

    統計

    公告

    不顯示applet

    常用鏈接

    留言簿(16)

    我參與的團隊

    隨筆檔案

    文章分類

    文章檔案

    新聞檔案

    相冊

    swingchina 專業搞Swing的網站

    搜索

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 最近的免费中文字幕视频| 亚洲国产日产无码精品| 女人被男人桶得好爽免费视频 | 一个人看的www在线观看免费| 国产免费一区二区三区免费视频 | 久久久久久99av无码免费网站| 两个人看的www免费视频| 亚洲精品无码久久久久久| 亚洲视频在线免费看| 亚洲精品无码精品mV在线观看| 免费播放春色aⅴ视频| 狠狠久久永久免费观看| 成年私人影院免费视频网站| 最近中文字幕mv免费高清视频8| 拍拍拍无挡免费视频网站| 一级毛片在播放免费| 美女露100%胸无遮挡免费观看| 中文字幕在线日亚洲9| 亚洲一级免费毛片| 亚洲国产精品白丝在线观看| 亚洲一区影音先锋色资源| 亚洲午夜福利在线观看| 久久精品国产精品亚洲下载| 亚洲国产一区视频| 亚洲高清免费视频| 亚洲AV无码一区二三区| 亚洲国产精品自在拍在线播放| 国产免费观看网站| 国产免费无遮挡精品视频| 国产精品免费看香蕉| 又大又粗又爽a级毛片免费看| 日韩精品视频免费观看| 日本大片在线看黄a∨免费| 大学生a级毛片免费观看 | 亚洲精品乱码久久久久久蜜桃图片| 久久精品亚洲AV久久久无码| 亚洲91精品麻豆国产系列在线| 亚洲fuli在线观看| 亚洲一区二区三区乱码在线欧洲| 天天爽亚洲中文字幕| 亚洲风情亚Aⅴ在线发布|