2020-04-08, 11:53
  #1
Medlem
GrandCanyons avatar
Hej, pluggar data- och systemvetenskap. Undrar generellt över koncept för att bygga snygga 2D GUIs. Har läst mest Java och främst backend, det vi har fått lära oss inom GUI är att använda Swing, och jag har svårt att se hur man kan bygga riktig snygga gränssnitt med detta. Om man nu ändå gör det i branschen, finns det några här som kan förklara hur det går till, såsom koncept och tekniker. Om det inte görs, hur gör man istället? Har även börjat en kurs i C++ där vi använder SDL för GUI, diskutera gärna gärna koncept och tekniker och vilka skillnaderna är mot swing. Skickar med en länk till ett GUI över ett pokerbord på pokerstars som kan användas för att exemplifiera.

https://minfil.com/Ber38dn8od/pokerstars_PNG

Tack på förhand!
Citera
2020-04-08, 12:37
  #2
Medlem
kalkryggars avatar
Rent generellt så skall man undvika Java till allt då det är föråldrat och långsamt. Ofta ganska osäkert också.

Så att du börjar med C++ är helt klart ett steg i rätt riktning. Sen berör det på vad för GUI du tänkt bygga. Är det spel så skulle jag lärt mig Unreal (C++) eller Unity (C#). Men om det skall satsa på en karriär där du bygger infotainmentsystem eller annat inom robotvärlden så rekommenderas bland annat Qt (c++).

Jag talade med en arkitekt som har dragit igång ett projekt med framtidens metoder för försäljning av både modeller, ritningar och allmänt uppvisande. Där kör dom Unreal (C++).

Java kör väl inte så många idag, förutom den äldre generationen som gärna imponeras av när någon har en klocka som visar tiden binärt.
Citera
2020-04-08, 12:48
  #3
Medlem
BigBusinesss avatar
Citat:
Ursprungligen postat av kalkryggar
Rent generellt så skall man undvika Java till allt då det är föråldrat och långsamt. Ofta ganska osäkert också.

Java kör väl inte så många idag, förutom den äldre generationen som gärna imponeras av när någon har en klocka som visar tiden binärt.

Ursäkta driver du bara med oss?

Hört talas om Android?

Men du menar web-clienter kanske? Där är Java dött som disko.
Citera
2020-04-08, 13:03
  #4
Medlem
GrandCanyons avatar
Citat:
Ursprungligen postat av kalkryggar
Rent generellt så skall man undvika Java till allt då det är föråldrat och långsamt. Ofta ganska osäkert också.

Så att du börjar med C++ är helt klart ett steg i rätt riktning. Sen berör det på vad för GUI du tänkt bygga. Är det spel så skulle jag lärt mig Unreal (C++) eller Unity (C#). Men om det skall satsa på en karriär där du bygger infotainmentsystem eller annat inom robotvärlden så rekommenderas bland annat Qt (c++).

Jag talade med en arkitekt som har dragit igång ett projekt med framtidens metoder för försäljning av både modeller, ritningar och allmänt uppvisande. Där kör dom Unreal (C++).

Java kör väl inte så många idag, förutom den äldre generationen som gärna imponeras av när någon har en klocka som visar tiden binärt.

Jo, fast jag skulle vilja ta ner det på detaljnivå, eftersom jag är väldigt dålig på GUIs, aldrig byggt något som kan tillnärmelsevis kallas avancerat. Om man till att börja med tittar på exempelbilden, är den överhuvudtaget möjlig att bygga med hjälp av swing? Och då menar jag ingen dålig kopia utan exakt som den ser ut. Vidare, om det är gjort så, hur skapar man bilderna som läggs i olika containers, jag antar att de inte skapas programmatiskt på pixelnivå. Är det via program som photshop (jag vet inte ens om det går att göra i photoshop, ärligt talat) eller kanske andra program direkt avsedda för detta ändämål. Ja som sagt, jag är väldigt novis på detta
Citera
2020-04-08, 16:27
  #5
Moderator
Protons avatar
Citat:
Ursprungligen postat av GrandCanyon
Jo, fast jag skulle vilja ta ner det på detaljnivå, eftersom jag är väldigt dålig på GUIs, aldrig byggt något som kan tillnärmelsevis kallas avancerat. Om man till att börja med tittar på exempelbilden, är den överhuvudtaget möjlig att bygga med hjälp av swing? Och då menar jag ingen dålig kopia utan exakt som den ser ut. Vidare, om det är gjort så, hur skapar man bilderna som läggs i olika containers, jag antar att de inte skapas programmatiskt på pixelnivå. Är det via program som photshop (jag vet inte ens om det går att göra i photoshop, ärligt talat) eller kanske andra program direkt avsedda för detta ändämål. Ja som sagt, jag är väldigt novis på detta
https://stackoverflow.com/questions/...button-in-java har de samma diskussion, dvs att tåta ihop sina egna knappar i swing. Den kanske du kan läsa?

Att java är söligt, osäkert, whatever skulle jag nog ta med en nypa salt.

Om inte vill jag gärna ha en källa på det påståendet.
Citera
2020-04-08, 16:54
  #6
Medlem
GrandCanyons avatar
Citat:
Ursprungligen postat av Proton
https://stackoverflow.com/questions/...button-in-java har de samma diskussion, dvs att tåta ihop sina egna knappar i swing. Den kanske du kan läsa?

Att java är söligt, osäkert, whatever skulle jag nog ta med en nypa salt.

Om inte vill jag gärna ha en källa på det påståendet.

Ok, fast tåta ihop knappar i Swing kan jag, det är inte särskilt svårt. Det är inte helt lätt att förklara vad jag är ute efter, men jag ska försöka ställa några raka frågor, och se om man kan vidareutveckla resonemanget utifrån det.

1. På den nivå vi kodar gränssnitt med swing i skolan, om vi ska lägga en bild i en containerkomponent, så tar vi en bild från nätet och använder den. Däremot om man designar exempelvis ett pokerbord som på bilden, som måste man ju först skapa egna bilder, enligt den designen man vill ha. Så frågan är när man utvecklar ett sånt gränssnitt, finns det några program som är avsedda för att skapa dessa bilder, skulle exempelvis photoshop kunna vara ett sånt, eller finns det mer ändamålsenliga såna program?

2. Pokerbordet på bilden, hur den ser ut och om man tänker sig funktionalitet som att spelaren får kort, placerar marker i potten visuellt, samt exempelvis time-baren som tickar på spelaren längst ner till vänster. Skulle detta vara möjligt att bygga enbart med hjälp av swing, precis som det ser ut på bilden?

PS.om java är söligt eller inte beror väl på prestandakraven
__________________
Senast redigerad av GrandCanyon 2020-04-08 kl. 16:56.
Citera
2020-04-08, 18:28
  #7
Moderator
Protons avatar
Citat:
Ursprungligen postat av GrandCanyon
Ok, fast tåta ihop knappar i Swing kan jag, det är inte särskilt svårt. Det är inte helt lätt att förklara vad jag är ute efter, men jag ska försöka ställa några raka frågor, och se om man kan vidareutveckla resonemanget utifrån det.

1. På den nivå vi kodar gränssnitt med swing i skolan, om vi ska lägga en bild i en containerkomponent, så tar vi en bild från nätet och använder den. Däremot om man designar exempelvis ett pokerbord som på bilden, som måste man ju först skapa egna bilder, enligt den designen man vill ha. Så frågan är när man utvecklar ett sånt gränssnitt, finns det några program som är avsedda för att skapa dessa bilder, skulle exempelvis photoshop kunna vara ett sånt, eller finns det mer ändamålsenliga såna program?

2. Pokerbordet på bilden, hur den ser ut och om man tänker sig funktionalitet som att spelaren får kort, placerar marker i potten visuellt, samt exempelvis time-baren som tickar på spelaren längst ner till vänster. Skulle detta vara möjligt att bygga enbart med hjälp av swing, precis som det ser ut på bilden?

PS.om java är söligt eller inte beror väl på prestandakraven
Att fixa ikoner etc kan väl göras i i stort sett vilket grafikprogram som helst, till exempel photoshop.

Jag är tämligen övertygad om att resterande del av dina funderingar går att bygga med swing.

Saknar dock egna belägg för det ska jag väl tillägga.
Citera
2020-04-08, 19:57
  #8
Medlem
Citat:
Ursprungligen postat av GrandCanyon
Ok, fast tåta ihop knappar i Swing kan jag, det är inte särskilt svårt. Det är inte helt lätt att förklara vad jag är ute efter, men jag ska försöka ställa några raka frågor, och se om man kan vidareutveckla resonemanget utifrån det.

1. På den nivå vi kodar gränssnitt med swing i skolan, om vi ska lägga en bild i en containerkomponent, så tar vi en bild från nätet och använder den. Däremot om man designar exempelvis ett pokerbord som på bilden, som måste man ju först skapa egna bilder, enligt den designen man vill ha. Så frågan är när man utvecklar ett sånt gränssnitt, finns det några program som är avsedda för att skapa dessa bilder, skulle exempelvis photoshop kunna vara ett sånt, eller finns det mer ändamålsenliga såna program?

2. Pokerbordet på bilden, hur den ser ut och om man tänker sig funktionalitet som att spelaren får kort, placerar marker i potten visuellt, samt exempelvis time-baren som tickar på spelaren längst ner till vänster. Skulle detta vara möjligt att bygga enbart med hjälp av swing, precis som det ser ut på bilden?

PS.om java är söligt eller inte beror väl på prestandakraven

Eftersom du kan överlagra metoden 'paintComponent' så kan du i princip få vilket utseende du själv vill och klarar av att rita. Lättast och snyggast blir ju att använda färdiga bilder och sedan bara rita ut dem. Men man har även möjlighet att rita rakt av i koden också.
Och det är även möjligt att skapa animationer om man nu vill ha det (med tanke på exempelvis time-baren'). Så att få något snyggt är mer att man ska vara lite konstnärligt lagd...🙂
Citera
2020-04-08, 21:37
  #9
Medlem
Citat:
Ursprungligen postat av GrandCanyon
Hej, pluggar data- och systemvetenskap. Undrar generellt över koncept för att bygga snygga 2D GUIs. Har läst mest Java och främst backend, det vi har fått lära oss inom GUI är att använda Swing, och jag har svårt att se hur man kan bygga riktig snygga gränssnitt med detta. Om man nu ändå gör det i branschen, finns det några här som kan förklara hur det går till, såsom koncept och tekniker. Om det inte görs, hur gör man istället? Har även börjat en kurs i C++ där vi använder SDL för GUI, diskutera gärna gärna koncept och tekniker och vilka skillnaderna är mot swing. Skickar med en länk till ett GUI över ett pokerbord på pokerstars som kan användas för att exemplifiera.

https://minfil.com/Ber38dn8od/pokerstars_PNG

Tack på förhand!

Swing har väl varit på väg ut sedan 2008. Det är JavaFX numera.
Citera
2020-04-13, 23:21
  #10
Medlem
GrandCanyons avatar
Citat:
Ursprungligen postat av IngetNick2
Swing har väl varit på väg ut sedan 2008. Det är JavaFX numera.

Ja, det stämmer. Har haft ett längre studieuppehåll så var inte uppdaterad på det. Egentligen är jag mest ute efter koncept, men Swing blir ju en lämplig referenspunkt eftersom det är det jag sysslat med lite grann. Har inte varit särskilt intresserad av GUIs tidigare, men blivit nyfiken.
Citera

Skapa ett konto eller logga in för att kommentera

Du måste vara medlem för att kunna kommentera

Skapa ett konto

Det är enkelt att registrera ett nytt konto

Bli medlem

Logga in

Har du redan ett konto? Logga in här

Logga in