https://blogs.oracle.com/java/entry/nighthacking_online_lambdas_hacking_with - Nighthacking v Jave s lambdami a Brianem Goetzem. Jedinecna prilezitost :)
Příspěvky odeslané z IP adresy 94.112.88.–
#2 Kowalsky95 - preklada se do bajtkodu, cili do instrukci pro jvm. ten pak podle potreby pomoci jitu preklada do nativniho kodu (oboji muze byt dost rychle, tzn. bajtkod i jitem prelozeny do nativniho)
#3 Matrix17 - java jako jazyk na androidu rozhodne je, jde jen o nekolik api ktere google prepsal (zrejme ty zakladni aby se vyhnul licencovani) - http://www.reuters.com/…30UT20131204 - co se tyka toho jestli tam je jvm od oracle, pak neni, je tam jvm od google. ale stejne tak na aixu nenajdes oracle jvm, najdes tam ibm jvm.
Salim Badakhchani (RedHat) - Kojak, at 7PM on 3rd of December 2013, restaurace U Drevaka, Brno:
Release and Configuration Management (sometimes referred to as DevOps)
is recognised as the force multiplier in the enterprise. The ability to
deliver and reproduce quality builds quickly, in a transparent and
accountable way, is at the heart of the software industry. In this talk
we will demonstrate the tools used in Red Hat to meet this challenge and
introduce you to Kojak, a virtual appliance that consolidates this tool
chain on a single platform, which provides you with everything you need
to build packages for RHEL and JBoss.
* Introduction to RCM for RHEL and Middleware at Red Hat
* Description of the current tool chain
* Demonstration of Kojak (Installation and Configuration)
* Example package build for RHEL (RPM) and JBoss (JAR)
* Brief discussion covering dependency resolution, build
verification and associated meta-data
zkus tohle: http://www.javacodegeeks.com/…ive-sdk.html
aha.
muzes se podivat na gnu getopt: https://github.com/…/java-getopt - parsuje to argumenty prikazove radky.
pokud si chces napsat vlastni repl / interpreter, tak ti staci v podstate switch uvnitr while :)
Java REPL: http://www.javarepl.com/console.html
ten radek mas dobre.
co ale nevidim je kdo posila, cili ti asi chybi uzivatel@seznam.cz a heslo: https://javamail.java.net/nonav/docs/api/ - mrkni do javax.mail
ahoj,
tady je link na java 3d tutorial v cestine: http://www.dredwerkz.cz/…T_Obsah.html
nejsou tam vsechny kapitoly a nektere kapitoly jsou neuplne.
nicmene ti doporucuju se na java 3d vykaslat, stahnout si jdk8 a udelat to v javafx - http://docs.oracle.com/javafx/
od jdk7 buildu 09? je soucasti jre, takze nemusis resit spoustu veci kolem jako v pripade nasazovani java 3d aplikace.
v javafx by se ti tohle psalo jednoduseji
http://download.java.net/jdk8/jfxdocs/index.html
s timhle bych se uz dneska netrapil pokud nemas program ktery bezi v j3d.
stahni si jdk8 a najdi si javafx 3d api ;)
http://docs.oracle.com/javase/tutorial/deployment/jar/appman.html - cekal bych ze netbeansy to zvladnou, nebo ten jar2exe...
pokud mas spravne uzivatele a heslo, tak asi nemas commit prava. to ti musi nastavit spravce toho repozitare
Group root = new Group();
Image background = new Image("file:background.jpg", false);
ImageView terrain = new ImageView();
terrain.setImage(background);
root.getChildren().add(terrain);
http://stackoverflow.com/questions/14393423/how-to-make-a-countdown-timer-in-java
rozumim tomu tak, ze chces aby to jmenu vyplnovalo cely jframe ale kdyz to tak nastavis, tak kolem jmenu jsou okraje?
jinak ti doporucuju naucit se javafx misto swingu. stahni si jdk 8 a podivej se na nejake materialy:
https://jdk8.java.net/download.html
http://docs.oracle.com/javafx/index.html
dle prikladu je to z knizky od pecinovskyho - myslime objektove v jazyce java. ucitel ti to urcite rad vysvetli (v te knizce je to napsany taky hezky) ;)
kdyz tam mas ten option pane, tak se ceka na udalost na / v nem a zbytek neni potreba prekreslovat. v moment kdy to odkliknes, tak se prekresli zbytek a tvoje grafika zmizi z duvodu ktery psal liborb.
nic moc jineho ti nezbyde nez si udelat soubor s lokalizaci:
Name=Jmeno
a ten pri zmene jazyka projit a pak aktualizovat cele GUI aby se zmena projevila.
tohle -Duser.language=cs -Duser.region=CZ by neslo nastavit za behu pomoci system / user properties a pak opet aktualizovat GUI?
no, to je tim ze ten prikaz nemas nastaveny v systemove promenne Path, pripadne nemas nastavenou promennou JAVA_HOME
mas dve moznosti - bud prijit na to kde je nainstalovana java a pridat javovske "prikazy" a programy do Path ci JAVA_HOME, nebo se podivat na http://docs.oracle.com/…summary.html a vyresit si to sam v ramci aplikace (takze nebudes muset spolihat na jar program / prikaz).
proc ten .txt soubor nechces prenaset mezi pc?
mohl bys ho mit prilozeny v archivu aplikace (.jar (na pc nebo jak applet) ci .war/.ear v pripade web aplikace). ucitel by pak ten .txt soubor u sebe vytvoril a pomoci prikazu:
jar -uf hra.jar cesta/k/souboru/txt/v/jar/archivu/novy_soubor.txt
by aplikaci aktualizoval novym .txt souborem a rozkopiroval na ostatni pc.
ve hre se to akutalizuje pri spusteni protoze to cte z toho .txt souboru
stejne tak jde ten .txt soubor extrahovat a archivu aplikace predtim nez ho nekdo aktualizuje:
jar -xf hra.jar cesta/k/souboru/txt/v/jar/archivu/soubor.txt
tyhle dva prikazy by pak mohly byt treba v aplikaci v menu aby si ucitele nemuseli pamatovat takoveto "technikality", jen doporucuji tam udelat nejake jednodche administratorske rozhrani chranene heslem aby si deti "nehraly" s tim .txt souborem :)
to je hezky, a stack trace mas?
jakou to pise chybu?
http://docs.oracle.com/javase/6/docs/api/java/awt/image/BufferStrategy.html
docs.oracle.com/javase/6/docs/api/java/awt/Canvas.html
ziskas aktualni pocet video bufferu a ulozis si ho. pokud neexistuje / nedokazes ho ziskat, tak vytvoris trojity video buffer.
pote ziskas graficky kontext abys mohl kreslit a kreslis nejaky obrazek o dane sirce a vysce na souradnice 0, 0 - cili levy horni roh obrazovky. nakonec ten kontext zahodis (pokud uz nechces kreslit) abys zbytecne neplytval prostredkama.
nakonec prepnes buffer (at uz kopirovanim video pameti nebo jen otocenim ukazatele)
nastaveni priority vlaken v JVM bylo kdysi zbozne prani lidi v Sunu. v realu je to zavisle na architekture CPU a OS. pokud si prectes JLS, tak zjistis ze se na tohle v zadnem pripade nemas spolehat protoze se ten planovac claken muze v dalsi verzi JVM zmenit a tvuj program muze v dusledku toho prestat spravne fungovat.
dokumentace k setPriority(int): http://docs.oracle.com/…/Thread.html#… - je to podmenene nekolika vecmi (procti si i reference v "see also")
dal si precti tenhle bug report http://bugs.sun.com/view_bug.do?… - vsimni si "resolution: won't fix" a tahle citace "Another excellent reference is Josh Bloch's "Effective Java", Item 51, "Don't depend on the thread scheduler"." - "rada 51, nespolehejte na planovace vlaken" taky doporucuju precist, klidne celou knihu (ma i druhe vydani ;) ). je to bestseller od Java architekta ktery napsal JCF (Java Collection Framework, cili kolekce v jave) a ted dela v Google.
Ted jeste trochu osobni poznamka - opravdu si myslis ze jsi chytrejsi nez tym inzenyru? takovych lidi je malo ;) trochu pokory :) (nerikam zohnout pred kazdym zada)
Hadam ze s Heroutem pro tvorbu GUI, AWT a Swingem si delate srandu.
radim zacit tady: http://docs.oracle.com/javafx/ - do budoucna nema nic jineho vyznam (pokud nekdo nebude udrzovat velmi stare AWT aplikace nebo starsi Swing aplikace)
muzes mit v java kodu i cizi kod, napr. C nebo ASM. nektera zarizeni maji hardwarove implementovany JVM, asi dost zalezi na konkretnim vyrobci a typu.
sice se z toho asi nic nenaucis, ale tady je naivni implementace:
package primenumber;
/**
*
* @author Jiri Prajzner
*/
public class PrimeNumber {
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
if ((Integer.parseInt(args[0].trim()) % 2) != 0) {
System.out.println(args[0] +" is a prime number.");
} else {
System.out.println("args[0] +" is not a prime number");
}
}
}
bylo by vhodne kdyby jsi jako bonus napred zjistil v jakem oboru je tohle reseni platne a podle toho validoval argumenty. pokud se ti chce, implementuj lepsi algoritmus pro nalezeni prvocisla, na interneu je toho spousta.
kupodivu asi neni... ale urcite najdes ceske tutorialy
tak to ti asi nebezi ten server
ahoj,
tohle jsi zkousel?
ahoj,
asi bych zacal tady: http://docs.oracle.com/…l/io/cl.html
ahoj,
posli kod prosim.
jinak to nacitani dokud nestisknes tlacitko operatoru (+, - atd.) vyresis tak, ze prikaz ktery bere hodnotu z text fieldu (nebo kam uzivatel pise operandy) das do obsluhy (posluchace) udalosti k tlacitku daneho operatoru. zaroven tam muzes pred to pridat podminku ze pokud z text fieldu nedostanes zadny operand, tak by se stisknuti tlacitka operatoru melo ignorovat.
Doporucuju nejakou literaturu od Adama Biena: www.adam-bien.com - dela casto s glassfishem a je to expert na jee
nevim k cemu je to dobry, ale zkus prohodit poradi, nebo nastavit opacitu na false, popripade si pohrat s layer pane ve swingu.
slo, sloziteji a nevim jestli to stoji za to kdyz oracle od swingu upousti
Ahoj,
takhle nejak se to dela v JavaFX (soucasti JDK od verze 7, build 9):
package moveme;
import javafx.animation.Timeline;
import javafx.animation.TranslateTransition;
import javafx.application.Application;
import javafx.scene.Group;
import javafx.scene.Scene;
import javafx.scene.shape.Rectangle;
import javafx.stage.Stage;
import javafx.util.Duration;
/**
*
* @author Jiri Prajzner
*/
public class MoveMe extends Application {
@Override
public void start(Stage primaryStage) {
Rectangle r = new Rectangle(50, 50, 50, 50);
TranslateTransition move = new TranslateTransition(Duration.seconds(3), r);
move.setFromX(0);
move.setToX(150);
move.setCycleCount(Timeline.INDEFINITE);
move.setAutoReverse(true);
move.play();
Group root = new Group();
root.getChildren().add(r);
Scene scene = new Scene(root, 300, 300);
primaryStage.setTitle("@dr3dwerkz - Move Me - www.dredwerkz.cz");
primaryStage.setScene(scene);
primaryStage.show();
}
/**
* The main() method is ignored in correctly deployed JavaFX application.
* main() serves only as fallback in case the application can not be launched
* through deployment artifacts, e.g., in IDEs with limited FX support.
* NetBeans ignores main().
*
* @param args the command line arguments
*/
public static void main(String[] args) {
launch(args);
}
}
ahoj,
zkus ty obrazky napozicovat jinak pomoci BorderLayout manazeru, ted tam mas oba dva vycentrovane.
Nevim co presne se snazis udelat?, ale asi by bylo lepsi ty obrazky kreslit jen na jeden panel (pokud chces vytvorit nejakou hru).
Jeste lepsi by bylo pouzit JavaFX protoze Swing jako knihovna ustupuje do pozadi a Oracle do budoucna pocita prave s JavaFX (ktere je soucasti JDK od verze 7, build 9 a vyssi).
#3 Rezy
musis nastavit policy: http://docs.oracle.com/…1/index.html
Ahoj,
da ti to sice trosku vic prace, ale zkus svou hru prepsat do JavaFX ktere nepotrebuje zadne JMF (coz je mimochodem dost prehistoricky kousek).
Tady je seznam prdporovanych audio/video formatu v JavaFX: http://www.oracle.com/…1446554.html#7
Zkus tohle: http://docs.oracle.com/…ication.html
Zkus komponentu WebView v JavaFX: http://docs.oracle.com/…WebView.html
Pokud chces nejaky nastroj na tvorbu GUI, zkus Scene Builder. Pokud si to chces napsat rucne, klidne muzes - v JavaFX se hodne vyuziva builder pattern takze je kod kratsi. Vyhodou JavaFX je ze se da GUI nastylovat pomoci CSS :)
#3 Dave
ahoj,
bude pokud mas JDK 7 build 9 nebo vyssi. Je potreba to nastavit v IDE, resp. staci vybrat na zacatku JavaFX projekt (alespon v NetBeans to tak je). Aplikace pak normalne bezi bezi jako vsechny jine Java aplikace na desktopu (opet, clovek musi mit JRE 7 b9 nebo vyssi).
public boolean jePrikaz(String nazov){
return nazov.containsKey(nazov);
}
"cannot find symbol - method containsKey(java.Lang.String)" - a) promenna nazov je typu String. trida String neobsahuje zadnou metodu containsKey().
b) metode containsKey predavas parametr spatneho typu. podle dokumentace ma ta metoda signaturu "boolean containsKey(Object o)", ty predavas String.
Jednoducha
package backgroundimagedemo;
import javafx.application.Application;
import javafx.scene.Group;
import javafx.scene.Scene;
import javafx.scene.image.Image;
import javafx.scene.image.ImageView;
import javafx.stage.Stage;
/**
*
* @author Jiri Prajzner, @dr3dwerkz
* www.dredwerkz.cz
*/
public class BackgroundImageDemo extends Application {
private final static Image i = new Image(
BackgroundImageDemo.class.getResource("DukeWeb.jpg").toString());
@Override
public void start(Stage primaryStage) throws Exception {
ImageView iv = new ImageView(i);
Group root = new Group();
root.getChildren().add(iv);
Scene scene = new Scene(root, 504, 320);
primaryStage.setTitle("www.dredwerkz.cz - Background Image Demo - @dr3dwerkz");
primaryStage.setScene(scene);
primaryStage.show();
}
/**
* The main() method is ignored in correctly deployed JavaFX application.
* main() serves only as fallback in case the application can not be launched
* through deployment artifacts, e.g., in IDEs with limited FX support.
* NetBeans ignores main().
*
* @param args the command line arguments
*/
public static void main(String[] args) {
launch(BackgroundImageDemo.class, args);
}
}
ukazka v JavaFX:
ahoj,
jednoduche menu vytvorene v JavaFX:
package gamemenu;
import javafx.application.Application;
import javafx.event.EventHandler;
import javafx.geometry.Pos;
import javafx.scene.Scene;
import javafx.scene.input.MouseEvent;
import javafx.scene.layout.VBox;
import javafx.scene.text.Text;
import javafx.stage.Stage;
/**
*
* @author Jiri Prajzner - @dr3dwerkz
* www.dredwerkz.cz
*/
public class GameMenu extends Application {
@Override
public void start(Stage primaryStage) {
Text start = new Text("Start");
start.setOnMouseClicked(new EventHandler<MouseEvent>() {
public void handle(MouseEvent me) {
System.out.println("Starting the game");
}
});
Text options = new Text("Options");
options.setOnMouseClicked(new EventHandler<MouseEvent>() {
public void handle(MouseEvent me) {
System.out.println("Displaying options");
}
});
Text exit = new Text("Exit");
exit.setOnMouseClicked(new EventHandler<MouseEvent>() {
public void handle(MouseEvent me) {
System.out.println("Do you really want to exit the game?");
}
});
VBox root = new VBox(20);
root.setAlignment(Pos.CENTER);
root.getChildren().addAll(start, options, exit);
Scene scene = new Scene(root, 300, 250);
primaryStage.setTitle("www.dredwerkz.cz - Game Menu - @dr3dwerkz");
primaryStage.setScene(scene);
primaryStage.show();
}
/**
* The main() method is ignored in correctly deployed JavaFX application.
* main() serves only as fallback in case the application can not be launched
* through deployment artifacts, e.g., in IDEs with limited FX support.
* NetBeans ignores main().
*
* @param args the command line arguments
*/
public static void main(String[] args) {
launch(args);
}
}