私は多少Javaの新機能を使いました。約1年前からプログラミングしていて、現在はユーザーがマップ(ワールドマップなど)を選択し、地図。私の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());
感謝/ジミー
あなたが「うまく動作しない」と言うと、何かエラーが出るのですか? –
どうしてうまくいかないのですか?メソッドは呼び出されていますか?文字列はまったく表示されていますか? – Patrick
ちょっとしたヒント:if(klickad == false)... else if(klickad == true)... '(klickad == false)... else ...'またはもっと良い'if(!klickad)... else ...' - 'klickad'はtrueまたはfalseのどちらかにしかなりません:) – Thomas