繁体   English   中英

如何将9补丁图像用作JPanel上的背景?

[英]How use a 9-patch image as background on a JPanel?

我正在寻找一种使用9补丁文件作为javax.swing.JPanel的背景的方法。 因此,当JPanel的尺寸更改时,背景图像会自动调整其大小。

可能吗? 还是我必须创建图像的所有部分,并在侦听器触发时手动调整其中一些的大小(例如下面的代码)?

public class JPanelWithNinePatchBackground extends JPanel { 
{ 
    /* Define all parts of the background like BufferedImage */

    addComponentListener(new ComponentAdapter() { 
        public void componentResized(ComponentEvent e) { 

            // Resize images . . . 

            JPanelWithBackground.this.repaint(); 
        } 
    });

    /* . . . */

}

是的,请使用drawImage()实现中的任一个,它们可以指定目标矩形的角。 如果源矩形和目标矩形的大小匹配,则该方法将更快地完成。 RCTile就是一个例子。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM