我在java中有點新,已經編程了大約一年,現在我正在開發一個項目,讓用戶選擇一個地圖(例如世界地圖),並通過點擊地圖。我的drawString不起作用
當用戶點擊地圖時,他/她輸入一個名字並在這些座標上繪製城市,該作品很好。我的問題是,我也希望城市的名字被繪製在城市之上,但由於某種原因,我無法讓它工作。 這應該是一件容易的事情,但現在已經嘗試了幾個小時,開始變得非常煩人,所以我希望別人可以幫助我進行這個簡單的調查。
代碼:
public class Rita extends JComponent{
private boolean klickad=false;
protected int xx=0;
private int yy=0;
public Rita(int x, int y){
xx=x;
yy=y;
setBounds(x, y, 20, 20);
setPreferredSize(new Dimension(20,20));
setMaximumSize(new Dimension(20,20));
setMinimumSize(new Dimension(20,20));
}
protected void paintComponent(Graphics g){
super.paintComponent(g);
drawString(g, xx+5, yy);
if(klickad==false)
klickadVal(g, xx, yy);
else if(klickad==true)
oKlickadVal(g);
}
public void drawString(Graphics g, int x, int y){
setFont(new Font("Courier New", Font.PLAIN, 16));
g.setColor(Color.BLACK);
g.drawString("Test test test test test", x, y);
}
public void klickadVal(Graphics g, int x, int y){
g.setColor(Color.RED);
g.fillRect(0,0,getWidth(),getHeight());
}
public void oKlickadVal(Graphics g){
g.setColor(Color.BLUE);
g.fillRect(0, 0, getWidth(),getHeight());
在此先感謝 /吉米
當你說你「無法工作」,你是否得到任何錯誤或類似的東西? – 2011-07-01 09:20:49
它不起作用?該方法是否被調用?字符串是否顯示? – Patrick
只是一個提示:'if(klickad == false)... else if(klickad == true)...'最好是'if(klickad == false)... else ...'或者更好'if(!klickad)... else ...' - 'klickad'只能是true或者false :) – Thomas