Я работаю над пользовательским компонентом Swing для моего приложения, и начал рисовать вещи с помощью public void paintComponent(Graphics g)
. Все работает отлично, за исключением того, что я не могу рисовать прямоугольники. Я думаю, что проблема связана с частью getX()
и getY()
, но я этого не знаю точно. Вот мой код:Графика не рисование в paintComponent (Graphics)?
@Override
public void paintComponent(Graphics g) {
super.paintComponent(g);
if (mouseEntered) {
g.setColor(HIGHLIGHTED_COLOR);
} else {
g.setColor(BACKGROUND_COLOR);
}
g.fillRect(getX(), getY(), getWidth(), getHeight());
//Draw rest of stuff (works fine)
В API говорит, что он должен быть использован, как это: g.fillRect(x, y, width, height)
, и это то, что я делаю.
Остальная часть чертежа прекрасно работает, но я не могу понять, почему это не рисунок. Какие-либо предложения?
Оим! Это имеет смысл! Большое спасибо! – mattbdean