我正在寻找一种使用 9-patch 的方法文件作为 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
是一个例子。
关于java - 如何在 JPanel 上使用 9 补丁图像作为背景?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18161768/