• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Projekt - klasa file, awt.

Object Storage Arubacloud
0 głosów
209 wizyt
pytanie zadane 24 maja 2016 w Java przez Sebastian Kopiczko Początkujący (370 p.)

Cześć,

mam do wykonania projekt polegający na wykonaniu programu w javie obsługującego plik .txt.

Mam do was kilka pytań. Chciałbym wykonać program który po odpaleniu wyświetli okienko z kilkoma buttonami. Po kliknięciu na odpowiedni przycisk pojawi się okienko z nazwą obiektu, który chcę utworzyć (np. samochód) i każdy jego parametr (marka, model itp.) będzie do wpisania w pustym okienku poniżej. Po wpisaniu wszystkich parametrów, przycisk OK ma za zadanie dodać go do pliku tekstowego o danej nazwie w konkretnej lokalizacji w formie linii tekstu z odpowiednią liczbą porządkową na początku (np. 1. Samochód marki: marka, model: model, z silnikiem: pojemność, rodzaj, moc.) Co więcej, przy każdym nowym dodaniu obiektu, chciałbym aby liczba porządkowa rosła o 1.

Teraz chcę zapytać, czy:

takie dodawanie obiektów przez przyciski w okienku (wykonane w awt domyślam się?) wogóle ma sens, czy to działa na takiej zasadzie? Na razie chcę ułożyć sobie jakiś racjonalny plan pracy. Podzielcie się proszę swoimi wskazówkami, radami :).

Pozdrawiam.

3 odpowiedzi

+1 głos
odpowiedź 24 maja 2016 przez Przybysz_4444 Gaduła (3,200 p.)
Jak najbardziej możesz tak to zrobić.

Zapisywać do pliku np. za pomocą klasy PrintWriter, umieszczonej w obsłudze zdarzeń przycisków (ActionListener, ActionEvent) .

Jeśli chodzi o wykonanie okienka to może być w AWT i Swing , ale polecam zrobić w JavaFX. :)
komentarz 24 maja 2016 przez Moonshine Mądrala (6,360 p.)
Dlaczego polecasz FX ?
komentarz 24 maja 2016 przez Przybysz_4444 Gaduła (3,200 p.)
Chociażby to że za pomocą FX o wiele łatwiej osiągnąć ładny wygląd projektu, szczególnie w połączeniu z CSS. :)
komentarz 27 maja 2016 przez Moonshine Mądrala (6,360 p.)
Poczytałem, potestowałem, muszę przyznać rację, za bardzo byłem zapatrzony w starego Swinga ;)
0 głosów
odpowiedź 24 maja 2016 przez Mar Cin Dyskutant (8,900 p.)
Ma sens,np. podpinasz sobie pod przycisk ok ActionListener i w ActionEvent opisujesz co ma się zdarzyć po naciśnięciu ok(zapis do pliku txt.).
0 głosów
odpowiedź 24 maja 2016 przez Sebastian Kopiczko Początkujący (370 p.)

Dzięki za odpowiedzi. Zatem przy pomocy JavaFX zaczynam robić okienko (w scenebuilderze) z dwoma przyciskami: "nowy samochód" i "usuń samochód". Teraz proszę pomóżcie mi usystematyzować co dalej:

Potrzebuję konstruktora obiektu samochód z parametrami marka, model itd. - tu już coś robiłem, ocenicie?

public class Samochod {

	protected String model;
	protected String marka;
	protected Integer rokProdukcji;
	protected Double pojemnoscSilnika;
	protected String rodzajSilnika;
	protected Integer moc;

	public Samochod(String model, String marka, int rokProdukcji, double pojemnoscSilnika, String rodzajSilnika,
			int moc) {
		this.model = model;
		this.marka = marka;
		this.rokProdukcji = rokProdukcji;
		this.pojemnoscSilnika = pojemnoscSilnika;
		this.rodzajSilnika = rodzajSilnika;
		this.moc = moc;
	}
	
	public String getModel() {
		return model.get();
	}

	public void setModel(String model) {
		this.model.set(model);
	}

	public String getMarka() {
		return marka.get();
	}

	public void setMarka(String marka) {
		this.marka.set(marka);
	}

	public int getRokProdukcji() {
		return rokProdukcji.get();
	}

	public void setRokProdukcji(int rokProdukcji) {
		this.rokProdukcji.set(rokProdukcji);
	}

	public double getPojemnoscSilnika() {
		return pojemnoscSilnika.get();
	}

	public void setPojemnoscSilnika(double pojemnoscSilnika) {
		this.pojemnoscSilnika.set(pojemnoscSilnika);
	}
	
	public String getRodzajSilnika() {
		return rodzajSilnika.get();
	}

	public void setRodzajSilnika(String rodzajSilnika) {
		this.rodzajSilnika.set(rodzajSilnika);
	}

	public int getMoc() {
		return moc.get();
	}

	public void setMoc(int moc) {
		this.moc.set(moc);
	}
}

 

Potrzebuję klasy głównej wyświetlającą aplikację, a w niej obsługę zdarzeń przycisków?

Chciałbym też zaznaczyć, że program chcę ograniczyć do jak najprostszej postaci.

komentarz 25 maja 2016 przez bumpMind Gaduła (4,260 p.)

Początek spoko masz już tzw. model (mvc). Tworząc samo okienko otrzymujesz view danej sceny (kolejny element mvc) do której należy jeszcze dołożyć kontroler opisujący zachowanie danego widoku tzn. np. jego przycisków itp. Polecam prześledzić ten tutoraial o ile nie masz większej bariery językowej: http://code.makery.ch/library/javafx-8-tutorial/. Kiedy nawet lekko prześledzisz kolejne kroki bez problemu uda Ci sie to zaadaptować we własnym projekcie, ładnie, zgrabnie i szybko :P 

komentarz 10 października 2016 przez Patryk Rafał Bywalec (2,700 p.)
Tak na marginesie stosuj hermetyzacje nie dawaj protected tylko private a proteced używamy kiedy coś dziedziczymy
komentarz 10 października 2016 przez webkam Bywalec (2,840 p.)
A dziedziczenia nie stosuj :) :P
komentarz 10 października 2016 przez Patryk Rafał Bywalec (2,700 p.)
Dziedziczenie warto stosować jeżeli coś rozszerzamy nap mamy klasę samoloty i można ją rozszerzyć o klasę reprezentującą samoloty rejsowe  itp:)

Podobne pytania

0 głosów
1 odpowiedź 498 wizyt
0 głosów
1 odpowiedź 719 wizyt
0 głosów
0 odpowiedzi 233 wizyt

92,551 zapytań

141,393 odpowiedzi

319,523 komentarzy

61,936 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...