Gå til innhold

JButtons og søkefunksjoner


Anbefalte innlegg

Okei

 

Så, om jeg har en funksjon i et javascript som avhenger av dataen i et array, hvordan får jeg java til å lese de dataene i arrayet?

 

Om vi har:

 

array[1] = "lalaland";

 

i arrayet, og senere vil kjøre en funksjon

 

if (array[1] = "lalaland")

gjør sånn og sånn;

 

Hvordan gjør jeg det? Dette er bare pseudokode selvfølgelig, er ikke sånn man gjør det (har prøvd :p)

 

 

 

Edit: Om noen har lyst å være hyggelige så kan de kanskje fortelle meg hvordan man setter hvor man vil ha sine JButton's. Begynner å bli litt lei nå etter 5 timer med plager tongue.gif

Endret av Hamnli2
Lenke til kommentar
Videoannonse
Annonse

OK, spekulasjoner i om denne tråden er feilpostet eller ikke er fjernet.

 

Det er her snakk om Java og ikke JS (ECMAScript). Dette kan det være OK å understreke om det skulle være tvil, som når eksempelkode ikke sier noe om hvilket språk det dreier seg om direkte.

 

Videre har ikke trådstarter anledning til å bumpe tråden sin etter 15 minutter! Kun etter 24 timer er dette lov, og kun to ganger med minst 24 timer mellom hver gang. Bump er fjernet.

 

Dette innlegget skal ikke kommenteres, da det er off-topic.

Endret av Haraldson
Lenke til kommentar

Fant ut av det selv, etter tre timer med prøving og feiling. Mest feiling vel og merke. Om noen lurer så er det:

 

if (array[1] == "lalaland")

gjør sånn og sånn

 

Skjønner ikke at det skulle være så vanskelig å få hjelp med :hmm: Mangla et =..... 3 timer liksom :wallbash:

 

Edit: Om noen har lyst å være hyggelige så kan de kanskje fortelle meg hvordan man setter hvor man vil ha sine JButton's. Begynner å bli litt lei nå etter 5 timer med plager :p

Endret av Hamnli2
Lenke til kommentar
Skjønner ikke at det skulle være så vanskelig å få hjelp med :hmm: Mangla et =..... 3 timer liksom :wallbash:

 

Edit: Om noen har lyst å være hyggelige så kan de kanskje fortelle meg hvordan man setter hvor man vil ha sine JButton's. Begynner å bli litt lei nå etter 5 timer med plager :p

 

Det er tydelig at du ikke har lært deg hvordan man skal oppføre seg på et nettforum. Her gjelder vanlig folkeskikk, ikke ulikt samfunnet forøvrig. Ikke kom til oss og klag over at du ikke får til noe, men spør heller på en høflig måte. Og ikke vær arrogant!

 

Og når du formulerer deg så vagt som du gjør angående dine problemer med JButtons, så blir det vanskelig for oss å vite _HVOR_ du står fast. Men jeg mistenker det har med layouts å gjøre. Søk på setLayout() i Java API dokumentasjonen.

 

Werner

Lenke til kommentar

Vel, la meg prøve å forklare nermere da.

 

Om du ser for deg et standard Windows-vindu med en hvit firkant i midten som er der grafikken fra javaprogrammet mitt dukker opp. Så har du JButtons med forskjellige funksjoner til dette programmet. Sånn som det er nå så er altså alle knappene ovenfor grafikkvinduet. Hvordan flytter jeg på knappene da?

 

Beklager om jeg virker gretten, men nå har jeg ikke gjort annet en å plages i fem timer i strekk, og sånnt tærer på en :p

Lenke til kommentar
Vel, la meg prøve å forklare nermere da.

 

Om du ser for deg et standard Windows-vindu med en hvit firkant i midten som er der grafikken fra javaprogrammet mitt dukker opp. Så har du JButtons med forskjellige funksjoner til dette programmet. Sånn som det er nå så er altså alle knappene ovenfor grafikkvinduet. Hvordan flytter jeg på knappene da?

 

Beklager om jeg virker gretten, men nå har jeg ikke gjort annet en å plages i fem timer i strekk, og sånnt tærer på en :p

 

Som sagt, sjekk ut setLayout(). Jeg vil også anbefale deg å installere Netbeans. Denne har en meget bra GUI-editor for Swing-applikasjoner. Jeg bruker ofte den, for å se hva slags kode den genererer.

 

La meg bare få si at det å plages er litt av hverdagen til en programmerer. :) Jeg har programmert i mange år, og har ikke tall på de timer jeg har "stanget hodet i veggen" :) Men man må aldri gi opp, for man finner som regel ut av det til slutt.

 

Werner

Lenke til kommentar

Tja, setLayout virket lovende, men:

 

Dette er altså sånn jeg har det nå:

no.jpg

 

Dette er med set.Layout, men knappen kom altså ikke langt nok nede:

eksempel.jpg

Jeg trenger knappen helt nederst, som på bildet under.

 

 

Dette er altså det endelige målet mitt:

ml.jpg

 

 

Bare overse fargeforskjellen på tittelbaren.

 

Edit: nevermind, det var ikke verre en at du lar java tegne de fire øverste knappene først, så lage tegneområdet og deretter de siste knappene og feltene i

"private void createGUI()" :D

 

Siste spørsmål, finner vi ut av denne så er jeg ferdig.

 

Dette er altså en søkefunksjon. 1 og 2 Den søker gjennom et array når knappen "search" blir klikket, integeren "apartments" er tidligere deklarert. 3 Så deklarerer den "searchname" til hva som er i "searchbar". 4 Om den dataen i den delen av arrayet som letes gjennom nå er helt likt det som er i "searchname" så 5 settes integeren "selectedApartment" til x, altså den delen av arrayet som letes gjennom nå. "selectedApartment" brukes for å vise hvordan leilighet (arrayet er en indeks over forskjellige leiligheter) som er valgt. 6 Så kalles metoden validateButtons, så hentes grafikkverktøyet, så kalles resten av metodene som tegner leilighetene.

 

 if (event.getSource() == search){										//  1
				for (int x = 0; x<apartments; x++){				  //  2
					String searchname = searchbar.getText();	//  3
					if (block[x] == searchname){						 //  4
						selectedApartment = x;							 //  5
						validateButtons(event);							//  6
						Graphics g = panel.getGraphics();			  
						resetScreen(g);
						displayStatus(g);
						displayBlock(g);
						displayKey(g);				 
					}
				  }
				}

 

Programmet kompilerer uten problemer, og resten virker helt fint. Men når jeg trykker på "search" så skjer det ingenting, om "searchbar" har tekst i seg eller ikke. Er det noen som klarer å se hvorfor dette ikke virker?

Endret av Hamnli2
Lenke til kommentar

Vet du om den går forbi if-testen din i det hele tatt?

 

Hvis du ikke har snøring på hvor feilen ligger, så er det beste tipset jeg kan gi deg å hive inn noen utskrifter underveis. Hvis ikke det hjelper, enter debug-mode!

 

if (event.getSource() == search){
  System.out.println("Searching ... " + apartments + " apartments");
  for (int x = 0; x<apartments; x++) {
  String searchname = searchbar.getText();
  System.out.println("=>\t" + searchname);
  if (block[x] == searchname) {
	 System.out.println("Found in " + x + ": " + block[x]);
  }
  }
}

Lenke til kommentar

Det er hovedsaklig tre steder den kan feile;

* event.getSource() == search feiler alltid

* apartments er alltid 0

* block[x] == searchname feiler alltid

 

Jeg håper dog du er klar over at man sammenligner strenger med metoden String.equals(String otherString) og ikke med "=="-operatøren.

 

Exempla gratia:

if (block[x] != null && block[x].equals(searchname)) {
  // do stuff
}

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...