2
好,所以我一直試圖找出過去26小時的指導和在線幫助,但沒有成功。覆蓋paintComponent
所有我想要做的就是繪製一個橢圓當PaintPanel 用戶點擊請人幫忙,所以我可以睡:P
在PaintApplet類:
private void PaintPanelMouseClicked(java.awt.event.MouseEvent evt) {
// TODO add your handling code here:
if(FillRadioButton.isSelected())
{
PaintPanel.setBackground(JColor.getColor());
PaintPanel.repaint();
}
if(BrushRadioButton.isSelected())
{
Point ComponentPoint = PaintPanel.getLocationOnScreen();
PaintPanel.add(new Painter(ComponentPoint));
}
}
畫家類別:
import java.awt.Color;
import java.awt.Dimension;
import java.awt.Graphics;
import java.awt.Graphics2D;
import javax.swing.JFrame;
import javax.swing.JPanel;
import java.awt.*;
public class Painter extends JPanel{
Point Component;
public Painter(Point Com)
{
Component = Com;
}
public void paintComponent(Graphics g)
{
super.paint(g);
Point CursorPoint= MouseInfo.getPointerInfo().getLocation(); //gets cursorpoint
int ComPX = Component.x;
int ComPY = Component.y;
int CurPX = CursorPoint.x;
int CurPY = CursorPoint.y;
int FinalX = CurPX - ComPX;
int FinalY = CurPY - ComPY;
g.drawOval(FinalX, FinalY, 20, 20);
}
}
請尊重的Java命名約定。你的代碼很難閱讀。 – 2013-03-24 18:22:36
通過查看您的代碼,我認爲您需要將Graphics g投射到Graphics2D – 2013-03-24 18:25:01
另外,請告訴我們您期望此代碼執行的操作,以及它代之以做什麼。 – 2013-03-24 18:28:24