如何在java Applet中使用带有绘图事件的箭头绘制矩形
像FaceBook消息:
答案 0 :(得分:4)
我正在尝试使用多边形和矩形。
在玩Area
个对象时,我一直忘记使用Shape
课程。
您可以使用add(...)
方法将两个Shapes一起添加,然后绘制它们:
import java.awt.*;
import java.awt.geom.*;
import javax.swing.*;
public class BalloonRectangle extends JPanel
{
@Override
protected void paintComponent(Graphics g)
{
super.paintComponent(g);
Graphics2D g2d = (Graphics2D) g.create();
Rectangle rectangle = new Rectangle(0, 0, 150, 50);
Polygon triangle = new Polygon();
triangle.addPoint(0, 0);
triangle.addPoint(10, 5);
triangle.addPoint(0, 10);
triangle.translate(150, 10);
Area balloon = new Area( rectangle );
balloon.add( new Area( triangle ) );
g2d.translate(50, 50);
g2d.setColor( Color.YELLOW );
g2d.fill( balloon );
g2d.setColor( Color.GRAY );
g2d.draw( balloon );
g2d.dispose();
}
private static void createAndShowGUI()
{
JFrame frame = new JFrame("BalloonRectangle");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.add( new BalloonRectangle() );
frame.setLocationByPlatform( true );
frame.setSize(250, 200);
frame.setVisible( true );
}
public static void main(String[] args)
{
EventQueue.invokeLater(new Runnable()
{
public void run()
{
createAndShowGUI();
}
});
}
}
您还可以查看Playing With Shapes以获取更多想法。
答案 1 :(得分:2)
我无法看到您的图像,但如果您想绘制几何图元的组合,则可以使用诸如Rectangle2D和Polygon之类的形状,并使用Graphics2D实例填充它们。不要直接在JApplet的paint方法中绘制,而是在applet显示的JPanel的paintComponent方法中绘制。