import javax.swing.*; import java.awt.Graphics; import java.awt.Graphics2D; import java.awt.RenderingHints; import java.awt.geom.*; import java.awt.TexturePaint; import java.awt.image.BufferedImage; import java.io.File; import javax.imageio.ImageIO; import java.io.IOException; public class PaintTest4 extends JPanel{ public static void main(String[] args){ JFrame frame = new JFrame(); PaintTest4 app = new PaintTest4(); frame.getContentPane().add(app); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.setBounds(10, 10, 300, 200); frame.setTitle("ƒ^ƒCƒgƒ‹"); frame.setVisible(true); } public void paintComponent(Graphics g){ Graphics2D g2 = (Graphics2D)g; BufferedImage img = new BufferedImage(45, 59, BufferedImage.TYPE_INT_RGB); File f = new File("./a_horse.gif"); try { img = ImageIO.read(f); }catch (IOException ex){ ex.printStackTrace(); } Rectangle2D.Double rec = new Rectangle2D.Double(0, 0, img.getWidth(), img.getHeight()); g2.setPaint(new TexturePaint(img, rec)); g2.fill(new Rectangle2D.Double(20, 20, 200, 130)); } }