- Ha Trump győz, Elon Musk politikai tanácsadó lehet
- DIGI internet
- VPN topic
- Synology routerek
- PHP programozás
- Aliexpress tapasztalatok
- Vodafone otthoni szolgáltatások (TV, internet, telefon)
- Középpontba kerültek a hibrid autók, alig fogyaszt a BYD újdonsága
- Microsoft Excel topic
- Mesterséges intelligencia topik
Új hozzászólás Aktív témák
-
Revolit
senior tag
Sziasztok!
Nem vagyok egy nagy java májer, úgyhogy bocs ha nagy hülyeséget kérdezek
Szóval írok egy progit, aminek van GUI-ja. A panelokhoz a netbeans beépített JPanel Form készítőjét használtam
Leírom kb a program vázát:main{
ProgramUI ablak = new ProgramUI();
}public class ProgramUI extends JFrame {
pnJobb = new JobbPanel();
pnAlso = new AlsoPanel();this.add(pnJobb, BorderLayout.EAST);
this.add(pnAlso, BorderLayout.SOUTH);
validate();
}
}na én nekem mondjuk van a pnJobb panelen egy gombom, legyen start. ha rányomok a startra, szeretném meghívni az ablak start() fv-ét. ezt csk úgy tudtam elérni, ha statikusnak deklarálom a ProgramUI start fv-ét, és az osztályfv-t hívom meg. ez így nme az igazi, bár igazából járható út lenne azt hiszem, mert úgyis csak egy példánya van az osztálynak.
az még jobb lenne, ha nem a pnJobb kezelné az inputot (vagyis ne ott legyen az actionlistener), hanem esetleg az ProgramUI osztály. ez megoldható valahogy?de általánosságban is érdekelne a kérdés: ha létrehozok egy objektumot, akkor annak az objektumnak minden fv-ét el tudom érni (hacsak nem private...), de mi van, ha én a létrehozott objektumból akarom meghívni a létrehozó objektum fügvényét? azt hogyan csinálom? Tehát kommunikáljon mindkét irányba.
-
eziskamu
addikt
válasz Revolit #1951 üzenetére
Van rá egy nagyon amatör javaslatom. Legyen egy külön osztály, aminek mondjuk egy statikus változója tartalmazza az objektumot (csak legyen időben értékadás ), de esetleg a már létrehozáskor is átadhatod magát a hívó objektumot egy új paraméterként (a hívott objektum konstruktorának paraméterlistáját kibővítve).
[ Szerkesztve ]
-
Lortech
addikt
válasz Revolit #1951 üzenetére
de általánosságban is érdekelne a kérdés: ha létrehozok egy objektumot, akkor annak az objektumnak minden fv-ét el tudom érni (hacsak nem private...), de mi van, ha én a létrehozott objektumból akarom meghívni a létrehozó objektum fügvényét? azt hogyan csinálom? Tehát kommunikáljon mindkét irányba.
Szóval alapvetően ilyen szempontból megkülönböztetünk static - osztályszintű és példányszintű függvényt.
Osztályszintű függvényt az osztály nevén keresztül tudsz meghívni - osztályszintű fgv definícióban nem hivatkozhatsz az osztály példányszintű mezőire illetve fgv-eire, mert azok az osztály egy konkrét előfordulásához, példányához kötődnek.
Példányszintű függvényt az osztály egy adott példányánának referenciáján keresztül hívhatsz meg.
Konkrétan a kérdésedre válaszolva, ahhoz szükséged van a "létrehozott" objektumban a létrehozó objektum egy példányára, ill. annak referenciájára. Ezt biztosíthatod úgy, hogy átadod a létrehozott objektumnak paraméterként (pl. konstruktorban), vagy az adott függvénynek, ahonnan hívni akarod a létrehozott objektumot. Bizonyos esetekben az is megoldás lehet, ha a "létrehozott" objektumban példányosítasz a létrehozó objektum típusából - ha nem lényeges az _eredeti_ objektum belső állapota (ált. ezek osztályszintű fgv-ek, de nem feltétlenül). Akár a létrehozott objektum egy mezője is lehet ez a példány, tarthatod ott is a referenciáját.
A legfontosabb, hogy mielőtt netbeansben egy GUI-t összekattintgatunk, az alapokkal tisztában legyünk.. mert egyszerűnek látszik a felhasználóbarát GUI builder, de ettől még tudni kell java-ban programozni, ha faéknél bonyolultabb programot csinálsz..Thank you to god for making me an atheist
-
Revolit
senior tag
válasz Lortech #1953 üzenetére
Köszönöm a válaszokat. Igen, már elkezdtem bújni egy java könyvet. Rég programoztam utoljára, és amúgy sem profi szintű tudásom kissé kopottas lett, és egyre több hiányosság jön elő, úgyhogy elhatároztam, hogy újratanulom az alapoktól, persze hál' isten másodszor már könnyebben megy
[ Szerkesztve ]
-
eziskamu
addikt
Na egy új kérdés. Swing alatt VSYNC hogyan? Már kész egy applikáció, Matisse-al össze lett kattingatva, majd annyit bűvészkedtem, hogy ne legyen windowsos "dekoráció". Megoldottam, hogy ezután is mozgathassam/átméretezhessem. Már csak azt a fránya V-sync-et kellene megoldani, anélkül, hogy alapoktól újra kellene írni.
-
eziskamu
addikt
válasz Lortech #1956 üzenetére
Ablakos alkalmazást megcsinosítottam
Amikor mozgatom az ablakot akkor látszik az egész, mert setLocation-al mozgatom ha az ablak tetején fogom meg egérrel (mousePressed-el kezdeti pozíció mentése, mouseDragged-el a setLocation eljárás futtatása) A mozgatás közben torzulnak is a frame elemei és el is törnek a különféle mozgásfázisoknak megfelelően. Valahogy így:
[link] -
Lortech
addikt
válasz eziskamu #1957 üzenetére
Szerintem egy ablakos alkalmazásnál a megfelelő double buffering a legtöbb esetben elég. Ablakos játék v. animáció már más kérdés.
Swing alapból tudja, saját rajzolgatásnál is egyszerűen implementálható.
Próbáld meg, hátha javít.
JComponent.setDoubleBuffered()
Nem lehet hogy eleve ez a mozgató logika is lassú ? Nem terheli nagyon a procit ?Thank you to god for making me an atheist
-
eziskamu
addikt
válasz Lortech #1958 üzenetére
Alapból be van a NetBeans szerint, de kézzel, egyessével sincs hatása semmire.
A procihasználat 1,8GHz-s 2 magos core2-n olyan 15-20%, ha gyorsan össze-vissza mozgatom az ablakot. A winamp cibálása 10-15% ugyanilyen körülmények között.
Modjuk kikapcsoltam a ddraw gyorsítást, mert átméretezésnél nem hogy gyorsított, hanem még jobban szaggatott a kép, és a frame átméretezése nem mindig követte azonnal a benne lévő jpanel-t . Így most csak néha röccen. Mondjuk az átméretezés már megeszik 50-60 százalékot is.[ Szerkesztve ]
-
erikke17
őstag
Üdv, ma telepitettem fel a Sony telefonomhoz való PCComapniont nem igen akartam mert tudtam hogy agyon szemeteli a windowsot de muszáj volt .
Nos azt vettem észre hogy valamit belebabrált javába talán frissitette a programot és lett egy olyan pocessem hogy jqs.exe SYSTEM alatt fut. Meg is találtam java beállitásaiban csak nem tudom hogy ki e kapcsolhatom vagy ezzel több kárt okoznék mint hasznot?[ Szerkesztve ]
||Wot / WarThunder - Erixx93|| Steam - erixx18 ||Xbox Series X - Erikk24 || BMW R1200GS || Opel Astra F X16XEL|| BMW E39 530d 142kW||DJI Mavic Pro||
-
eziskamu
addikt
válasz erikke17 #1960 üzenetére
Nem épp programozás kérdés.
Ezt nézd meg
A javás progik gyorsabb inditását biztositja, de nem létfontosságú, ha már ennyire zavar. -
-
atv72
tag
Sziasztok,
(vigyázat totál felhasználó vagyok!)
JavaFX-et
http://www.makeuseof.com/tag/install-java-windows-mobile/
probálok winmobilos pda-ra (p560) feltenni. A telepítés sikerül, aztan kiírja, hogy
"The file 'JavaFX' can not be opened. Either it is not signed with a trusted certificate, or one of its components can not be found. You migth need to reinstall or restore the file"
Mit csinálok rosszul? Illetve segít-e a probléma megoldásában, ha valahogy biírom ide, milyen programsorokat futtat le azelőtt, hogy behal.Azért kellene a java, mert egy speci navi programot szeretnék használni (mgmaps).
Köszönet minden segítő tanácsért!
-
_NCT
őstag
Sziasztok.
Lenne egy egyszerű feladat, de az istenért nem tudok rájönni, hogyan kellene megcsinálni. Most kezdtem java programozást tanulni, szal absolute kezdő.
Feladat:
A program írja ki a konzolra egy null referenciával inicializált tömb 2. elemét.
Addig okés, hogy inicializálom a tömböt null referenciával. Viszont arra nem tudok rájönni, hogyan kéne kiíratni a tömb egy adott x számú elemét.
Köszi a segítségeteket!
-
Lortech
addikt
Egy null referenciával inicializált tömbnek nincsen eleme.
Ha arra gondolt, hogy egy referencia típusú elemekből álló tömb elemeit null referenciákkal inicializálva, írd ki annak n. elemét, akkor :
System.out.print(tomb[n-1]);
// ahol tomb a tömb változód, és n-1 az n. eleme a tömbnek, mivel 0-tól kezdődően indexeljük a tömböt, azaz a tömb 2. elemének kiiratása: System.out.print(tomb[1]);Thank you to god for making me an atheist
-
_NCT
őstag
válasz Lortech #1968 üzenetére
Aham, mostmár világos.
Lenne még egy kérdésem, igazából valahol szeretnék elindulni.
Van egy másik feladat, amiben kivételkezeléssel kellene megoldani Kör kerületének, területének számítását.
A feladat így szól: A Program Kör osztályának konstruktora kapja paraméterként egy kör sugarát! Ha ez pozitív, akkor írja ki a konzolra a kör területét, kerületét, egyébként dobjon kivételt. A Körkerületterület osztály main metódusa hozzon létre két Kör osztályú objektumot! Az egyik sugara legyen 12, a másiké -7.5 egység.
Nos evvel odáig eljutottam, hogy a try-catch kivételkezeléssel megoldottam, hogy a sugár ne lehessen kisebb mint 1.
Gondom az, hogy nem tudom szépen megcsinálni, hogy a kivételkezelés után ne fusson tovább a program, hanem kiírja, hogy "nem valós sugár". Sajnos nekem kiírja a kivételt, viszont tovább fut a progi.
Legjobban örülnék neki, ha gyorsba valaki összedobná nekem, lássam mit rontottam el.
Köszönöm előre is!!
-
Lortech
addikt
Nem szokásom teljes kódot adni, mert ez nem a megcsinálom a beadandódat című topik.
Legtöbbet úgy tanulsz, ha te hozod össze.
1,A feladat nem írja elő a kivételkezelést, csak azt, hogy dobjon kivételt rossz adat esetén, ami itt azt fogja eredményezi, hogy megáll a programod.
Persze ha úgy gondolod, a tanár arra gondolt, hogy kezeld is le a kivételt, akkor tegyél bele kivételkezelést, de leírva nem ez van.
1, A feladat továbbá azt mondja, ha pozitív a sugár, akkor dobjon kivételt, ez nem ekvivalens azzal, hogy kisebb mint 1.
Látható a példa adatból is, hogy -7.5-ről van szó, tehát nem egész számokról beszélünk, hanem legalább egy floatról.Thank you to god for making me an atheist
-
_NCT
őstag
válasz Lortech #1970 üzenetére
Szia!
Ez nem a beadandó, van egy szép könyvem, amiben vannak gyakorló feladatok, és így fakultatív próbálom őket megcsinálni, s készülni a vizsgára.
Ezért jöttem ide segítségért.
Eziskamu: igen, én is erre gondoltam, próbáltam variálni a dolgokat, de úgy meg állandóan anyázott a fordító.
[ Szerkesztve ]
-
Lortech
addikt
Értem. Ha könyv, és szó szerint veszem a feladatot, akkor tényleg annyi a feladat, hogy eldobod a kivételt, és nem kezeled le, ezáltal a program leáll. Nem mondja a feladat, hogy ki kell iratnod bármit, ha nempozitív az adat.
Bővebben:
A main fgvből hívod a kör osztályod konstruktorát, ha a konstruktorban dobsz egy kivételt, akkor az adott metódusban szekvenciálisan haladva az első kivételkezelő blokkra ugrik, ha nincs, akkor a konstruktor metódusod visszatér a hívás helyére, azaz a main függvénybe, és ott keres kivételkezelő blokkot, ha ott sincs lekezelve a kivétel, akkor a jvm-hez tér vissza a hibával, a program terminál hibával, a jvm leáll. Véleményem szerint ennyi a feladat.Thank you to god for making me an atheist
-
_NCT
őstag
válasz Lortech #1974 üzenetére
Értem. Tehát ha én paraméternek a main-ben negatív számot adok meg, akkor gyakorlatilag a feladat dob egy kivételt és ennyi. Ha pozitív számot, akkor tovább lép, kiírja a kerületet, területet. Amikor pedig tovább lép a main-ben ahhoz, hogy létrehozzon 2 kör objektumot, akkor is kivétel fog keletkezni, mivel az egyik az negatív sugár. És így ennyi is a feladat...Ha jól értelmezem.
Ezekszerint túlbonyolítottam a feladatot. (amúgy a könyv szerzője a vizsgáztató tanár is GDF-re járok Kaczúr Sándor-hoz prog.technológiára ).
-
Lortech
addikt
egy lehetséges értelmezése a feladatnak:
Nincs meghatározva, hol dobj kivételt, a konstruktorban ellenőrizd-e a paramétert, vagy a hívás előtt a mainben.
Nincs meghatározva az sem, hogyan írasd ki, pl. lehetne olyan metódusa is a Kor osztálynak, ami egyből a kimenetre ír, nemcsak számol. Vagy lehet a mainben is csinálni a számolást és kiíratást is stb.
0-t nempozitívnak vettem.
...
public class Korkeruletterulet {
public static void main(String[] args) {
Kor kor = new Kor(12);
System.out.format("%.2f sugarú kör kerülete: %.2f, területe: %.2f",
kor.getSugar(),kor.getKerulet(),kor.getTerulet());
kor = new Kor(-7.5);
System.out.format("%.2f sugarú kör kerülete: %.2f, területe: %.2f",
kor.getSugar(),kor.getKerulet(),kor.getTerulet());
}
}
...
public class Kor
{
private double sugar;
public Kor(double r) throws IllegalArgumentException
{
if (r <= 0)
{
throw new IllegalArgumentException("Nempozitív sugár!");
}
else
{
this.sugar = r;
}
}
public void setSugar(double r) {
this.sugar = r;
}
public double getSugar() {
return sugar;
}
public double getKerulet()
{
return Math.PI * 2 * sugar ;
}
public double getTerulet()
{
return Math.PI * sugar * sugar;
}
}...[ Szerkesztve ]
Thank you to god for making me an atheist
-
_NCT
őstag
válasz Lortech #1976 üzenetére
Azthiszem a suliban picit másképp tanítják, de így is értem a lényegét, köszönöm szépen.
Azt hiszem még ezt lekell ülnöm beseggelni, meg megérteni, mit miért hogyan, mert pl ehhez hasonló feladat van a könyvben elemzéssel mindennel, de azok sokkal egyszerűbbek.
Na mind1, ha kérdésem lesz örömmel könyveltem el, hogy itt találok segítőkész embereket!
Még egyszer köszönöm, most már kedvet kaptam legalább újabb feladatok megoldásához!
-
Tonhal
csendes tag
Sziasztok!
Segítséget szeretnék kérni, mert még elég kezdő vagyok. Windows 7-en nem tudom használni a Java fordítót, mert azt írja ki, hogy a rendszer nem ismeri fel sem belső sem külső programként.(javac)
Ha valaki tudja a megoldást, ne tartsa vissza. Köszi!
akkor végzet, ha végzett
-
Tonhal
csendes tag
Természetesen parancssorból indítva..(máshogy nem is tudom )
akkor végzet, ha végzett
-
Lortech
addikt
Ez azt jelentheti, hogy nincs a PATH környezeti változóban a javac elérési útja.
pl windows 7 esetén: [link]
pl. ha itt volna a Java compilered : c:\Program Files (x86)\Java\j2re1.4.2_19\bin\
akkor ezt kéne beletenni a PATH nevű változóba. A parancssort újra kell indítani ahhoz, hogy a környezeti változók változása frissüljön.
Thank you to god for making me an atheist
-
MODERÁTOR
Sziasztok! Még sajnos kezdő vagyok a Java nyelvben. Azt szeretném tudni, hogyan lehet megoldani, hogy egy gombbal (JButton) ha rákattintok el tudjak és meg tudjak jeleníteni egy JFrame -t?
"Ott szimatol a sarkadban vasfogait csattogtatva, minden egyes hétköznapod: kirúzsozott medvecsapda."
-
Stylie
tag
Pl
import java.awt.event.*; //eseménykezeléshez kell
import javax.swing.*; //gui felépítéshez kell
public class GombTeszt extends JFrame implements ActionListener{ //osztály, mely a JFrameből öröklődik és implementálja az ActionListener interfészt az eseménykezeléshez
JButton gomb = new JButton("Ez itt egy Gomb, amire rákattintva bejön egy ablak!"); // gomb
public GombTeszt(String title){ //konstruktor
setTitle(title); //ablak "címének" beállítása
add(gomb); //gomb hozzáadása az ablak konténeréhez
gomb.addActionListener(this); //gomb eseményfogadásának képességét aktiváljuk :)
pack(); //komponensek elrendezése
show(); //megjelenítés
}
public void actionPerformed(ActionEvent e) { //ActionListener interfész metódusának implementálása
if(e.getSource()==gomb){ //esemény forrásának vizsgálata
JFrame masikablak = new JFrame("Új ablak"); //új ablak
masikablak.pack();
masikablak.show();
}
}
public static void main(String[] args){
GombTeszt ablak = new GombTeszt("GombTeszt");
}
} -
sonar
addikt
Üdv Java-sok!
Lenne nekem egy H2 adatbázis fileom amit szeretnék megnézni.
Létezik rá vmi offline browser ami jól működik? Mert találtam egy razor nevezetű progit, de vhogy nem az igazi. Tud kapcsolódni, csak vhogy nem listázza ki a rekordot meg a schemát is olyan furán kezeli.
Esetleg vki nem tudná megnézni?Előre is kösz
sonarA tudást mástól kapjuk, a siker a mi tehetségünk - Remember: Your life – Your choices!
-
a000
őstag
Sziasztok
Hátha tud valaki segíteni.
Adott a következő feladat:
A program kérjen be egy szót, majd írja ki, hogy a szóban szereplő betűkből hány darab van. Valahogy így: pl. alma a:2, l:1, m:1
Hogy kell ezt megírni? -
a000
őstag
Lenne egy újabb kérdésem.
Ha a programnak -50;+50 intervallumból kell véletlenszerűen kiválasztania számot, akkor miért ez írja le? (Math.random()*101-50). Miért *101-50? -
bpx
őstag
így talán jobban érthető:
-50 + Math.random() * 101
a Math.random() egy 0.0 <= x < 1.0 értéket generál
Math.random() * 101: 0.0 <= x < 101.0egyébként hogy van ez leírva pontosan milyen környezetben? mert ez így a -50.0 <= x < 51.0 tartományból választ egy double számot
de ha egésszé van konvertálva, akkor valóban a megadott intervallumból választ
-
bpx
őstag
akkor mint mondtam, az úgy jó
azért szoroz 101-el, mert így ugye 0.0-tól 100.99...-ig lesznek "véletlenszámok", és az egésszé konvertálás meg csak annyit csinál, hogy "levágja" a tizedesjegyeket, tehát végeredményben 0..100 (avagy -50..50) közötti egész számok lehetségesek -
ArchElf
addikt
1) -50 és 50 között pont 101 szám van, azért kell megszorozni 101-el
2) alapból [0-1[ közé generál véletlenszámokat a függvény (101-el megszorozva [0;101[ közé), ebból 50-el levonva [-50;51[ közé, ami egészre alakítva (nem kerekítve) [-50, 50]egész számok úgy lesznek belőle, hogy egy (int) konverzióval lebegőpontos számból egészet csinálsz.
AE
[ Szerkesztve ]
Csinálok egy adag popcornt, és leülök fórumozni --- Ízlések és pofonok - kinek miből jutott --- Az igazi beköpőlégy [http://is.gd/cJvlC2]
-
Norbo03
őstag
Hellosztok,
Programozás vizsgán vok.Ez lenne a program:
Tervezze meg és készítse el az alábbi Java osztályt! Ügyeljen az adatrejtés betartására.
Az elkészült osztáylbólk hozzon létre objektumpéldányt, amely segítségével mutassa be az osztályának a müködését.Készítsen egy valutaváltó programot! Menüből lehessen választani, hogy a bekért forint értékét, milyen valuta(dollár,font,euro,CHF) váltsa program. A váltási árfolyamokat ön határozza meg.A feladatban írassuk ki a képernyőre az eredményt.
A kilépést a menüből lehessen végrehajtani. Amit lehet maradjon külön metódusban.
Ezt vki megtundá írni nekm gyorsba? 18:05ig tart a vizsa.
Előre is köszi.
ÜDv,
Norbo -
_NCT
őstag
Sziasztok.
Szeretném megkérdezni, hogy mennyi időt kellene JAVA-val foglalkozni, hogy pl lehessen állást keresni Junior Java fejlesztőként?
Túl vagyok egy könyvön, ami igazából már haladó könyv, de nem tudom az életben ez mire lehet elég....
Könyvben van kivételkezelés,kollekciók,interfészek, grafikus felület, eseményvezérelt programozás,swing komponensek, fájlkezelés.
Főleg forráskódból álló könyv ez, egész jó magyarázattal, holnap megyek vizsgázni belőle....
De ahogy észrevettem, baromi gyorsan lehet felejteni....Magyarul 2x-3x át kellene nyálazni a könyvet(270.o), hogy egyáltalán meg tudja az ember jegyezni azt a rengeteg kódot, hogy mi mire jó, mi mit csinál....
Lassan végzek a sulival, és bár eddig rühelltem a programozást, most mégis megtettszett, főleg a grafikus felület+eseménykezelés+swing komponensek+talán picit fájlkezelés is.....
Durván még egy évem lenne tanulni, minden nap tudnék foglalkozni vele, jó lenne valami állást találni már....
Köszönöm a beszámolókat, tanácsokat!
ÜDV
Új hozzászólás Aktív témák
A topicot kiemeltem. Valaki nem akar egy nyitó hsz-t írni?:))
- Samsung Galaxy A54 - türelemjáték
- Féltucat régi Samsung kapott új One UI-t, köztük az A52s
- Call of Duty: Modern Warfare III (2023)
- Milyen egeret válasszak?
- Megérkezett Magyarországra az LG 480 Hz-es OLED monitora
- Realme GT 2 - aláírjuk
- Samsung Galaxy S24 - nos, Exynos
- Intel Core i5 / i7 / i9 "Alder Lake-Raptor Lake/Refresh" (LGA1700)
- Kerékpárosok, bringások ide!
- PlayerUnknown’s Battlegrounds
- További aktív témák...
- Latitude 5540 15.6" FHD IPS i7-1370P MX550 32GB DDR5 512GB NVMe SSD gar
- Predator TRITON NVIDIA RTX 2060 6gb i7-10750H 16gb ram 1tb ssd Display 240HZ
- Xiaomi Redmi Note 10S 128GB, Kártyafüggetlen, 1 Év Garanciával
- Xiaomi 11T 128GB, Kártyafüggetlen, 1 Év Garanciával
- Eladó OnePlus 8 PRO 12/256 GB zöld + AJÁNDÉKOK
Állásajánlatok
Cég: Alpha Laptopszerviz Kft.
Város: Pécs
Cég: Ozeki Kft.
Város: Debrecen