Inlägg

Inlägg som EmelieH046 har skrivit i forumet
Av EmelieH046

Hjälp mig skapa en körbar jar-fil (intellij)

Hej! Jag har programmerat ett tag nu och har lyckats göra ett helt ok program som gör lite olika beräkningar. Det funkar att köra i swing när jag har intellij uppe, men jag vill gärna kunna ladda ner programmet som en körbar jar-fil, som enkelt kan köra programmet oavsett om man sitter i intellij eller inte.

Jag har suttit x timmar på olika hemsidor, sett videor, etc, men alltid är det något i stegen som inte ser ut som det gör för mig, eller av andra anledningar inte funkar.

Jag kommer så långt att jag lyckas skapa en jar-fil under out --> artifacts i mitt projekt (jag gör detta genom project structure-->artifacts-->rebuild artifacts.)

Vissa sidor skriver någonting om Maven, som jag inte vet vad det är. Andra skriver något om att man måste ha ett manifest, och att man kör jar-filen genom att slå in en command prompt i terminalen, men det är ju inte det jag vill. Jag vill ha en nedladdningsbarfil som jag kan ha lätt tillgänglig på min data och helt enkelt köra.

Hade varit otroligt tacksam om någon kunde hjälpa mig med det här, även om det bara är genom att ge mig en hänvisning till vad jag ska följa för guide (för det finns så otroligt mycket olika direktiv på nätet!.)

Av EmelieH046

fattar inte riktigt... när jag försöker göra det så skriver den ut så det ser konstigt ut, typ @132323 osv..

Av EmelieH046

@Tea42BBS:

hur gör man för att returnera texten som finns inuti array:en istället?

Av EmelieH046

det jag försöker göra är alltså att hämta element (regnr) från objekten (bilar) i en ArrayList, och visa dem i en textArea. Har aldrig gjort detta förut och känner mig helt lost i hur jag ska gå tillväga.

Av EmelieH046

@Haptic:

skriver jag "hej" så kommer det ut i textArea. Controller.print() letar efter en kund i ett kundregister, och om den hittas, (customer!=null) så sker customer.print(), dvs den ska hämta en metod jag gjort i kundklassen som skriver ut registreringsnumret hos kundens bilar, vilka finns i en egen arrayList hos kundklassen.

Av EmelieH046

kan jag använda denna metod i textArea?

jag har gjort en printOut() metod som funkar när jag använder den i min testklass, genom att den skriver ut en persons tillhörande regnr i console. Men jag försöker använda den i mitt interface, vilket inte går eftersom texten fortfarande skrivs ut i console istället för i textArea, vilket är målet. Jag har använt textArea.setText(controller.print(); men det går inte.

Av EmelieH046
Skrivet av l4nky:

Är det skoluppgifter du håller på med? Känns som du frågar något varje dag.

Nej det är inte skoluppgifter. Får man inte lov att ställa frågor i ett hjälpforum varje dag ?

Skickades från m.sweclockers.com

Av EmelieH046
Skrivet av TheNorthernlight:

@EmelieH046: Det kan då göras genom en metod i kortklassen som slår ihop en sträng av den informationen den innehåller som du vill ska komma med.
En textsträng är lätt att skapa då strängar görs med text inom "", sedan kan denna slås ihop med andra textsträngar genom operatorn +, det gäller även med tal och annat.

Exempel:

// I kortklassen då // Exempel variabler String intressantNamn = "namn"; String intressantText = "text"; int evtIntressantTal = 123; // Exempel metod public String textMetod() { return "Statisk text " + intressantNamn + ", " + intressantText + ", " + evtIntressantTal + "."; } // Alternativ överskugga toString som alla klasser har, // men som man kan specificera för sin egen klass vad den ska ge. @Override public String toString() { return "Statisk text " + intressantNamn + ", " + intressantText + ", " + evtIntressantTal + "."; }

men hur gör jag så att endast en persons specifika konton skrivs ut?

Av EmelieH046
Skrivet av TheNorthernlight:

Har du någon metod för att skriva ut informationen hos kortobjekten?
För om du har det bör du bara kunna gå igenom varje kort (antar att getCards() ger ArrayListen med kortobjekten) och skriva ut den informationen genom att först rensa text arean och sedan lägga till strängen för varje kort och formatera det som du vill.

Annars får du helt enkelt göra en metod, exempelvis genom att överskugga toString() metoden, som skapar en textsträng vilken då innehåller den formaterade informationen.

ja exakt. men hur lägger jag till "strängen för varje kort"?

Av EmelieH046

Hur skriva ut information i en textArea?

textArea.setText(person.getCards());

jag har gjort en textArea i mitt Java-swing program, och försöker skriva ut alla en persons tillhörande konto i den.
Varje personklass innehåller en ArrayLista av klassen Kreditkort, det finns en metod getCards(); som hämtar alla dessa kort som tillhör en person. Men HUR gör jag för att bryta ner getCards() i en fin sträng så att korten skrivs ut snyggt i textArea? Har ingen aning om hur jag gör, vilka metoder som ska användas. Är ny på programmering och har aldrig gjort detta förut.

Av EmelieH046
Skrivet av l4nky:

Har du verkligen sökt på internet? Jag hittar massvis med olika lösningar. Ex:

http://www.java2s.com/Tutorial/Java/0240__Swing/Insertanewcol...
http://www.java2s.com/Tutorial/Java/0240__Swing/Addcolumnstoa...

String[] columns = {"Column 1","Column 2"}; DefaultTableModel model = new DefaultTableModel(columns, 0); <-- 0 is number of rows JTable table = new JTable(model);

från https://stackoverflow.com/a/21605879

funkar fortfarande inte..

Av EmelieH046

HUR lägga till kolumner till JTable?

Har sökt runt halva internet men hittar inte hur jag gör. Försöker lägga till kolumner till jtable. Hur gör man?

table = new JTable(); table.setBounds(6, 137, 498, 204); frame.getContentPane().add(table); Object[] columns= {"rubrik"}; DefaultTableModel model=new DefaultTableModel(); model.setColumnIdentifiers(columns); table.setModel(model);

såhär har jag försökt

Av EmelieH046

Varför skrivs inte texten ut? (interface i java)

JButton btnFindCustomer = new JButton("Hitta kort"); //Hittar och returnerar en String av kund. btnFindCustomer.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { String cNumberFind = customerNbrTextField.getText(); { String [] aCust = controller.findCustomerString(cNumberFind); //hitta en kund av typen costumer //instansiera en variabel String array if (aCust !=null && aCust.length==4) { //om kunden finns... lblNewKund.setText("Kort hittat"); if (aCust.length==4) { customerNbrTextField.setText(aCust[0]); customerNameTextField.setText(aCust[1]); cardTypeTextField.setText(aCust[2]); CardNbrTextField.setText(aCust[3]); }else lblNewKund.setText("Kort ej hittat");{

ovan visar koden till interfacet.

public String[] findCreditCardString(String creditCardNbr) { //returnerar string av creditcard Creditcard card; String[] aCard = null; card = creditcardRegister.findCreditCard(creditCardNbr); { if (card != null && card.getOwner() !=null) { aCard = new String[4]; aCard[0] = card.getCardNumber(); aCard[1] = card.getType(); aCard[2] = card.getOwner().getCName(); aCard[3] = card.getOwner().getCNumber();

och här står koden som finns i controllern.

När jag trycker på "hitta kort" i programmet så har jag nyss tagit bort både kund och kort för den inskrivna kunden. Inget dyker alltså upp när jag söker på den tidigare kunden. Så varför skrivs inte "kort hittades ej" texten ut?

Av EmelieH046

@Leedow:

okej alltså problemet är att när jag använder knapp "ta bort kund" så står det i mitt response field att "kunden är borttagen", men när jag söker på den efter det med systemets "hitta" knapp så dyker kunden upp.. alltså den finns kvar. Inte någon som kan se vad som är fel??

Av EmelieH046

Varför fungerar inte "ta bort"- JButton?

Jag försöker göra en JButton för att ta bort en kund, men kunden finns kvar efter jag använt knappen i interfacet. Såhär ser koden ut i interfacet:

btnRemoveCustomer = new JButton("Ta bort kund"); btnRemoveCustomer.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { String cNumberFind = customerNbrTextField.getText(); { String [] tmpCustomer = controller.findCustomer(cNumberFind); if (tmpCustomer !=null) { controller.removeCustomer(cNumberFind); lblNewKund.setText("Kund borttagen"); } else { lblNewKund.setText("Kund hittades inte")

och i min controller:

public void removeCustomer(String CNumber) { //DELETE CUSTOMER Customer customer = customerRegister.getCustomer(CNumber); if (customer != null) customerRegister.removeCustomer(customer); }

denna finns i klassen kundregister

public boolean removeCustomer(Customer customer) { return customers.remove(customer);

nån som kan se nåt fel i koden?

Av EmelieH046

HUR gör jag en JList? (nybörjare)

Jag är nybörjare i programmering, och jag försöker göra mitt första interface i java. Det jag vill skapa är en ruta, en lista, där jag efter att ha skrivit in ett kundnummer kan få ut alla dennes tillhörande konton.

public void printAccounts(String cNumber) { //PRINT ACCOUNTS for (Creditcard a: creditcards) { Customer c = a.getOwner(); if (cNumber.equals(c.getCNumber())); System.out.println(a.getCardNumber() + a.getType());

Såhär har jag påbörjat en print-metod i klassen kontoregister. Det jag behöver göra är att skriva om den i controller klassen samt koppla metoden till en JList i interfacet. Har mer eller mindre ingen aning om hur.

Av EmelieH046

behöver ju på något vis skriva en metod som gör att alla konton för en viss kund skrivs ut...

Av EmelieH046
Skrivet av Multithread:

Visst kan du göra det.

Om du skapar en knapp med en lyssnare så kan du göra det.

Vart sparar du konton?

Har du en database eller sparar du i en textfil eller kanske något annat?

Jag har en arraylist, ett "kontoregister" av klassen Creditcard, där jag lägger in konton.

Av EmelieH046
Skrivet av Multithread:

Ok, du måste använda getText() i den metoder du vill hämta in den informationen också.

Gör du det?

Ja. Jag tror att när jag fyller i kortnr och korttyp + kundnr + kundnamn och sedan "lägg till kund" så läggs allt in, men jag har ingen knapp att använda för att se hur många konton en kund har. Detta skulle jag behöva göra på ett snyggt sätt. Kan man göra någon slags ruta i interfacet kopplad till en knapp "skriv ut konton för kund" ? är som sagt väldigt ny i java.

Av EmelieH046

men när jag vill lägga till en kund, så lägger den bara till kundens namn och kundnr, även om jag fyller i kortnr och korttyp också. Varför är det så?