Hirdetés

2024. május 2., csütörtök

Gyorskeresés

Útvonal

Fórumok  »  Szoftverfejlesztés  »  Java programozás (kiemelt téma)

Hozzászólások

(#10101) smallmer válasza Zahze (#10099) üzenetére


smallmer
őstag

Server oldal:

try {
while (true) {
beerkezoKliens = szerver.accept();
System.out.println("Kliens csatlakozott");
try {
PrintWriter kuldes = new PrintWriter(beerkezoKliens.getOutputStream(), true);
for (int i = 0; i < szamCimek.size(); i++) {
kuldes.println(szamCimek.get(i));
}
} catch (IOException ex) {
System.out.println("Nem kuldott semmit");
}
}
} catch (IOException ex) {
System.out.println("nem tudott csatlakozni kliens");
}

Kliens oldal:
do{

valasz = beolvas.readLine();
szamCimekClient.add(valasz);

System.out.println(valasz);
System.out.println(szamCimekClient.size());
} while (valasz != null);

System.out.println("1");

A kliens már az utolsó kiírást nem csinálja meg.

(#10102) Drizzt válasza smallmer (#10101) üzenetére


Drizzt
nagyúr

Ha kuldes utan csinalsz flush-t es close-t a kuldes objektumodra, akkor mi tortenik? A beolvast is kene close-olni a vegen.

I am having fun staying poor.

(#10103) smallmer válasza Drizzt (#10102) üzenetére


smallmer
őstag

köszönöm, így már kiírja az 1-est is :R

(#10104) Drizzt válasza smallmer (#10103) üzenetére


Drizzt
nagyúr

Még szebb éenne amúgy, ha try with resources-t haszbálnál. Ezt olyan osztályokra lehet alkalmazni, amik implementálják az AutoCloseable interface-t. Ilyenkor a try blokk végé a try után közvetlenül zárójelbe írt példányok close-a implicit meg lesz hívva.

Tehát valahogy így nézni ki:

try(PrintWriter kuldes = new PrintWriter(beerkezoKliens.getOutputStream(), true);) {
for (int i = 0; i < szamCimek.size(); i++) {
kuldes.println(szamCimek.get(i));
}
} catch (IOException ex) {
System.out.println("Nem kuldott semmit");
}

Persze lehetne még csomó mindent csinálni. Kinn is try-with-resourcest használni, többszálúság, etc.

I am having fun staying poor.

(#10105) Zsoxx


Zsoxx
senior tag

Sziasztok

JavaFX-szel ismerkedem (+JAVA természetesen). Egy-két egyszerűbb programot már létrehoztam vele. Az lenne a kérdésem, hogy hogyan lehet önállóan, Win alatt futtatható programmá konvertálni a kész projektet?

Illetve mennyire érdemes belemélyedni az FX-be? Van nála modernebb megoldás asztali alkalmazásokhoz?

[ Szerkesztve ]

(#10106) user112


user112
senior tag

Sziasztok!

A Netbeans-hez ez a JDK kell?

A JDK 11 volt fent egy gépen, de ezzel nem települ a Netbeans.

(#10107) Aethelstone válasza Zsoxx (#10105) üzenetére


Aethelstone
addikt

Ha exe fájl kell, van többféle megoldas. Nekem ez vált be : http://launch4j.sourceforge.net
Egyelőre szerintem nincs jobb megoldás Java-hoz. Esetleg swt. Az swt-hez viszont OS függő dll/so kell.

[ Szerkesztve ]

MI 10T Pro 8/256 , Arsenal FC - Go Gunnarz...

(#10108) Dinter


Dinter
addikt

Sziasztok.
.
Van egy grafikus JavaFX alkalmazásom, az App osztály felelős az kirajzolásért és az irányításért. A problémám a következő:

Van egy gombom (addMember), ami azt szeretném, hogy a kattintáskor létrehozzon egy új Member-t, majd ezt a Member-t hozzáadja ahhoz a Team-hez, ami épp ki van választva a megjelenített táblázatban. Ha én az EventHandler-t az App-on belül valósítom meg, akkor minden gombnak az App osztály adattagjának kell lennie, hogy a handle függvényben le tudjam ellenőrizni, hogy melyik osztályban történt a kattintás. Viszont ha külön osztályt hozok erre létre, akkor viszont kattintáskor le kéne kérni a szövegdobozok tartalmát, az épp aktuálisan kiválasztott Team-et, és ezt átadni az EventHandler-nek, de ezt önmagának nem tudja megtenni. Arra gondoltam, hogyha az App-on belül a csapatokat tároló teamData, teamTable (megjelenített táblázat) és a szövegdobozok static-ok lennének, akkor külső EventHandler osztályból is elérném őket és akkor legalább a gomboknak nem kellene az App osztálynak adattagjának lenni, hanem lehetne függvényen belül. Van erre valami más megoldás?

(#10109) Drizzt válasza Dinter (#10108) üzenetére


Drizzt
nagyúr

Valahol van erre minta kódod?

"Ha én az EventHandler-t az App-on belül valósítom meg, akkor minden gombnak az App osztály adattagjának kell lennie, hogy a handle függvényben le tudjam ellenőrizni, hogy melyik osztályban történt a kattintás."

Ez szerintem nem így van. Vagyis nem teljesen értem, hogy mit értesz az alatt, hogy le kell tudd ellenőrizni, hogy melyik osztályban történt a kattintás? Miért kellene ezt leellenőrizni? Ha bárhol csinálsz EventHandler-t implementáló osztályt, azt be tudod állítani event handlernek. Akár csinálhatsz egy olyan függvényt az Appban, ami EventHandler<MouseEvent>-et ad vissza, pl. így:

Class MyApplication {
EventHandler<MouseEvent> createTeamHandler(Team t) {
return new EventHandler<MouseEvent>() {
@Override
public void handle(MouseEvent e) {
System.out.println("MouseEventhandler runs");
t.doSomething();
}
};
}
}

És akkor ahol akarod használni:

MyApplication app = new MyApplication();
Team t = new Team();
button.addEventHandler(app.createTeamHandler(t));

Mondjuk Javafx-hez sem értek. De ehhez hasonló dolog simán megy pl.: Consumer-ekkel:

public class Book{

public Book(String name) {
this.name = name;
}

private String name;
private Consumer<Book> consumer;

public String getName() {
return name;
}

public void setName(String name) {
this.name = name;
}

public void setConsumer(Consumer<Book> bookConsumer) {
consumer = bookConsumer;
}

public void consume() {
consumer.accept(this);
}
}

public class Tester {

public static Consumer<Book> getBookConsumer(int number) {
return new Consumer<Book>() {
@Override
public void accept(Book book) {
System.out.println(number);
}
};
}

public static void test() {
Book b1 = new Book("AGILE workflow");
b1.setConsumer((book -> {
System.out.println(visitables.size());
}));
b1.consume();
b1.setConsumer(getBookConsumer(8));
b1.consume();
}
}

I am having fun staying poor.

(#10110) smallmer


smallmer
őstag

Sziasztok!

Mitől lehet:

A JFrame-hez, hozzáadok JButton-okat, illetve JLabel-eket, viszont csak akkor jelennek meg ha fölé húzom az egeret.

Köszönöm :R

[ Szerkesztve ]

(#10111) Drizzt válasza smallmer (#10110) üzenetére


Drizzt
nagyúr

En ugyan nem ertek a JFrame-hez, de a google a baratom:
[link]

Valahogy ugy kezdodik az osszes valasz, hogy JFramehez kozvetlenul ne adj semmit.

I am having fun staying poor.

(#10112) Zahze


Zahze
csendes tag

Sziasztok.

SpringBoot alkalmazásból szeretnék elérni egy Mysql adatbázist, de ezt a hibaüzenetet kapom:

java.sql.SQLException: Unable to load authentication plugin 'caching_sha2_password'.

A program properties fájlja:

datasource:
url: jdbc:mysql://localhost:3307/blogDB?useSSL=false
username: username
password: password
tomcat:
connection-properties: useUnicode=true;characterEncoding=utf-8
max-wait: 20000
max-active: 50
initialization-mode: always

jpa:
hibernate:
ddl-auto: create
show-sql: true
properties:
hibernate.dialect: org.hibernate.dialect.MySQL5Dialect

Ha a useSSL-t true-ra állítom akkor pedig ezzel a hibával száll el:

com.mysql.cj.jdbc.exceptions.CommunicationsException: Communications link failure

The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server.

Őszintén szólva, nem igazán értem mi lehet a probléma.
Az első hibára az interneten javasolt megoldás nekem nem működött, ugyan úgy dobja a hibát.
(Javasolt megoldás : )

ALTER USER 'student'@'localhost' IDENTIFIED WITH mysql_native_password BY 'pass123';

Az adatbázis localhost-on megy, dockerbe, a default 3306-os portot más adatbázis miatt át mappeltem 3307-re. MySQL Workbench-el elérem az adatbázist, csak programból nem.

Tipp ? :W

[ Szerkesztve ]

Talk is cheap. Show me the code - Linus Torvalds

(#10113) htc07 válasza Zahze (#10112) üzenetére


htc07
addikt

Úgy látom, a mysql5-ben a mysql_native_password a default authentication plugin, a 8-ban pedig a caching_sha2_password. Feltételezem 8-ast használsz.

elsőre amit megpróbálnék, a hibernate dialect-et mysql8-ra állítani.

ha nem jön be, ezt próbáld meg esetleg:

https://stackoverflow.com/a/49228443

de ne vedd készpénznek így negyed4kor. :DDD

[ Szerkesztve ]

(#10114) smallmer válasza Drizzt (#10111) üzenetére


smallmer
őstag

köszönöm szépen!

Újabb kérdés. Hogyan tudok egy Serverből zenét Streamelni a kliens felé?

(#10115) Miertvansote


Miertvansote
tag

Sziasztok!
Lehetséges, hogy nem jó helyen járok de hátha. Eddig még nem foglalkoztam programozással (kivéve PLC). Egy év múlva befejeződik az aktuális projektem. Utána lehetséges, hogy felköltözök pestre, és ha úgy adódik megpróbálok elhelyezkedni, valamilyen programozóként. Villamosmérnökét végeztem, egy minimális C tapasztalatom van. A kérdésem, az hogy ti mit ajánlotok, Milyen nyelvet érdemes elkezdeni tanulni, látva az aktuális elvárásokat... (heti 7-8 órát foglalkoznék vele) Addigra egy kezdő szint csak menne, amivel már el tudok helyezkedni. Köszi előre is a tippeket.

(#10116) Aethelstone válasza Miertvansote (#10115) üzenetére


Aethelstone
addikt

Aktuális elvárás..ilyen nincs. Egyébként Java/Kotlin/c# kombóval nem nagyon tudsz mellélőni.

MI 10T Pro 8/256 , Arsenal FC - Go Gunnarz...

(#10117) Zsoxx válasza Aethelstone (#10116) üzenetére


Zsoxx
senior tag

JAVA junior pozícióban kb. melyek a követelmények? Milyen jellegű (rész)projekteket bíznak junior programozókra?

(#10118) Aethelstone válasza Zsoxx (#10117) üzenetére


Aethelstone
addikt

Nos, kb. a szarlapátolást, amit a magukat seniornak gondolók rangon alulinak tartanak megcsinálni :D

MI 10T Pro 8/256 , Arsenal FC - Go Gunnarz...

(#10119) Miertvansote válasza Aethelstone (#10118) üzenetére


Miertvansote
tag

Mennyit lehet elkérni ezért a szarlapátolásért ? 650 bruttó ?

Egy másik kérdés, gondolkodom, most hogy nekiállok a németnek. Van bármi haszna az IT szektorban ? Villamosmérnökként, talán multiknál lehet haszna egyébként nem gondolnám, nálatok mi a helyzet ?

(#10120) Aethelstone válasza Miertvansote (#10119) üzenetére


Aethelstone
addikt

Ha ki akarsz menni vagy a Siemens-nél akarsz dolgozni, akkor jó. 500 brutto kb.

[ Szerkesztve ]

MI 10T Pro 8/256 , Arsenal FC - Go Gunnarz...

(#10121) Drizzt válasza Miertvansote (#10119) üzenetére


Drizzt
nagyúr

Ha elso munkahelyet ertjuk a junior alatt, akkor szerintem 600k fele menni lehetlennek hangzik. Par ev utan ossze lehet hozni, vagy jo korabbi referenciakkal, de full elso munkahelyre nulla tapasztalattal szerintem kizart. Ott inkabb a 400-500k a realitas manapsag.

I am having fun staying poor.

(#10122) Cathfaern válasza Miertvansote (#10119) üzenetére


Cathfaern
nagyúr

Német multiknál van, vagy ha nyugati határszélen akarsz dolgozni olyan cégnél aki terjeszkedik ausztria fele is. Amúgy nem sok.

(#10123) htc07 válasza Drizzt (#10121) üzenetére


htc07
addikt

frissen végzett bootcampes java-s vagyok, nem kapkodnak utánunk annyira, pedig 400 bruttó alatt kérünk.
ugyanitt állásajánlatokat meghallgatok :DDD

(#10124) Aethelstone válasza htc07 (#10123) üzenetére


Aethelstone
addikt

Írj privit :)

MI 10T Pro 8/256 , Arsenal FC - Go Gunnarz...

(#10125) Miertvansote


Miertvansote
tag

Köszi szépen srácok, villamosmérnökként, most olyan 600 br, mindent egybevetve egy év tapasztalattal, vidéken. Azért gondoltam, hogy programozóként pesten egy kicsit nagyobbról lehet indulni. Esetleg olyanról tudtok, hogy kezdőként részmunkaidősbe lehet ezt csinálni? Vagy akkor már komplett projekteket adnának ki? Az meg azért gondolom nagy falat lenne elsőre. Arra gondolok, hogy egy évig csak ilyeneket vállalnék, majd utána helyezkednék el főállásba, az már talán elég referencia lenne, a kezdőkhöz képesti magasabb bérhez. De kérlek javítsatok ki ha nem jól gondolom.

(#10126) Aethelstone válasza Miertvansote (#10125) üzenetére


Aethelstone
addikt

Rakd össze a kezed vidéken, 1 év gyakorlattal a 600 br. miatt. Nem fogsz komplett projektet kapni, azt jellemzően még seniorok is csapatban csinálják. Max. szabadúszóként tudsz ilyet elhozni, ha behazudod a több éves gyakorlatot :)

MI 10T Pro 8/256 , Arsenal FC - Go Gunnarz...

(#10127) Miertvansote válasza Aethelstone (#10126) üzenetére


Miertvansote
tag

Rendben, köszönöm az információkat.

(#10128) disy68 válasza Zahze (#10112) üzenetére


disy68
aktív tag

Szia, nézd meg mi a verziója a mysql-connectornak, amit a spring akar használni, valószínűleg egy régebbi lesz, ami nem támogatja az újabb jelszó kezelési eljárást. Nem tudom mit használsz, maven-t/gradle-t, de adj hozzá dependency-ként egy frissebb verziót pl. ezt.

“Yeah, well, you know, that’s just, like, your opinion, man.” — The Dude

(#10129) Zahze válasza htc07 (#10113) üzenetére


Zahze
csendes tag

Vègül a stackowerflow-on írt megoldással egy règebbi mysql-t raktam fel, a dialectektekkel valami baja volt... :/
Köszi! :D

Talk is cheap. Show me the code - Linus Torvalds

(#10130) Zahze


Zahze
csendes tag

Mavent használok de a connectort hozzáadtam, így is dobálta a hibát. :(( Most vègül a könnyebbik utat választva a mysql-t cserèltem le egy règebbire, ha lesz időm visszarakom a frissebbet ès tovább boncolgatom a problèmát, nem túl valid hogy a DB szervert kell alóla lecserèlni... :|

[ Szerkesztve ]

Talk is cheap. Show me the code - Linus Torvalds

(#10131) VTom válasza htc07 (#10123) üzenetére


VTom
veterán

Azt hittem ennél azért keresettebb szakma ez, de persze gondolom mindenhol csak a tapasztalt embereket keresik.. Bp-i vagy egyébként? Mert vidéken biztos sokkal nehezebb ilyen állást találni.

Everybody has a plan until they get punched in the mouth.

(#10132) Mirman válasza VTom (#10131) üzenetére


Mirman
őstag

Pénzügyi negyedév végén vagyunk , nem csoda hogy nincs túl sok állás amire mehetnének.

Mellesleg én is nem régen végeztem és nálunk azért az látszott pár esetet leszámítva hogy az kelt el leghamarabb aki a legtöbb munkát bele tette.

(#10133) VTom válasza Mirman (#10132) üzenetére


VTom
veterán

Ez mindennel így van.
Programozásnál főleg, attól, hogy valaki elolvasott egy java könyvet, még nem lesz belőle programozó, ezt gyakorlás nélkül lehetetlen elsajátítani, ezért is keresik mindenhol a tapasztalt embereket.

Everybody has a plan until they get punched in the mouth.

(#10134) htc07 válasza VTom (#10131) üzenetére


htc07
addikt

Aha, Bp.
Vicces, mert a legtöbb helyen az entry level álláshirdetéseknél is odaírják, hogy 1-2 év tapasztalat, 5-6 technológia (sql, frontend és java keretrendszerek, linux stb), agile software development ismerete szükségés :D

Attól, hogy otthon gyakorolsz, nem fognak felvenni sehová szerintem.

[ Szerkesztve ]

(#10135) smallmer


smallmer
őstag

Sziasztok!

Mi lehet a gond a programmal?
Serverrel szeretnék küldeni kliensnek mp3 fájlt. Az a gondom, hogy 0 a mérete a fájlnak ami megérkezik.

Bővebben: Elküldöm a Serverrel az mp3 fájlt. A kliens kap valamit el is menti a néven amit megadok de 0 a mérete és le se tudom játszani.

Server:
String file = "/Users/E/Music/Zene/1.mp3";
DataOutputStream dos = new DataOutputStream(beerkezoKliens.getOutputStream());
FileInputStream fis = new FileInputStream(file);
byte[] buffer = new byte[8192];

while (fis.read(buffer) > 0) {
dos.write(buffer);
System.out.println("ír");
}

fis.close();
dos.close();

Kliens:

DataInputStream dis = new DataInputStream(s.getInputStream());
FileOutputStream fos = new FileOutputStream("F:/testfile3.mp3");
byte[] buffer = new byte[4096];

int filesize = 15123; // Send file size in separate msg
int read = 0;
int totalRead = 0;
int remaining = filesize;
while((read = dis.read(buffer, 0, Math.min(buffer.length, remaining))) > 0) {
totalRead += read;
remaining -= read;
System.out.println("read " + totalRead + " bytes.");
fos.write(buffer, 0, read);
}

fos.close();
dis.close();

köszi :R

(#10136) Retekegér válasza smallmer (#10135) üzenetére


Retekegér
HARDVERAPRÓD

[link]

<< Heimdal >>

(#10137) smallmer válasza Retekegér (#10136) üzenetére


smallmer
őstag

Köszönöm, de ebben nem találtam jó megoldást :(

(#10138) floatr válasza smallmer (#10137) üzenetére


floatr
veterán

Használj flush-t mielőtt zárod az outputot.

(#10139) sztanozs válasza smallmer (#10135) üzenetére


sztanozs
veterán

1) az utolsó csomagot nem jól küldi el (maradvány méret helyett az egész buffert)
2) filesize-ra nincs szükség a fogadó oldalon, ha megbízható a kapcsolat, és az 1-es pontot javítottad
3) fos.close(); előtt kell egy fos.flush();

[ Szerkesztve ]

JOGI NYILATKOZAT: A bejegyzéseim és hozzászólásaim a személyes véleményemet tükrözik; ezek nem tekinthetők a munkáltatóm hivatalos állásfoglalásának...

(#10140) floatr válasza sztanozs (#10139) üzenetére


floatr
veterán

"fos.flush" :D

(#10141) sztanozs válasza floatr (#10140) üzenetére


sztanozs
veterán

:Y baszki, fel se tűnt :DDD

JOGI NYILATKOZAT: A bejegyzéseim és hozzászólásaim a személyes véleményemet tükrözik; ezek nem tekinthetők a munkáltatóm hivatalos állásfoglalásának...

(#10142) Lortech


Lortech
addikt

A FileOutputStream flush() metódusa, melyet az OutputStream osztályból örököl, így néz ki:
public void flush() throws IOException {
}

Szóval ne pazaroljuk a vizet feleslegesen. ;]

Thank you to god for making me an atheist

(#10143) sztanozs válasza Lortech (#10142) üzenetére


sztanozs
veterán

Hát elméletileg - a fedő lehajátásával - automatikusan üríteni kéne az edényt, de ezt csak a modern cuccok csinálják... Igazából fogalmam sincs, hogy itt konkrétan van-e értelme kézzel lehúzni, vagy a lezárás automatikusan ürít is. :B

JOGI NYILATKOZAT: A bejegyzéseim és hozzászólásaim a személyes véleményemet tükrözik; ezek nem tekinthetők a munkáltatóm hivatalos állásfoglalásának...

(#10144) smallmer válasza sztanozs (#10139) üzenetére


smallmer
őstag

köszönöm szépen
az utolsó csomagnál hogyan kell azt megoldani, hogy ne az egész buffert küldje hanem csak a maradvány méretet?

(#10145) elektronika5


elektronika5
újonc

Sziasztok!

Valaki tudna segíteni Java programozásban?

Készítsen olyan programot Java-ban, amelyben adott egy osztály: állatok. Az állatok rendelkeznek névvel, színnel. Az állatok osztályból öröklődéssel hozza létre a kutya osztályt, amely tagjai a fenti attribútumokon kívül még rendelkezzenek fajtával és korral is. 3pont
Ügyeljen az elnevezéseknél a Java-konvenciókra: mi kis- és mi nagybetű! Az osztályokat külön fájlokban tárolja el. 1pont
Minden esetben állítsa be a megfelelő láthatóságokat az adatvédelmet szem előtt tartva!

Előre is köszönöm a segítséget!

(#10146) bambano válasza elektronika5 (#10145) üzenetére


bambano
titán

A segítség kifejezés azt jelenti, hogy csinálod, és amikor megakadtál, konkrét problémával kapcsolatos konkrét kérdést teszel fel.

A beadandót nem fogják helyetted megírni.

Egy átlagos héten négy hétfő és egy péntek van (C) Diabolis

(#10147) Zsoxx válasza elektronika5 (#10145) üzenetére


Zsoxx
senior tag

Milyen JAVA-képzésre jársz?

(#10148) Zsoxx válasza elektronika5 (#10145) üzenetére


Zsoxx
senior tag

Amúgy meg pl:

class Allatok {
String nev;
String szin;
}

class Kutya extends Allatok {
String fajta;
int kor;
}

A láthatóságban már nem segítek.

(#10149) Aethelstone válasza Zsoxx (#10148) üzenetére


Aethelstone
addikt

Amúgy meg hülye a feladat kiírása. A kor simán ősosztály. Minden állatnak van kora. :D

MI 10T Pro 8/256 , Arsenal FC - Go Gunnarz...

(#10150) sztanozs válasza smallmer (#10144) üzenetére


sztanozs
veterán

Úgy, hogy az fis.read(buffer) visszaadja, hogy ténylegesen mennyit tudott olvasni (nem csak -1 et, ha nincs már adat).
Így, ehelyett:
while (fis.read(buffer) > 0) {
dos.write(buffer);
System.out.println("ír");
}

Ez kell:
int count;
while ((count = fis.read(buffer)) > 0)
{
dos.write(buffer, 0, count); //*buffer*-ből a *0* elemtől elküld *count* számú elemet
System.out.println("ír");
}

Ezzel az utolsó (maradvány részt) is helyes mérettel küldi át.

[ Szerkesztve ]

JOGI NYILATKOZAT: A bejegyzéseim és hozzászólásaim a személyes véleményemet tükrözik; ezek nem tekinthetők a munkáltatóm hivatalos állásfoglalásának...

Útvonal

Fórumok  »  Szoftverfejlesztés  »  Java programozás (kiemelt téma)
Copyright © 2000-2024 PROHARDVER Informatikai Kft.