Как я могу сделать простейшие глаза в качели Java? Я хотел бы получить что-то вроде этого:Как рисовать простые глаза в java
http://img710.imageshack.us/img710/70/eyesp.jpg
Как я могу сделать простейшие глаза в качели Java? Я хотел бы получить что-то вроде этого:Как рисовать простые глаза в java
http://img710.imageshack.us/img710/70/eyesp.jpg
Чтобы нарисовать заполненный круг с контуром в другом цвете, вы можете использовать drawOval
в дополнении к fillOval
(не забудьте изменить цвет на Graphics
контексте перед нанесением контура).
Вы также должны изучить класс Grahpics2D
, который обладает гораздо большей функциональностью, чем обычный объект Graphics
. (Вы можете просто сделать экземпляр Graphics
как Graphics2D
).
В частности, чтобы круги выглядели «хорошо», вы можете настроить подсказку для сглаживания. Вы можете сделать это следующим образом:.
Graphics2D g2d = (Graphics2D)g;
// Turn anti-aliasing on.
g2d.setRenderingHint(
RenderingHints.KEY_ANTIALIASING,
RenderingHints.VALUE_ANTIALIAS_ON);
// Draw everything you want...
// Turn anti-aliasing off again.
g2d.setRenderingHint(
RenderingHints.KEY_ANTIALIASING,
RenderingHints.VALUE_ANTIALIAS_ON);
Используйте Graphics методы класса:
И подобные методы, чтобы сделать то, что вы пытаетесь на JPanel.
Пример:
public class Eyes extends JPanel
{
// override paint
@Override
protected void paintComponent(Graphics g)
{
super(g);
// use fillRect, fillOval and color methods
// on "g" to draw what you want
}
}
Тогда, конечно, вы будете поместить глаз объект внутри JInternalFrame, другие JPanel или контейнер, как вам нужно.
+1 Кроме того, "программы Качели должны переопределить' paintComponent() 'вместо перекрывая краски()." http://java.sun.com/products/jfc/tsc/articles/painting/index.html – trashgod
@trashgod: спасибо. изменил образец кода, чтобы отразить то, что вы предложили. –
новые графики() DrawEyes() – JoshJordan