我在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