Canvas

4 отговора 185 прегледа
#1

Canvas

Здравейте!

Имам огромното желание да накарам Java-та да начертае едни линии между едни точки, но тя се инати :-(

Опитвам по следния начин:

public void paint()
{
drawLine(x, y, x + newX, y + newY);
}

public void play(...)
{
// промяна на координатите (x, y, newX, newY),
// които са глобални,
// за да мога да ги използвам в paint()
repaint();
}

update() съм го overwrite-нал, за да не ми трие предишната картина:

public void update()
{
paint (getGraphics());
}

Кое не правя правилно?

Благодаря!

When things are nice I never prefer one to the other.
Отговор
в отговор на Mylord #2

Re: Canvas

opitaj taka:

public void paint()
{
setColor(Color.black<ili nekyv drug>);
setPaintMode();
drawLine(x, y, x + newX, y + newY);
}

Next One Is Real
Отговор
в отговор на dave #3

Re: Canvas

Za sazhalenie ne stava i taka.

When things are nice I never prefer one to the other.
Отговор
в отговор на Mylord #4

Re: Canvas

хехе, ама и аз съм един ....
Значи, ако си в аплет, трябва да ползваш :
public void paint(Graphics g) {
g.setColor(Color.black);
g.setPaintMode();
g.drawLine(x, y, x + newX, y + newY);
}
Освен това , както си написал кода - мойе6 направо да извикаш update:
public void play(...)
{
// промяна на координатите (x, y, newX, newY),
// които са глобални,
// за да мога да ги използвам в paint()
update();
}
Със сигурност работи...

Next One Is Real
Отговор
в отговор на dave #5

Re: Canvas

Благодаря! С извикване на update() директно стана. А това, че трябваше да си сложа г-то и точката се сетих и сам. Всъщност не е аплет, а приложение, но това са просто детайли.

С g.setPaintMode() не стана.

Още веднъж - благодаря.

When things are nice I never prefer one to the other.
Отговор