Problem med borttappat objekt i Java

Permalänk
Medlem

Problem med borttappat objekt i Java

Hej!

Behöver hjälp med en sak som angår konstruktorer i Java. När man klickar på knappen Borrow så ska man kan låna en sak ifrån ett biblotek, men när man lånar så försvinner själva objektet man vill låna. Hur ska man göra i ett sådant tillfälle?

Permalänk
Medlem
Skrivet av RepZi:

Hej!

Behöver hjälp med en sak som angår konstruktorer i Java. När man klickar på knappen Borrow så ska man kan låna en sak ifrån ett biblotek, men när man lånar så försvinner själva objektet man vill låna. Hur ska man göra i ett sådant tillfälle?

Här är all kod
...
}

Använd CODE taggar eller fördelaktigt pastebin med Java highlighting för längre snuttar, lättare att läsa.

Visa signatur

Arch - Makepkg, not war -||- Gigabyte X570 Aorus Master -||- GSkill 64GiB DDR4 14-14-15-35-1T 3600Mhz -||- AMD 5900x-||- Gigabyte RX6900XT -||- 2x Adata XPG sx8200 Pro 1TB -||- EVGA G2 750W -||- Corsair 570x -||- O2+ODAC-||- Sennheiser HD-650 -|| Boycott EA,2K,Activision,Ubisoft,WB,EGS
Arch Linux, one hell of a distribution.

Permalänk
Medlem

Ingen orkar leta upp var i koden hanteringen för själva lånebiten hanteras.
Visa istället den biten.

Permalänk
Medlem
Skrivet av Commander:

Använd CODE taggar eller fördelaktigt pastebin med Java highlighting för längre snuttar, lättare att läsa.

Ok, lade upp koden på pastebin istället

http://pastebin.com/4GCWcWR8
http://pastebin.com/wJ3WsAMs
http://pastebin.com/NHVTaWjX
http://pastebin.com/i3pexNG1
http://pastebin.com/SUeP7Lmi

Skrivet av Pake:

Ingen orkar leta upp var i koden hanteringen för själva lånebiten hanteras.
Visa istället den biten.

Den ligger här, vet inte vad jag ska skriva istället för citat tecken i Objects.. behöver jag två konstruktorer eller räcker det med en?

public void setLoan()
{
loan = new Objects(" ", "", "", "", "", "", loanField.getText(),nameField.getText(), phoneField.getText());
}

Permalänk
Medlem
Skrivet av RepZi:

public void setLoan() { Objects objects = new Objects(); loan = new Objects(" "," ", "", "", "", "", loanField.getText(),nameField.getText(), phoneField.getText()); }

Du skapar 2 objekt, ett Objects object utan någon vidare data och sedan Objects loan med delvis data. Sen då?

Visa signatur

Arch - Makepkg, not war -||- Gigabyte X570 Aorus Master -||- GSkill 64GiB DDR4 14-14-15-35-1T 3600Mhz -||- AMD 5900x-||- Gigabyte RX6900XT -||- 2x Adata XPG sx8200 Pro 1TB -||- EVGA G2 750W -||- Corsair 570x -||- O2+ODAC-||- Sennheiser HD-650 -|| Boycott EA,2K,Activision,Ubisoft,WB,EGS
Arch Linux, one hell of a distribution.

Permalänk
Medlem
Skrivet av Commander:

public void setLoan() { Objects objects = new Objects(); loan = new Objects(" "," ", "", "", "", "", loanField.getText(),nameField.getText(), phoneField.getText()); }

Du skapar 2 objekt, ett Objects object utan någon vidare data och sedan Objects loan med delvis data. Sen då?

Objects objects = new Objects(); är fel, en tabbe av mig!

Grejen är att när man har skapat ett loan så strycks det man tidigare har skapat i

item = new Objects(typeField.getText(),
titleField.getText(),
genreField.getText(),
lengthField.getText(),
publisherField.getText(),
yearField.getText(), " ", " ", " ");

Frågan är hur man ska göra, ska man dela upp det i två konstruktorer eller?

Permalänk
Medlem
Skrivet av RepZi:

Objects objects = new Objects(); är fel, en tabbe av mig!

Grejen är att när man har skapat ett loan så strycks det man tidigare har skapat i

item = new Objects(typeField.getText(),
titleField.getText(),
genreField.getText(),
lengthField.getText(),
publisherField.getText(),
yearField.getText(), " ", " ", " ");

Frågan är hur man ska göra, ska man dela upp det i två konstruktorer eller?

En konstruktor är en speciell metod på en klass. En konstruktor skapar ett objekt av klassen. Du kan inte skapa ett objekt genom att anropa två konstruktorer (en konstruktor kan däremot anropa en annan konstruktor men det är en annan femma).

Din klass Dialog definierar ett item. Om du kör setItem på en instans av Dialog så ersätter du det tidigare itemet.

Visa signatur

Kom-pa-TI-bilitet

Permalänk
Medlem
Skrivet av Teknocide:

En konstruktor är en speciell metod på en klass. En konstruktor skapar ett objekt av klassen. Du kan inte skapa ett objekt genom att anropa två konstruktorer (en konstruktor kan däremot anropa en annan konstruktor men det är en annan femma).

Din klass Dialog definierar ett item. Om du kör setItem på en instans av Dialog så ersätter du det tidigare itemet.

Lyckades lösa problemet på mitt eget lilla sätt. Men har ett problem kvar, nämligen att ladda sparad text fil. Blir en massa errors när jag laddar filen, koden ser ut så här.

if (arg.getSource() == load) {

Objects[] tempObject = item.readFile("info.txt");

for (int i = 0; tempObject[i] != null; i++)
{
item.add(tempObject[i]);
}
}

public void writeFile() {
try {
fw = new FileWriter("info.txt");
for (int row = 0; row <= (obj.size() - 1); row++) {
for (int col = 0; col <= 5; col++) {
fw.write(getValueAt(row, col).toString());
if (col < 5)
fw.write("|");
}
fw.write("\r\n");
}
fw.close();
} catch (IOException e) {
System.err.println(e.getMessage());
}
System.out.println("File been saved!");
}

public Objects[] readFile(String fileName) {
Objects[] o = new Objects[Dynamic_counter];
int i = 0;
try {
fr = new FileReader(fileName);
BufferedReader br = new BufferedReader(fr);
String s;
try {
while ((s = br.readLine()) != null) {
String[] temp;
temp = s.split("\\|");
o[i] = new Objects(temp[0], temp[1], temp[2], temp[3],
temp[4], temp[5], temp[6], temp[7], temp[8]);
i++;
}
} catch (IOException e) {
e.printStackTrace();
}
} catch (FileNotFoundException e) {
e.printStackTrace();
}
System.out.println("File been loaded!");
return o;

}
}

Permalänk
Medlem

Har du redan glömt bort code-taggarna? Det där går inte att läsa..

Visa signatur

Kom-pa-TI-bilitet

Permalänk
Medlem
Skrivet av Teknocide:

Har du redan glömt bort code-taggarna? Det där går inte att läsa..

Får inga errors nu men texten dyker inte upp i tabellen. Någon som kan vara busig och lista ut varför?

public Objects[] readFile(String fileName) { Objects[] o = new Objects[Dynamic_counter]; try { fr = new FileReader(fileName); BufferedReader br = new BufferedReader(fr); String s; try { while ((s = br.readLine()) != null) { String[] temp; temp = s.split("\\|"); for (int row = 0; i <= (obj.size() - 1); row++) o[row] = new Objects(temp[0], temp[1], temp[2], temp[3], temp[4], temp[5], temp[6], temp[7], temp[8]); } } catch (IOException e) { e.printStackTrace(); } } catch (FileNotFoundException e) { e.printStackTrace(); } System.out.println("File been loaded!"); return o; }

if (arg.getSource() == load) { Objects[] tempObject = item.readFile("info.txt"); for (int i = 0; tempObject[i] != null; i++) { item.add(tempObject[i]); } }