Przeciąganie liny za pomocą progressBara

Przeciąganie liny za pomocą progressBara
B1
  • Rejestracja:ponad 7 lat
  • Ostatnio:ponad 6 lat
  • Postów:5
0

Witam,
Mam do napisania program, który będzie działał na zasadzie przeciągania liny. ProgressBar ma być ustawiony na środku i za pomocą jednego z przycisków na klawiaturze mamy go przesuwać np w lewo o jakiś kawałek. Tutaj pojawia się pytanie jak ustawić progressbar tak żeby zaczynał się od środka i mógł się przesunąć w lewo lub w prawo?
Z góry dziękuje za odpowiedź pozdrawiam

jarekr000000
  • Rejestracja:ponad 8 lat
  • Ostatnio:około 2 godziny
  • Lokalizacja:U krasnoludów - pod górą
  • Postów:4709
0

Podpowiedź:
Jak napiszesz choć kawałek kodu z tym ProgressBarem i ustawisz go choćby na zero.... albo nawet nie ustawisz - to już będziesz wiedział co zrobić. Ewentualnie wtedy wrzuć ten kod.


jeden i pół terabajta powinno wystarczyć każdemu
abrakadaber
abrakadaber
  • Rejestracja:prawie 13 lat
  • Ostatnio:9 miesięcy
  • Postów:6610
0

standardowy chyba tak nie można go ustawić - musiał byś napisać własny


Chcesz pomocy - pokaż kod - abrakadabra źle działa z techniką.
bogdans
Można, i jest to bardzo proste.
abrakadaber
abrakadaber
znaczy nie, żeby pasek był na 50% tylko 0 zaczynało się w połowie i leciało od -50% do + 50%? Pytam bo z javą mam mało stycznego a w większości języków, z którymi mam styczność, nie widziałem takiej możliwości w standardzie.
bogdans
W Javie też nie można wyświetlać ujemnych procentów, można natomiast nie wyświetlać żadnych. To powinno wystarczyć ;).
bogdans
Moderator
  • Rejestracja:prawie 17 lat
  • Ostatnio:prawie 5 lat
0

W zależności od naciśniętego klawisza wywołuj metodę setValue albo z argumentem mniejszym niż poprzednio, albo z większym.


To smutne, że głupcy są tak pewni siebie, a ludzie mądrzy - tak pełni wątpliwości. Bertrand Russell
B1
  • Rejestracja:ponad 7 lat
  • Ostatnio:ponad 6 lat
  • Postów:5
0

Z tego co się dowiedziałem to nie da się tego wykonać w taki sposób, więc spróbowałem jako dwa progressbary.

Kopiuj

import javax.swing.*;

public class PullRope {

    void pullAI(JProgressBar progressBar1,JProgressBar progressBar2){
        if(progressBar2.getValue() > 0 || progressBar1.getValue() == 100){
            progressBar2.setValue(progressBar2.getValue() + 5);
        }else{
            progressBar1.setValue(progressBar1.getValue() + 5);
        }
    }

    void pull(JProgressBar progressBar1,JProgressBar progressBar2) {
        if(progressBar1.getValue() < 100 || progressBar2.getValue() == 0){
            progressBar1.setValue(progressBar1.getValue() - 5);
        }else{
            progressBar2.setValue(progressBar2.getValue() - 5);
        }

    }
}

Nie mam pomysłu jak to zrobić w inny sposób. Teraz zostało mi ustawienie progressbarów oraz próba stworzenia imitacji przeciągania liny, bo w tej chwili nie działa tak tak idealnie.

bogdans
Moderator
  • Rejestracja:prawie 17 lat
  • Ostatnio:prawie 5 lat
0

Masz błędne informacje, da się to zrobić przy pomocy jednego progressBara. W poprzednim poście napisałem Ci jak to zrobić.


To smutne, że głupcy są tak pewni siebie, a ludzie mądrzy - tak pełni wątpliwości. Bertrand Russell

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.