Grafika 2D, czas itp.

0

Jestem zielony jeśli chodzi o programowanie w javie (początkujący). Więc mam sporo problemów z tym. Muszę napisać pracę zaliczeniową. Niech ktoś odpisze na poniższe pytania.

Mam takie pytania:

  1. Mam stworzyć w javie coś takiego, że jest sobie podwójny przełącznik, który o jakimś czasie t zmienia swoją pozycję oraz linie położone powyżej mają zmienić kolor, jednocześnie obok ma się pojawiać informacja tekstowa że zmienił położenie. W tym celu napisałem klasę applet1 obrazującą ten przełącznik lecz co dalej to już nie bardzo wiem:
import java.awt.*;
import java.awt.Color;
import java.awt.event.*;
import java.applet.*;

public class Applet1 extends Applet {
   public void paint (Graphics g)
  {
  g.setColor(Color.blue);
  g.drawLine(155,60,155,20);  //wycinek linii głównej od linia górna i styk nr3

  g.drawLine(75,60,155,60);   //linia pozioma na gorze
  g.drawLine(75,60,75,70);    //łącznik styku nr1 i lini górnej
  g.drawLine(155,60,155,70);  //łącznik styku nr3 i lini gornej
  g.drawLine(75,120,90,80);   //łącznik styku nr2 i nr1
  g.setColor(Color.black);
  g.fillOval(70,70,10,10);    //styk nr1 przełącznika nr1 - lewa strona
  g.fillOval(70,120,10,10);   //styk nr2 przełącznika nr1 - lewa strona
  g.fillOval(150,70,10,10);   //styk nr3 przełącznika nr2 - prawa strona
  g.fillOval(150,120,10,10);  //styk nr4 przełącznika nr2 - prawa strona
  g.setColor(Color.blue);
  g.drawLine(155,120,170,80); //łącznik styku nr4 i nr3
  g.drawLine(75,130,75,140);  //łącznik styku nr2 i lini dolnej
  g.drawLine(155,130,155,140);//łącznik styku nr4 i lini dolnej
  g.drawLine(75,140,155,140); //linia pozioma na dole
  g.drawLine(155,140,155,190);//wycinek linii głównej od linia dolna i styk nr4
  g.drawLine(156,140,156,190);//pogrubienie linii, karkołomne, (inaczej)
  }
} 
  1. jak pogrubić linię w sposób inny niż poniżej:
g.drawLine(155,140,155,190);
g.drawLine(156,140,156,190);

Przykładowo próbowałem wpisać pod kodem jednej z linii setSize(10,10), ale przez to ten przełącznik przestał się wyświetlać.

Proszę o odpowiedź.

0

mógłbyś jakos lepiej wytlumaczyc o co ci chodzi ? Czy te przelaczniki maja sie przelanczac na zmiane? czyli co i z czym się je ? :)

0

Prawda, zakręcone to trochę. Postaram się to trochę wyjaśnić ale znając życie jeszcze bardziej się skomplikuje. Więc:

Staram się zrobić coś takiego:
Są 4 przyciski (button) do sterowania: Start, Pauza, Reset, Koniec.

  1. Start: po naciśnięciu powinien pojawić się cały rysunek(linie, styki), powinno się uruchomić odliczanie czasu (od 0:00 do np. 4:30). Przełącznik składa się z odcinków które w odpowiednio określonym czasie np. pierwszy odcinek o czasie t=0:20, drugi odcinek o t=0:30 itp., powinny zmienić kolor (np. na czerwony), kolor zmieni się tylko raz.
    Co do samego przełącznika powinien zmienić pozycję tylko jeden raz, z pozycji "off" (wstępnie jest w tej pozycji) na "on" oraz zmienić kolor.
    W momencie w którym ma się zmienić pozycja przełącznika obok ma się wyświetlić komunikat o tym że zmienił położenie (czyli chyba też o jakimś czasie t).

  2. Pauza: po naciśnięciu zatrzyma się odliczanie czasu. Ponowne naciśnięcie tego przycisku wznawia odliczanie itp. i proces jest kontynuowany.

  3. Reset: w zalożeniu ma powodować zatrzymanie calego proceu w danym miejscu i rozpoczęcie go od nowa.

  4. Koniec: przerywa proces i ukrywa widok przełącznika.

Pozdrawiam.

0

Zeby zmienic grubosc linii itp musisz zmienic w Grpahics2D ustawienie Stroke (metode setStroke). Klasa Stroke ma zdaje sie kilka predefiniowanych typow linii ale mozna tez pisac swoje, np w kolka. Pozdro.

1 użytkowników online, w tym zalogowanych: 0, gości: 1