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

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

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

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

    第一.當(dāng)然是效果圖啦;


    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

    導(dǎo)航

    統(tǒng)計

    公告

    不顯示applet

    常用鏈接

    留言簿(16)

    我參與的團(tuán)隊

    隨筆檔案

    文章分類

    文章檔案

    新聞檔案

    相冊

    swingchina 專業(yè)搞Swing的網(wǎng)站

    搜索

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 我的小后妈韩剧在线看免费高清版| 国产真人无遮挡作爱免费视频| 亚洲一卡2卡3卡4卡国产网站| 亚洲日韩国产精品乱-久| 国产青草视频在线观看免费影院| 杨幂最新免费特级毛片| 亚洲va在线va天堂va不卡下载| 99久久这里只精品国产免费| 日韩一区二区三区免费播放| 亚洲午夜视频在线观看| 国产成人免费全部网站| 精品国产一区二区三区免费| 亚洲人av高清无码| 亚洲国产精品无码专区影院 | 69式互添免费视频| 精品亚洲综合久久中文字幕| 国产免费不卡v片在线观看| 成人一级免费视频| 精品亚洲成在人线AV无码| AV在线亚洲男人的天堂| 最近高清中文字幕无吗免费看| 一本岛v免费不卡一二三区| 亚洲国产成人a精品不卡在线| 国产精品亚洲а∨天堂2021 | 亚洲色WWW成人永久网址| 最近免费中文字幕视频高清在线看| 二个人看的www免费视频| 亚洲欧洲无码AV不卡在线 | 国产黄片不卡免费| 中文字幕无码亚洲欧洲日韩| 久久国产亚洲电影天堂| 国产一级淫片视频免费看| 日本免费xxxx| 一区二区免费视频| 亚洲国产精品一区二区三区在线观看| 精品亚洲一区二区三区在线观看 | 国产在线观看免费不卡| 国色精品卡一卡2卡3卡4卡免费| 永久免费A∨片在线观看| www在线观看播放免费视频日本| 亚洲精品国产精品|