如何在没有类的情况下绘制对象(扩展了JFrame)?我找到了getGraphics方法,但它没有绘制对象。import javax.swing.*;import java.awt.*;public class Main { public static void main(String[] args) { JFrame frame = new JFrame(); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.setVisible(true); frame.setSize(600, 400); JPanel panel = new JPanel(); frame.add(panel); Graphics g = panel.getGraphics(); g.setColor(Color.BLUE); g.fillRect(0, 0, 100, 100); }}
3 回答
GCT1015
TA贡献1827条经验 获得超4个赞
您必须重写JPanel类中的paintComponent方法。因此,您应该创建一个扩展JPanel的类并在子类中重写paintComponent方法
幕布斯6054654
TA贡献1876条经验 获得超7个赞
java.awt.image.BufferedImage
为什么不只使用的实例java.awt.image.BufferedImage呢?例如
BufferedImage output = new BufferedImage(600, 400, BufferedImage.TYPE_INT_RGB);
Graphics2D g2 = output.createGraphics();
g2.setRenderingHint(RenderingHints.KEY_ANTIALIASING,
RenderingHints.VALUE_ANTIALIAS_ON);
g2.setColor(Color.WHITE);
g2.fillRect(0, 0, output.getWidth(), output.getHeight());
g2.setColor(Color.BLUE);
g2.fillRect(0, 0, 100, 100);
JOptionPane.showMessageDialog(null, new ImageIcon(output));
添加回答
举报
0/150
提交
取消