Aplikacja konsolowa VS GUI

0

Cześć,
Mam pytanie, zrobiliśmy aplikację konsolową w JAVIE w ramach projektu do rejestru mandatów i kierowców. Potrzebujemy przenieść to na GUI. Czy jest jakiś sposób, aby GUI korzystało tylko z kodu zapisanego w aplikacji konsolowej na podstawie odnośników?

0

z kodu zapisanego w aplikacji konsolowej na podstawie odnośników

Co przez to rozumiesz?

0

Mam klasę główną "Baza" i tam za pomocą switchów są opisane czynności jakie może wykonywać konkretny użytkownik.
Ja bym chciał teraz przenieść w jakiś sposób aplikację konsolową do GUI z buttonami, ale niestety siedzę kolejny dzień i nie mam pomysłu jak mogę to zrobić, aby GUI robiło to samo co konsolowa.

0

To co było w case (bez breaka!) wrzuć do obsługi zdarzenia przycisku.

0

Czyli jeśli poniżej jest mój kod to do buttona odpowiedzialnego za logowanie jako kierowca powinienem wrzucić od wiersza 41 wyrzucając wszystkie breaki?

import java.util.ArrayList;
import java.util.InputMismatchException;
import java.util.List;
import java.util.Scanner;
 
 
 
public class Baza {
    public static final int Policja=0;
    public static final int Zwykły_użytkownik=1;
    public static final int Dodaj_kierowce = 2;
    public static final int Wyswietl_Wszystkich = 4;
    public static final int Wyjdz = 9;
    public static final int WYSZUKAJ=1;
    public static final int dodaj=3;
    public static final int usun=2;
    public static final int poziom_wyzej = 8;
 
    private static List<Kierowca> kierowcy;
 
    public static void main(String[] args) {
        kierowcy = new ArrayList<Kierowca>();
        Scanner sc = new Scanner(System.in);
        int option = 0;
        int n=100;
        int user = 0;
        boolean wyjdz_wyzej = false;
 
        do {
            printOptionss();
            try {
                user = sc.nextInt();
                sc.nextLine();
            } catch (InputMismatchException exc) {
                sc.nextLine();
                System.out.println("--------------------");
                System.out.println("Dane w nieprawidłowym formacie ");
                continue;
            }
 
            switch (user) {
                case Policja:
                       
 wyjdz_wyzej = false;
                    do {
                        printOptions();
                        try {
                            option = sc.nextInt();
                            sc.nextLine();
                        } catch (InputMismatchException exc) {
                            sc.nextLine();
                            System.out.println("--------------------");
                            System.out.println("Dane w nieprawidłowym formacie ");
                            continue;
                        }
 
                        switch (option) {
                            case Dodaj_kierowce:
                                try {
                                    addCompetitor(sc);
                                } catch (InputMismatchException e) {
                                    sc.nextLine();
                                    System.out.println("--------------------");
                                    System.out.println("Błąd odczytu danych");
                                }
                                break;
                            case Wyswietl_Wszystkich:
                                printCompetitors();
                                break;
                            case Wyjdz:
 
                                break;
 
                            case dodaj:
                                dodaj();
                                break;
 
                            case WYSZUKAJ:
                                searchP();
                                break;
                            case poziom_wyzej:
                                wyjdz_wyzej = true;
                                break;
                                default:
                                            System.out.println("--------------------");
 
                System.out.println("Proszę wybrać poprawną opcję");
 
                        }
                    } while (option != Wyjdz && wyjdz_wyzej == false);
 
                    break;
                case Zwykły_użytkownik:
                    wyjdz_wyzej = false;
                    do {
                        printOptionssx();
                        try {
                            option = sc.nextInt();
                            sc.nextLine();
                        } catch (InputMismatchException exc) {
                            sc.nextLine();
                            System.out.println("--------------------");
                            System.out.println("Dane w nieprawidłowym formacie ");
                            continue;
                        }
 
                        switch (option) {
 
 
 
                            case Wyjdz:
                                break;
                            case usun:
                                zaplac();
                                break;
                            case WYSZUKAJ:
                                searchP();
                                break;
                            case poziom_wyzej:
                                wyjdz_wyzej = true;
                                break;
                                default:
                                            System.out.println("--------------------");
 
                System.out.println("Proszę wybrać poprawną opcję");
                        }
                    } while (option != Wyjdz && wyjdz_wyzej == false);
 
 
 
                    break;
                case Wyjdz:
                    return;
                default:
                            System.out.println("--------------------");
 
                System.out.println("Proszę wybrać poprawną opcję");
           
            }
        } while (option != Wyjdz);
 
 
 
        sc.close();
    }
 
 
 
    private static void  searchP(){
 
        System.out.println("Podaj numer Pesel:");
        Scanner wysz = new Scanner(System.in);
        String wysz1 = wysz.nextLine();
 
 
        Kierowca znaleziony = null;
        for (int i=0; i<=kierowcy.size()-1; i++) {
            if (kierowcy.get(i).getPesel().equals(wysz1)) {
                znaleziony = kierowcy.get(i);
                break;
            }
 
        }
        if (znaleziony != null ) {
            System.out.println(znaleziony);
        }
 
 
    }
 
 
    private static void dodaj() {
        System.out.println("Podaj numer Pesel:");
        Scanner wysz = new Scanner(System.in);
        String wysz1 = wysz.nextLine();
 
 
        Kierowca znaleziony = null;
        for (int i=0; i<=kierowcy.size()-1; i++) {
            if (kierowcy.get(i).getPesel().equals(wysz1)) {
                znaleziony = kierowcy.get(i);
                break;
            }
 
        }
        if (znaleziony != null ) {
            System.out.println(znaleziony);
        System.out.println("Dodaj wartość mandatu:");
        Scanner manda = new Scanner(System.in);
        int mand = manda.nextInt();
                if (mand>=0){
        znaleziony.man=znaleziony.man+mand;
        System.out.println(znaleziony);
 
        System.out.println("Dodaj ilość punktów karnych:");
        Scanner pktk = new Scanner(System.in);
        int ka = pktk.nextInt();
        if (ka>=0){
        znaleziony.pkt=znaleziony.pkt+ka;
        System.out.println(znaleziony);
        }
        else{
            System.out.println("--------------------");
        System.out.println("Ilość punktów karnych musi być większa lub równa 0");
        }
                }
                else{
                    System.out.println("--------------------");
                    System.out.println("Kwota mandatu musi być większa lub równa 0");
                }
} else {
                    System.out.println("--------------------");
 
  System.out.println("Nie znaleziono kierowcy");
}
 
 
 
    }
    private static void zaplac() {
        System.out.println("Podaj numer Pesel:");
        Scanner wysz = new Scanner(System.in);
        String wysz1 = wysz.nextLine();
 
 
        Kierowca znaleziony = null;
        for (int i=0; i<=kierowcy.size()-1; i++) {
            if (kierowcy.get(i).getPesel().equals(wysz1)) {
                znaleziony = kierowcy.get(i);
                break;
            }
 
        }
        if (znaleziony != null ) {
            System.out.println(znaleziony);
       
        System.out.println("Wpisz kwotę mandatu, którą chcesz zapłacić:");
        Scanner manda = new Scanner(System.in);
        int mand = manda.nextInt();
        if (0>znaleziony.man-mand){
            System.out.println("--------------------");
            System.out.println("Zbyt duża kwota wpłaty");
        }
        else if (mand<0)
        {
            System.out.println("--------------------");
            System.out.println("Kwota którą chcesz wpłacić musi być większa niż 0");
                }
        else{
            znaleziony.man=znaleziony.man-mand;
        System.out.println(znaleziony);
        }
       
        }
 else {
                    System.out.println("--------------------");
 
  System.out.println("Nie znaleziono kierowcy");
 
 
        }
    }
 
    private static void printCompetitors() {
        System.out.println("--------------------");
        System.out.println("Lista ukaranych:");
        for (Kierowca p: kierowcy) {
            System.out.println(p);
        }
    }
 
    private static void addCompetitor(Scanner sc) throws InputMismatchException {
 
        Kierowca osoba = new Kierowca();
        System.out.println("--------------------");
        System.out.println("Dodawanie nowego kierowcy: ");
        System.out.println("PESEL:");
        osoba.setPesel(sc.nextLine());
        System.out.println("Imię: ");
        osoba.setFirstName(sc.nextLine());
        System.out.println("Nazwisko");
        osoba.setLastName(sc.nextLine());
        System.out.println("Mandaty:");
        osoba.setMan(sc.nextInt());
        System.out.println("Punkty karne:");
        osoba.setAge(sc.nextInt());
        sc.nextLine();
 
       
       
        Kierowca znaleziony = null;
        for (int i=0; i<=kierowcy.size()-1; i++) {
            if (kierowcy.get(i).getPesel().equals(osoba.getPesel())) {
                znaleziony = kierowcy.get(i);
                break;
            }
 
        }
        if (znaleziony != null ) {
                    System.out.println("--------------------");
 
            System.out.println("Podany kierowca znajduje się już w systemie");
        }
       
            else {
            if(osoba.getAge()>=0 && osoba.getMan()>=0){
        kierowcy.add(osoba);
                System.out.println("--------------------");
 
    System.out.println("Dodano pomyślnie");
            }
            else
            {System.out.println("--------------------");
                System.out.println("Wprowadzono nieprawidłową wartość mandatu lub punktów karnych");}
        }
   
    }
 
    private static void printOptions() {
        System.out.println("--------------------");
        System.out.println("Dostępne opcje: ");
        System.out.println(WYSZUKAJ+ " - Wyszukaj");
        System.out.println(Dodaj_kierowce + " - Dodaj kierowce");
        System.out.println(dodaj + " - Ukaraj kierowcę");
        System.out.println(Wyswietl_Wszystkich + " - Wyświetl kierowców");
        System.out.println(poziom_wyzej + " - Powrót");
        System.out.println(Wyjdz + " - Wyjście z programu");    
        System.out.println("Wybierz opcję: ");
    }
    private static void printOptionssx() {
        System.out.println("--------------------");
        System.out.println("Dostępne opcje: ");
        System.out.println(WYSZUKAJ+ " - Wyszukaj");
        System.out.println(usun + " - zaplac mandat");
        System.out.println(poziom_wyzej + " - Powrót");
        System.out.println(Wyjdz + " - Wyjście z programu");
        System.out.println("Wybierz opcję: ");
    }
    private static void printOptionss() {
        System.out.println("--------------------");
        System.out.println("Wybierz użytkownika: ");
        System.out.println(Policja + " - Policja");
        System.out.println(Zwykły_użytkownik + " - Zwykły użytkownik");
        System.out.println(Wyjdz + " - Wyjście z programu");
        System.out.println("Wybierz opcję: ");
    }
}
0

Gdzie jest wiersz 41? W menu nie ma pozycji typu logowanie kierowcy.
Masz do obsługi zdarzenia wpisać kod, który jest między dwoma kolejnymi case (bez break!).

0

W menu jest opcja zalogowania się jako Policja oraz jako Zwykły użytkownik*.
Rozumiem, że powinienem case odpowiedzialny za wybór użytkownika skopiować bez breaków, tak?

switch (user) {
                case Policja:
                       
 wyjdz_wyzej = false;
                    do {
                        printOptions();
                        try {
                            option = sc.nextInt();
                            sc.nextLine();
                        } catch (InputMismatchException exc) {
                            sc.nextLine();
                            System.out.println("--------------------");
                            System.out.println("Dane w nieprawidłowym formacie ");
                            continue;
                        }
 
                        switch (option) {
                            case Dodaj_kierowce:
                                try {
                                    addCompetitor(sc);
                                } catch (InputMismatchException e) {
                                    sc.nextLine();
                                    System.out.println("--------------------");
                                    System.out.println("Błąd odczytu danych");
                                }
                                break;
                            case Wyswietl_Wszystkich:
                                printCompetitors();
                                break;
                            case Wyjdz:
 
                                break;
 
                            case dodaj:
                                dodaj();
                                break;
 
                            case WYSZUKAJ:
                                searchP();
                                break;
                            case poziom_wyzej:
                                wyjdz_wyzej = true;
                                break;
                                default:
                                            System.out.println("--------------------");

To sobie kopiuję bez breaków, ale pojawia się pytanie co powinienem wpisać jeśli chcę, aby po naciśnięciu przycisku odpowiedzialnego za logowanie jako zwykły użytkownik albo policjant przerzucało mnie do kolejnego okienka w którym będzie możliwość naciśnięcia przycisku dostępnego dla jednego albo drugiego?

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