我希望有一个绘制矩形的方法,另一个绘制椭圆的方法,另一个绘制线条,图像等。
我尝试过在网上找到的多种技术,但都没有。这是唯一一个没有崩溃的,也是我现在拥有的那个:
@Override
public void paintComponent(Graphics g){
super.paintComponents(g);
}
public void DrawRect(int x, int y, int width, int height, Color color){
Graphics2D g2D = image.createGraphics();
g2D.setColor(Color.RED);
g2D.fillRect(x, y, width, height);
//g2D.dispose();
//g2D=null;
}
但它并没有真正显示任何东西。
答案 0 :(得分:1)
但它并没有真正展示任何东西
非常自然,您没有将图形上下文链接到绘图功能。这是一个修复:
@Override
public void paintComponent(Graphics g){
super.paintComponents(g);
DrawRect(g, 10, 10, 20, 20, Color.blue);
}
private void DrawRect(Graphics g, int x, int y,
int width, int height, Color color){
Graphics2D g2D = (Graphics2D) g;
g2D.setColor(Color.RED);
g2D.fillRect(x, y, width, height);
//g2D.dispose();
//g2D=null;
}
或者,等效地,您可以创建自己myDrawingPanel.createGraphics();
的上下文并手动调用该函数(删除graphics
参数)
按下按钮时绘制:
1)放一张JPanel来画画。
2)从新类MyPanel extends JPanel
制作JPanel对象,并覆盖paint
方法。 (或使用匿名类myPanel = new JPanel() { @Override ... }
)。 提示如果您使用的是NetBeans,则可以在设计师处编辑属性on variable created code
3)单击该按钮时,只需调用myPanel.repaint();
重绘