<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的網站

    搜索

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 亚洲最新永久在线观看| 亚洲国产日韩成人综合天堂| 久久精品国产亚洲av四虎| 成年网站免费入口在线观看| 国产一区二区三区免费在线观看 | 精品亚洲国产成人| 无码av免费毛片一区二区| 亚洲国产精品成人精品小说| 91精品国产免费久久久久久青草| 亚洲成年人免费网站| av无码久久久久不卡免费网站| 亚洲第一页中文字幕| 久久久久久久免费视频| 亚洲精品美女久久久久久久| 国产乱子影视频上线免费观看| 边摸边吃奶边做爽免费视频网站| 亚洲av无码成人精品区| 男人天堂免费视频| 亚洲综合亚洲国产尤物| 成人无遮挡裸免费视频在线观看 | 国精无码欧精品亚洲一区 | 九九视频高清视频免费观看 | 性xxxxx免费视频播放 | 永久在线观看免费视频| 亚洲电影唐人社一区二区| 扒开双腿猛进入爽爽免费视频 | 黄色网站软件app在线观看免费 | 午夜国产精品免费观看| 99亚洲乱人伦aⅴ精品| 亚洲国产三级在线观看| 国产精品爱啪在线线免费观看| 亚洲AV成人精品日韩一区| 成人午夜亚洲精品无码网站| 曰批全过程免费视频播放网站| 亚洲成熟丰满熟妇高潮XXXXX| 国产成人高清亚洲| 一个人免费观看在线视频www| 搜日本一区二区三区免费高清视频 | 亚洲国产精品成人| 中国人xxxxx69免费视频| 老湿机一区午夜精品免费福利|