私はボックスを描画し、それらをラインで接続するアプリケーションで作業しています。各行にはコーナー(点)があります。ユーザーは、行を右クリックしてドットを追加できます。次に、ドットは場所のセットを取得します。ペイント操作は実行されていませんが、システムが終了します
ダイアグラムのペイント方法は、すべての点をループし、その場所に円形のイメージをペイントする必要があるときに、カスタム(単純!return(location!= -1))かどうかをチェックします。
私は本当にデバッグモードで実行されますが、描画しないので、私は聞いています!私はチェックのためにシステムを配置し、それは正常に実行されます。しかしif文は、私が! ifステートメントの前に署名します。私は本当に問題を見つけることができません。
塗装方法:
public void paint(Graphics2D g) {
g.setColor(Color.RED);//_lineColor);
g.setStroke(new BasicStroke(DEFAULT_LINE_SIZE));
for(Line2D line : _lines) {
g.draw(line);
}
if(_isHover) {
for(ConnectionDot dot : _connectionDots) {
if(dot.isUserDot()) {
System.out.println("YEAH!!!");
//TODO: dot hover?
g.drawImage(_icoConnectionNor.getImage(), dot.getX()-8, dot.getY()-8, null);
//g.drawString("What?", dot.getX(), dot.getY());
} else {
System.out.println("Hell No!");
g.drawString("What?", dot.getX(), dot.getY());
}
}
}
}
ドットクラス:
public class ConnectionDot {
//...
private int _userDotQueueLoc;
/**
* Create new dot.
*
* @param gridController reference to the grid controller.
* @param grid Grid position of the dot.
*/
public ConnectionDot(GridController gridController, Grid grid){
_gridController = gridController;
_gridPos = grid;
_userDotQueueLoc = -1;
}
/**
* Create new user dot.
*
* @param gridController reference to the grid controller.
* @param grid Grid position of the dot.
* @param userDotLocation Location of user dot.
*/
public ConnectionDot(GridController gridController, Grid grid, int userDotLocation){
this(gridController, grid);
_userDotQueueLoc = userDotLocation;
}
/**
* Returns true if the dot is custom.
*
* @return Flag.
*/
public boolean isUserDot(){
return (_userDotQueueLoc != -1);
}
}
コンソール出力: 地獄いいえ! 地獄いいえ! 地獄いいえ! 地獄いいえ! はい! 地獄いいえ! 地獄いいえ! 地獄いいえ! 地獄いいえ! はい! ...あなたはポイントを得る
すぐに役立つように、SSCCE(http://pscode.org/sscce.html)を投稿してください。 –
それはあなたが思うところに描かれてはいけません。 Andrewが言ったように、あなたはSSCCEを掲示する必要があります。 – jzd
[OK] ..ちょうどリンクを見て、本当にそれで何をするか分からない。 (多くの読書:P)しかし、私は問題を発見した。 –