オーバーライドされたペイントコンポーネントのテストで問題が発生しています。junitテストのオーバーライドされたペイントコンポーネント
私は物事
@Override
protected void paintComponent(Graphics g) {
g.setColor(Color.RED);
int y = //some come;
int height = //some code
//for loop
g.clearRect(1, y, getWidth(), height);
g.drawRect(1, y, getWidth(), height);
}
}
super.paintComponent(g);
}
マイ塗料コンポーネントは、複数の長方形を作成を簡素化するためにたくさんにコードを削除しました。描かれた矩形の数とその高さについての詳細を知る必要があります。私はこれを行うために単体テストをする方法がわかりません。
私はTextAreas 'getComponents()
メソッドを使用しようとしましたが、nullを返します。 repaint()を呼び出すとpaintコンポーネントが実行されると思った。任意のヘルプ
上記はうまくいきます。ありがとうございました。私はyourComponent.paintComponent(g2)の後にgetComponents()メソッドを呼び出そうとしました。 g.drawRect(1、y、getWidth()、height)を実行していても、コンポーネントがないことを示します。 – Decrypter
'getComponents()'メソッドは*子コンポーネントを返します。したがって、もしあなたが 'JPanel p'を持っていて、' p.add(l) 'で' JLabel l 'を追加すると、 'p.getComponents()'は 'l'を返します。ただし、 'paintComponent'をオーバーライドしても子コンポーネントは追加されません。 –