<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-6886544919248417440</id><updated>2011-10-30T13:13:22.505+01:00</updated><category term='Netbeans Platform'/><category term='pragmatists'/><category term='sprzęt'/><category term='historyjki'/><category term='scrum'/><category term='JUG'/><category term='Eclipse'/><category term='JavaFX 1.2'/><category term='Ganymede'/><category term='maven2'/><category term='JAVArsovia'/><category term='WJUG'/><category term='NetBeans'/><category term='szkolenia'/><category term='xp'/><title type='text'>Polyglots</title><subtitle type='html'>Do you speak Java?</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://poligloci.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6886544919248417440/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://poligloci.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Michal Margiel</name><uri>http://www.blogger.com/profile/04191448659080996000</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://bp1.blogger.com/_kdhiF8qgUHo/SBd-uFqUeSI/AAAAAAAACLY/jyEweL4MUWg/S220/margiel.jpg'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>15</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-6886544919248417440.post-772288229866440978</id><published>2009-12-28T22:51:00.002+01:00</published><updated>2009-12-29T21:14:44.121+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='JavaFX 1.2'/><category scheme='http://www.blogger.com/atom/ns#' term='NetBeans'/><title type='text'>Netbeans 6.8 : JavaFX editor</title><content type='html'>As we almost all* know modern progaming language is not only semantic, keywords, compiler, additional open source and commercial libraries but also a good editor that simplifys and speedups every day development.&lt;br /&gt;&lt;br /&gt;I really like JavaFX but&amp;nbsp; lets be honest here - JavaFX Script is still missing SOME (I don't want to be too cruel here ;) ) of those features so I am very pleased to see enhanced JavaFX editor in latests&amp;nbsp; NetBeans IDE 6.8 release.&lt;br /&gt;So what new features &amp;nbsp;do we get &amp;nbsp;?&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Code formating (FINALLY) - yes yes! it is not a joke! prior to NetBeans 6.8 release there was no code formating for JavaFX Script. But lets forget about this, we have it now and it works pretty well(standard shortcut: alt+shift+F). &amp;nbsp;I hope that from now on &amp;nbsp;we will never again see so absurd posts like &lt;a href="http://java.dzone.com/articles/beautifying-javafx-script?utm_source=feedburner"&gt;this one&lt;/a&gt;&amp;nbsp;&lt;/li&gt;&lt;li&gt;&amp;nbsp;finding usage - you can search for usage of methods and variables in JavaFX files. But we can not search for Java members usage in JavaFX files :(&lt;/li&gt;&lt;li&gt;&amp;nbsp;rename refactoring - but again just like in "find usage", changing name of java member wont refactor usage of those memebers in javaFX files. But still it is better to have renaming then not having it ;)&lt;/li&gt;&lt;li&gt;&amp;nbsp;moving classes to an other package&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;As we can see those enhancements are not so big and still lots of refactoring &amp;nbsp;and cross Java/JavaFX functionalities are missing, but hey! half a loaf is better than none ;)&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;[*] cheers for all VIMronosauruses - my favorite type of dinosaur :)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6886544919248417440-772288229866440978?l=poligloci.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://poligloci.blogspot.com/feeds/772288229866440978/comments/default' title='Komentarze do posta'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6886544919248417440&amp;postID=772288229866440978' title='Komentarze (0)'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6886544919248417440/posts/default/772288229866440978'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6886544919248417440/posts/default/772288229866440978'/><link rel='alternate' type='text/html' href='http://poligloci.blogspot.com/2009/12/netbeans-68-javafx-editor.html' title='Netbeans 6.8 : JavaFX editor'/><author><name>Michal Margiel</name><uri>http://www.blogger.com/profile/04191448659080996000</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://bp1.blogger.com/_kdhiF8qgUHo/SBd-uFqUeSI/AAAAAAAACLY/jyEweL4MUWg/S220/margiel.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6886544919248417440.post-5493511253336961712</id><published>2009-12-04T23:24:00.007+01:00</published><updated>2009-12-05T00:32:30.792+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='JavaFX 1.2'/><title type='text'>JavaFX static members</title><content type='html'>Some time ago I have read post about &lt;a href="http://nick-software.blogspot.com/2009/09/ten-interesting-aspects-of-javafx.html"&gt;10 interesting things in JavaFX Script&lt;/a&gt;. This post was really nice and I have learned that there is build in support to format Dates &amp;nbsp;But one point &amp;nbsp;interested me at most,&lt;br /&gt;&lt;br /&gt;&lt;b&gt;No support for static functions, variables and constants&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;I have already made a comment under post on this point but I would like to make it crystal clear.&lt;br /&gt;&lt;b&gt;There IS support for static members in JavaFX Script&lt;/b&gt;. Thats true - there is no "&lt;b&gt;static&lt;/b&gt;"&lt;b&gt; &lt;/b&gt;key word build in the language, but still you can make function or field static. We just have to put it inside class file but outside class declaration.&lt;br /&gt;I.E.&lt;br /&gt;&lt;pre class="brush: javafx"&gt;public class MyClass{&lt;br /&gt;  public function memberFunction(){&lt;br /&gt;  }&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;public function staticFunction(){&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;var staticVar;&lt;br /&gt;&lt;br /&gt;def STATIC_CONST; &lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;and thats it. You can call/access them with:&lt;br /&gt;&lt;pre class="brush: javafx"&gt;MyClass.staticFunction();&lt;br /&gt;MyClass.staticVar;&lt;br /&gt;MyClass.STATIC_CONST;&lt;br /&gt;&lt;/pre&gt;It is that easy! maybe not to intuitive for Java developers but still it is not so bad idea - I like it. Do you ?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6886544919248417440-5493511253336961712?l=poligloci.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://poligloci.blogspot.com/feeds/5493511253336961712/comments/default' title='Komentarze do posta'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6886544919248417440&amp;postID=5493511253336961712' title='Komentarze (0)'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6886544919248417440/posts/default/5493511253336961712'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6886544919248417440/posts/default/5493511253336961712'/><link rel='alternate' type='text/html' href='http://poligloci.blogspot.com/2009/12/javafx-static-members.html' title='JavaFX static members'/><author><name>Michal Margiel</name><uri>http://www.blogger.com/profile/04191448659080996000</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://bp1.blogger.com/_kdhiF8qgUHo/SBd-uFqUeSI/AAAAAAAACLY/jyEweL4MUWg/S220/margiel.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6886544919248417440.post-395154908182542505</id><published>2009-12-04T22:42:00.004+01:00</published><updated>2009-12-04T23:21:05.134+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='pragmatists'/><category scheme='http://www.blogger.com/atom/ns#' term='szkolenia'/><category scheme='http://www.blogger.com/atom/ns#' term='historyjki'/><category scheme='http://www.blogger.com/atom/ns#' term='xp'/><category scheme='http://www.blogger.com/atom/ns#' term='scrum'/><title type='text'>Demony Przeszłości</title><content type='html'>Dziś dzięki uprzejmości mojej firmy &lt;a href="http://www.pragmatists.pl/"&gt;Pragmatists&lt;/a&gt; uczestniczyłem w pierwszym dniu szkolenia "&lt;a href="http://pragmatists.pl/szkolenie/Szkolenie_Zwinne_Rozwijanie_Oprogramowania/Otwarte_Szkolenie.html"&gt;Zwinne Rozwijanie Oprogramowania&lt;/a&gt;", prowadzonego przez (nie bójmy się tego słowa) wybitnych praktyków/teoretyków zwinnych metodyk: &lt;a href="http://blog.pawellipinski.com/"&gt;Pawła Lipińskiego &lt;/a&gt;i Krzysztofa Jelskiego. Pomimo, że ze SCRUMem pracuję już ponad dwa lata a z XP 7 miesięcy, &amp;nbsp;to postanowiliśmy z Pawłem wysłać mnie na to szkolenie celem usystematyzowania mojej wiedzy.&lt;br /&gt;&lt;br /&gt;Jako, że wśród uczestników szkolenia mało się znaliśmy (chociaż były również twarze znajome z &lt;a href="http://warszawa.jug.pl/"&gt;WJUGa) &lt;/a&gt;zaczęliśmy od odpowiedzenia na kilka prostych pytań, między innymi&amp;nbsp; "czym się zajmuję". Moją szczególną uwagę zwrócił kolega Kamil, który powiedział coś w stylu: "właśnie skończyłem pracę nad kodem stworzonym przez Michała". Buzia mi się zaraz uśmiechnęła do wspomnień, bo domyślałem się o jaki projekt chodzi. Mój pierwszy, który współtworzyłem jako zawodowy programista. A wręcz mój pierwszy projekt który na miano projektu zasługiwał.&lt;br /&gt;&lt;br /&gt;Kidy wróciłem do domu poruszyłem niebo i ziemię aby ten kod jakimś cudem zdobyć i udało się! To co zobaczyłem po otwarciu kodu źródłowego, przeszło moje najśmielsze oczekiwania.&lt;br /&gt;To było jak podmuch wiatru znad morza, naszego polskiego morza... jak wiosenny ciepły deszcz na polskiej szlacheckiej wsi...&lt;br /&gt;Ta przepiękna klasa ma ...1109 linii , 22 pola przeróżnych typów, 47 metod, wśród których są 130 linijkowe perełki. W każdej z nich oczywiście nie może zabraknąć zagnieżdżonych ifów w ifach, poprzeplatanych pętlami no i oczywiście obsługą wyjątków. &amp;nbsp;Aż mi się łezka w oku zakręciła jak popatrzyłem co za potwora stworzyłem.&lt;br /&gt;&lt;br /&gt;Chyba powinienem sobie tę klasę wydrukować i powiesić na ścianie by była przestrogą abym nigdy więcej nie był ojcem takiego Frankensteina.&lt;br /&gt;&lt;br /&gt;A Kamila, i wszystkich &amp;nbsp;innych którzy pracowali nad tym kodem, serdecznie przepraszam i współczuję. Mogę tylko zapewnić, że od tego czasu w moim warsztacie programistycznym bardzo wiele się zmieniło, i taka sytuacja nigdy więcej się nie powtórzy.&lt;br /&gt;&lt;br /&gt;...&lt;br /&gt;...&lt;br /&gt;Przysięgam!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6886544919248417440-395154908182542505?l=poligloci.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://poligloci.blogspot.com/feeds/395154908182542505/comments/default' title='Komentarze do posta'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6886544919248417440&amp;postID=395154908182542505' title='Komentarze (1)'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6886544919248417440/posts/default/395154908182542505'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6886544919248417440/posts/default/395154908182542505'/><link rel='alternate' type='text/html' href='http://poligloci.blogspot.com/2009/12/demony-przeszosci.html' title='Demony Przeszłości'/><author><name>Michal Margiel</name><uri>http://www.blogger.com/profile/04191448659080996000</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://bp1.blogger.com/_kdhiF8qgUHo/SBd-uFqUeSI/AAAAAAAACLY/jyEweL4MUWg/S220/margiel.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6886544919248417440.post-3598954892666366518</id><published>2009-07-03T16:25:00.021+02:00</published><updated>2009-12-04T23:51:18.159+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='JavaFX 1.2'/><category scheme='http://www.blogger.com/atom/ns#' term='Netbeans Platform'/><category scheme='http://www.blogger.com/atom/ns#' term='NetBeans'/><title type='text'>Beauty and the beast: JavaFX 1.2 in Netbeans Platform 6.7</title><content type='html'>During last 2 months my and my colleagues from my company were developing application in JavaFX. During this time we have created same really nice working and looking components:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Interactive and animating graph with zooming functionality, &lt;/li&gt;&lt;li&gt;Editable label with noticing that text inside it was changed external,&lt;/li&gt;&lt;li&gt;table containing those editable label (JavaFX itself or any external libraries does not contains table component).&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;Of course we had some hard time with JavaFX as it is really young technology, but still we loved how easily we could  create effectively looking and working components. Not mentioning BIND functionality which is one of the things that JavaFX developers will fall in love from the first sight :)&lt;br /&gt;&lt;br /&gt;But a week ago our customer decided that he needs pluginable envierment and almous every element in the system needs to be a separate plugin. In the begining I was crushed. I thought that one month of our hard work will go to trash.&lt;br /&gt;&lt;br /&gt;"We can put our JavaFX components into swing application, I've seen examples on the internet" - said my manager. So I've started looking for it and I have found not really nice looking hack called JFXScene (http://blogs.sun.com/javafx/entry/how_to_use_javafx_in), but also in comments to that article I've found info that this hack is not working with in JavaFX 1.2. But my manager said that for sure this is possible and he will do it even so google does not know it :) And he did :) How ? It is really simple, a lot simpler then a hack described in mentioned link. In few sections I will try to  explain how to put JavaFX components into swing application and then into Netbeans Platform.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size: 130%;"&gt;1. Let's start!&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;First we need some JavaFX component that we will try to put into swing application. Lets create our own button&lt;br /&gt;&lt;pre class="brush: javafx"&gt;public class NiceLookingButton extends CustomNode, JFXScene{&lt;br /&gt;  var color = Color.LIGHTGRAY;&lt;br /&gt;  var button:Rectangle;&lt;br /&gt;&lt;br /&gt;  override function create():Node{&lt;br /&gt;    var text = Text{&lt;br /&gt;      content:"Button"&lt;br /&gt;      fill: Color.WHITE&lt;br /&gt;      font: Font{&lt;br /&gt;        size: 20&lt;br /&gt;      }&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    button = Rectangle{&lt;br /&gt;      x: 0 y: 0&lt;br /&gt;      width: 100 height: 50&lt;br /&gt;      arcHeight:10 arcWidth: 10&lt;br /&gt;      strokeWidth: 3&lt;br /&gt;      stroke: bind color&lt;br /&gt;      fill: LinearGradient{&lt;br /&gt;        startX: 0 endX: 0&lt;br /&gt;        startY: 0 endY: 1&lt;br /&gt;        stops: [&lt;br /&gt;          Stop{ color: Color.WHITE offset: 0},&lt;br /&gt;          Stop{ color: color offset: 0.3}&lt;br /&gt;        ]&lt;br /&gt;      }&lt;br /&gt;      onMouseEntered: function(event){&lt;br /&gt;        color = Color.LIGHTBLUE;&lt;br /&gt;        setFill();&lt;br /&gt;      }&lt;br /&gt;      onMouseExited: function(event){&lt;br /&gt;        color = Color.LIGHTGRAY;&lt;br /&gt;        setFill();&lt;br /&gt;      }&lt;/pre&gt;&lt;pre class="brush: javafx"&gt;}&lt;br /&gt;    Stack{&lt;br /&gt;      effect: Reflection{}&lt;br /&gt;      content:[&lt;br /&gt;        button,&lt;br /&gt;        text&lt;br /&gt;      ]&lt;br /&gt;    }&amp;nbsp;&lt;/pre&gt;&lt;pre class="brush: javafx"&gt;}&amp;nbsp;&lt;/pre&gt;&lt;pre class="brush: javafx"&gt;function setFill(){&lt;br /&gt;    button.fill = LinearGradient{&lt;br /&gt;      startX: 0 endX: 0&lt;br /&gt;      startY: 0 endY: 1&lt;br /&gt;      stops: [&lt;br /&gt;        Stop{ color: Color.WHITE offset: 0},&lt;br /&gt;        Stop{ color: color offset: 0.3}&lt;br /&gt;      ]&lt;br /&gt;    }&lt;br /&gt;  }&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;a href="http://1.bp.blogspot.com/_kdhiF8qgUHo/SlExFgn_EGI/AAAAAAAAG8I/m65tFMt7WlY/s1600-h/button.png" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"&gt;&lt;img alt="" border="0" id="BLOGGER_PHOTO_ID_5355115402646982754" src="http://1.bp.blogspot.com/_kdhiF8qgUHo/SlExFgn_EGI/AAAAAAAAG8I/m65tFMt7WlY/s320/button.png" style="cursor: pointer; display: block; height: 186px; margin: 0px auto 10px; text-align: center; width: 265px;" /&gt;&lt;/a&gt;&lt;span style="font-size: 130%;"&gt;&lt;br /&gt;2.  Prepare to swing.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Now, when we have really pretty :) JavaFX component we can prepare it  for swinging. To do this first we need to create &lt;span style="font-weight: bold;"&gt;MIXIN&lt;/span&gt; class.&lt;br /&gt;What is &lt;span style="font-weight: bold;"&gt;mixin&lt;/span&gt;? &lt;span style="font-weight: bold;"&gt;Mixin &lt;/span&gt;was added in  JavaFX 1.2  and it is  a special type of class, it can not be constructed but other classes can implement multiple inheritance with them. In other words normal classes can extends many mixin classes.&lt;br /&gt;&lt;br /&gt;Our &lt;span style="font-weight: bold;"&gt;mixin &lt;/span&gt;implements method that puts component into JavaFX Scene and in the end gets Object that extends  JComponent.&lt;br /&gt;&lt;pre class="brush: javafx"&gt;public mixin class JFXScene {&lt;br /&gt;  public function getScene():JComponent{&lt;br /&gt;    var scene = Scene{content: this as Node};&lt;br /&gt;    var swingScene = scene.impl_getPeer() as SwingScene;&lt;br /&gt;    return swingScene.scenePanel;&lt;br /&gt;  }&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;Now we can change implementation of NiceLookingButton:&lt;br /&gt;&lt;br /&gt;&lt;pre class="brush: javafx"&gt;public class NiceLookingButton extends CustomNode, JFXScene {&lt;br /&gt;  //no changes here&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;The last thing we have to do is to add JavaFX 1.2 run time library ( which can be download from here : http://dl.javafx.com/javafx-rt-windows-i586__V1.2.0_b233.jar ) to our project class path.&lt;br /&gt;&lt;br /&gt;Is it all? YES! it is THAT simple! we are now ready to put JavaFX component into normal Swing application!&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size: 130%;"&gt;3. Lets SWING!&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Now we can create Simple Swing application, and put on its classpath javafx-rt downloaded in previous section  and jar file with our JavaFX Component.&lt;br /&gt;&lt;br /&gt;&lt;pre class="brush: java"&gt;public class MainFrame extends javax.swing.JFrame {&lt;br /&gt;  public MainFrame() {&lt;br /&gt;    initComponents();&lt;br /&gt;  }&lt;br /&gt;&lt;br /&gt;  private void initComponents() {&lt;br /&gt;    setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);&lt;br /&gt;    getContentPane().setLayout(new FlowLayout());&lt;br /&gt;    getContentPane().add(new NiceLookingButton().getScene());&lt;br /&gt;    pack();&lt;br /&gt;  }&lt;br /&gt;&lt;br /&gt;  public static void main(String args[]) {&lt;br /&gt;    java.awt.EventQueue.invokeLater(new Runnable() {&lt;br /&gt;&lt;br /&gt;      public void run() {&lt;br /&gt;        new MainFrame().setVisible(true);&lt;br /&gt;      }&lt;br /&gt;    });&lt;br /&gt;  }&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;As you can see in the code we do not use any hack or reflection to create our button, we just use normal no-argument constructor like we would create every other Java class. Isn't this nice?&lt;br /&gt;&lt;br /&gt;&lt;a href="http://3.bp.blogspot.com/_kdhiF8qgUHo/SlJF7bOlyWI/AAAAAAAAG_U/Owa5VzE9GWQ/s1600-h/swing.png" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"&gt;&lt;img alt="" border="0" id="BLOGGER_PHOTO_ID_5355419794120493410" src="http://3.bp.blogspot.com/_kdhiF8qgUHo/SlJF7bOlyWI/AAAAAAAAG_U/Owa5VzE9GWQ/s320/swing.png" style="cursor: pointer; display: block; height: 189px; margin: 0px auto 10px; text-align: center; width: 320px;" /&gt;&lt;/a&gt;Since in swing application we have references to NiceLookingButton we can invoke any public methods like on any other java object.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size: 130%;"&gt;3. "New construction options"&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;If you have worked with JavaFX before you probably know that in JavaFX Scirpt you do not declare any constructors, you create object in very nice "groovy-like" way:&lt;br /&gt;&lt;pre class="brush: javafx"&gt;MyJavaFXObject{firstName: "Michal", surename: "Margiel"  }&lt;br /&gt;&lt;/pre&gt;As you can see it is really nice, but it determines that in classes compiled from JavaFX Script ces we have only default, no-argument constructor. But what if we would like to pass some information during object construction? Well... No problem ! we just need to introduce static factory method.&lt;br /&gt;&lt;br /&gt;Since there is no &lt;span style="font-style: italic; font-weight: bold;"&gt;static&lt;/span&gt; key word in JavaFX all static members  are declared like any other but outside class.&lt;br /&gt;So if we would like to pass i.e. &lt;span style="font-style: italic; font-weight: bold;"&gt;width&lt;/span&gt; and &lt;span style="font-style: italic; font-weight: bold;"&gt;height&lt;/span&gt; of the button we need to introduce those properties as public variables and introduce this method:&lt;br /&gt;&lt;br /&gt;&lt;pre class="brush: javafx"&gt;public function create(width:Integer, height:Integer):NiceLookingButton{&lt;br /&gt;  NiceLookingButton{width: width, height: height}&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;public class NiceLookingButton extends CustomNode, JFXScene{&lt;br /&gt;  (...)&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;Now we just need to rebuild our library and from now on we can invoke our factory method.&lt;br /&gt;&lt;br /&gt;&lt;pre class="brush: java"&gt;private void initComponents() {&lt;br /&gt;  setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);&lt;br /&gt;  getContentPane().setLayout(new FlowLayout());&lt;br /&gt;  NiceLookingButton button = NiceLookingButton.create(200, 100);&lt;br /&gt;  getContentPane().add(button.getScene());&lt;br /&gt;  pack();&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;a href="http://2.bp.blogspot.com/_kdhiF8qgUHo/SlJTQ1C6wXI/AAAAAAAAG_c/j20EElfyN2s/s1600-h/swing2.png" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"&gt;&lt;img alt="" border="0" id="BLOGGER_PHOTO_ID_5355434455479271794" src="http://2.bp.blogspot.com/_kdhiF8qgUHo/SlJTQ1C6wXI/AAAAAAAAG_c/j20EElfyN2s/s320/swing2.png" style="cursor: pointer; display: block; height: 320px; margin: 0px auto 10px; text-align: center; width: 282px;" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style="font-style: italic; font-weight: bold;"&gt;4. Push the Button&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;Ok, So we can construct JavaFX objects with parameters and put them into Swing applications, also we know that we can invoke all public  methods on them.  But our component is a Button so it should  be able react on clicking on it on swing side. Can we do it? Again - YES!&lt;br /&gt;&lt;br /&gt;We need to introduce public variable with type function()  inside NiceLookingButton&lt;br /&gt;&lt;pre class="brush: javafx"&gt;public class NiceLookingButton extends CustomNode, JFXScene{&lt;br /&gt;  public var width:Integer = 100;&lt;br /&gt;  public var height:Integer = 50;&lt;br /&gt;  public var onMouseClick:function();&lt;br /&gt;  (...)&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;and then invoke it when user click on our button (Rectangle)&lt;br /&gt;&lt;pre class="brush: javafx"&gt;onMouseClicked: function(event){&lt;br /&gt;  onMouseClick();&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;after rebuilding library we have access to $onMouseClick property  which accepts Function0 &lt;void&gt;. Function0 is an interface with method&lt;br /&gt;&lt;/void&gt;&lt;br /&gt;&lt;pre class="brush: java"&gt;public Void invoke()&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;which will be invoke when user will click our button. Lets introduce simple implementation:&lt;br /&gt;&lt;br /&gt;&lt;pre class="brush: java"&gt;button.$onMouseClick = new Function0&lt;void&gt;(){&lt;br /&gt;  public Void invoke() {&lt;br /&gt;    System.out.println("Nice Looking JavaFX Button Clicked!");&lt;br /&gt;    return null;&lt;br /&gt;  }&lt;br /&gt;};&lt;br /&gt;&lt;/void&gt;&lt;/pre&gt;&lt;br /&gt;As you might noticed invoke method returns Void Object so we have to return at least null;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://1.bp.blogspot.com/_kdhiF8qgUHo/SlJfVegj67I/AAAAAAAAG_k/pBdeYqPuvx4/s1600-h/clicked.png" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"&gt;&lt;img alt="" border="0" id="BLOGGER_PHOTO_ID_5355447729468468146" src="http://1.bp.blogspot.com/_kdhiF8qgUHo/SlJfVegj67I/AAAAAAAAG_k/pBdeYqPuvx4/s320/clicked.png" style="cursor: pointer; display: block; height: 153px; margin: 0px auto 10px; text-align: center; width: 320px;" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size: 130%;"&gt;5. JavaFX Platform?&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Ok, so the question for now is: Since &lt;span style="font-weight: bold;"&gt;NetBeans Platform&lt;/span&gt; uses Swing, can we also use JavaFX inside it?&lt;br /&gt;and the answer is of course - YES :) and it is again really, really simple!&lt;br /&gt;We just have to fallow few steps:&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Wrap up jar containing NiceLookingButton and javafx-rt  into Netbeans Platform Modules.&lt;/li&gt;&lt;li&gt;Add javafx-rt module to yourJavaFXLibrary module.&lt;/li&gt;&lt;li&gt;Create Netbeans Platform Module with Window Component and add both yourJavaFXlibrary and  javafx-rt module.&lt;/li&gt;&lt;li&gt;Add NiceLookingButton to your TopComponent,   &lt;/li&gt;&lt;pre class="brush: java"&gt;private void initComponents() {&lt;br /&gt;  setLayout(new FlowLayout());&lt;br /&gt;  NiceLookingButton button = NiceLookingButton.create(200, 100);&lt;br /&gt;  button.$onMouseClick = new Function0&lt;void&gt;(){&lt;br /&gt;    public Void invoke() {&lt;br /&gt;      System.out.println("Nice Looking JavaFX Button Clicked!");&lt;br /&gt;      return null;&lt;br /&gt;    }&lt;br /&gt;  };&lt;br /&gt;  add(button.getScene());&lt;br /&gt;}&lt;br /&gt;&lt;/void&gt;&lt;/pre&gt;&lt;li&gt;Run NetBeans Platform project, and voilà!&lt;/li&gt;&lt;/ol&gt;&lt;a href="http://4.bp.blogspot.com/_kdhiF8qgUHo/SlJnU6SwfcI/AAAAAAAAG_s/nTKGdijvTaU/s1600-h/JavaFXPlatform.png" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"&gt;&lt;img alt="" border="0" id="BLOGGER_PHOTO_ID_5355456515839917506" src="http://4.bp.blogspot.com/_kdhiF8qgUHo/SlJnU6SwfcI/AAAAAAAAG_s/nTKGdijvTaU/s320/JavaFXPlatform.png" style="cursor: pointer; display: block; height: 280px; margin: 0px auto 10px; text-align: center; width: 320px;" /&gt;&lt;/a&gt;We can see our button in Netbeans Platform, and all actions (like hovering and clicking) still works!&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size: 130%;"&gt;6. Yes, Yes, Yes!&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;So conclusion is really great!.&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;span style="font-weight: bold;"&gt;Yes!&lt;/span&gt; - you can use your JavaFX 1.2 components without any reflection inside Swing applications.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-style: italic; font-weight: bold;"&gt;Yes!&lt;/span&gt; - you can invoke methods on javaFX components from swinf and oposite&lt;/li&gt;&lt;li&gt;and &lt;span style="font-style: italic; font-weight: bold;"&gt;Yes!&lt;/span&gt; - you can use JavaFX in Netbeans Platform to build &lt;span style="font-style: italic; font-weight: bold;"&gt;JavaFX Platform&lt;/span&gt; :)&lt;/li&gt;&lt;/ul&gt;&lt;a href="http://4.bp.blogspot.com/_kdhiF8qgUHo/SlJyTdySr1I/AAAAAAAAG_0/Rt8Rpe-OOzk/s1600-h/comparision.png" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"&gt;&lt;img alt="" border="0" id="BLOGGER_PHOTO_ID_5355468585635589970" src="http://4.bp.blogspot.com/_kdhiF8qgUHo/SlJyTdySr1I/AAAAAAAAG_0/Rt8Rpe-OOzk/s320/comparision.png" style="cursor: pointer; display: block; height: 148px; margin: 0px auto 10px; text-align: center; width: 320px;" /&gt;&lt;/a&gt;&lt;span style="font-size: 85%;"&gt;(from left JavaFX app, Swing app with JavaFX component, and NetBeans Platform with JavaFX component)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;All three NetBeans  projects (JavaFX, Swing and NetBeans Platform) are available &lt;a href="http://www.blogger.com/www.iem.pw.edu.pl/%7Emargielm/java/JavaFXInSwing.zip"&gt;here&lt;/a&gt;.&lt;br /&gt;In case of any questions just write to me!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6886544919248417440-3598954892666366518?l=poligloci.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://poligloci.blogspot.com/feeds/3598954892666366518/comments/default' title='Komentarze do posta'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6886544919248417440&amp;postID=3598954892666366518' title='Komentarze (13)'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6886544919248417440/posts/default/3598954892666366518'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6886544919248417440/posts/default/3598954892666366518'/><link rel='alternate' type='text/html' href='http://poligloci.blogspot.com/2009/07/beauty-and-beast-javafx-12-in-netbeans.html' title='Beauty and the beast: JavaFX 1.2 in Netbeans Platform 6.7'/><author><name>Michal Margiel</name><uri>http://www.blogger.com/profile/04191448659080996000</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://bp1.blogger.com/_kdhiF8qgUHo/SBd-uFqUeSI/AAAAAAAACLY/jyEweL4MUWg/S220/margiel.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_kdhiF8qgUHo/SlExFgn_EGI/AAAAAAAAG8I/m65tFMt7WlY/s72-c/button.png' height='72' width='72'/><thr:total>13</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6886544919248417440.post-1947939250406863503</id><published>2009-03-10T12:28:00.006+01:00</published><updated>2009-03-10T15:36:55.605+01:00</updated><title type='text'>Blogi, groovy, java i String</title><content type='html'>&lt;p&gt;Od jakiegoś czasu rozpoznaje webowe dziecko Grooviego czyli Grails. Jest to świetny framework do małych aplikacyjek, którego polecam wszystkim. &lt;/p&gt;&lt;p&gt;Aby dowiedzieć się czegoś ciekawego o Grailsach wszedłem odwiedziłem również bloga &lt;a href="http://www.holewa.org/"&gt;Radka Holewy&lt;/a&gt; - jednego z liderów  &lt;a href="http://www.java.pl/"&gt;PLJUGa&lt;/a&gt;. Tam znalazłem bardzo ciekawy wpis "&lt;a href="http://www.holewa.org/2008/12/12/groovy-przydatne-informacje/"&gt;Groovy - przydatne informacje&lt;/a&gt;" który zawiera zestaw "sznurków" przydatnych dla każdego zainteresowanego językiem groovy.  jednym z linków był &lt;a href="http://www.grailstutorials.com/home/"&gt;Grails Tutorials&lt;/a&gt;, a stamtąd już prosto na bloga 3.times { theFun } i post &lt;a href="http://ericbweimer.blogspot.com/2009/03/syntatic-sugar.html"&gt;Syntactic Sugar&lt;/a&gt;. Opisana jest w nim uproszczona składnia pętli for w groovim, lecz to co co przyciągnęło moja uwagę to komentarz autora o "syntactic sugar" w Javie. A konkretnie o klasie String tworzeniu jej obiektów.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;blockquote&gt;In Java we can create a String through the object model by calling a constructor:&lt;br /&gt;&lt;br /&gt;String name = new String ("eduardo");&lt;br /&gt;&lt;br /&gt;Or we can use this bit of "syntactic sugar":&lt;br /&gt;&lt;br /&gt;String name = "eduardo";&lt;br /&gt;&lt;br /&gt;As you can see, syntactic sugar gives us two things: clarity and conciseness. It  does not add any new functionality&lt;br /&gt;&lt;br /&gt;&lt;/blockquote&gt; Czemu mnie ten fragment zaciekawił? Powód jest prosty... autor dość znacznie mija się z prawdą. Różnica pomiedzy new String("tekst") oraz "tekst" jest dość duża. Ta pierwsza konstrukcja ZAWSZE tworzy nowego  string, a ta druga najpierw wyszukuje czy już taki łańcuch istnieje w puli, jeśli tak to podpina się pod niego, a jeśli nie to tworzy nowy i wrzuca go do puli. Można by więc powiedzieć, że niejawnie wywołuje metodę &lt;span style="font-weight: bold;"&gt;intern()&lt;/span&gt;. Z tych powodów jawnego konstruktora klasy String &lt;span style="font-weight: bold;"&gt;NIGDY&lt;/span&gt; nie powinno sie uzywać. Jak widać nie jest to więc tylko syntactic sugar i jak najbardziej dodaje nową funkcjonalność.&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;Opisałem więc cała sprawę w komentarzy do posta, jednakże gdy kliknąłem "Post Comment" okazało się, że musi być on zaakceptowany przez bloggera. Niestety nie wszyscy potrafią przyjąć krytykę więc mój komentarz się nie pojawił, natomiast post stał się bogatszy o jedno słowo.&lt;/p&gt;&lt;p&gt;I tak zdanie&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;blockquote&gt;"It  does not add any new functionality" &lt;/blockquote&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;zostało zmienione na&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;blockquote&gt;"It &lt;span style="font-weight: bold;"&gt;USUALY  &lt;/span&gt;does not add any new functionality"&lt;/blockquote&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Powiem szczerze,  że przykra jest dla mnie taka cenzura na blogach... no ale jak to mawiał Ryszard Ochódzki "trudno... co zrobić"&lt;br /&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6886544919248417440-1947939250406863503?l=poligloci.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://poligloci.blogspot.com/feeds/1947939250406863503/comments/default' title='Komentarze do posta'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6886544919248417440&amp;postID=1947939250406863503' title='Komentarze (1)'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6886544919248417440/posts/default/1947939250406863503'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6886544919248417440/posts/default/1947939250406863503'/><link rel='alternate' type='text/html' href='http://poligloci.blogspot.com/2009/03/blogi-groovy-java-i-string.html' title='Blogi, groovy, java i String'/><author><name>Michal Margiel</name><uri>http://www.blogger.com/profile/04191448659080996000</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://bp1.blogger.com/_kdhiF8qgUHo/SBd-uFqUeSI/AAAAAAAACLY/jyEweL4MUWg/S220/margiel.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6886544919248417440.post-2901608944567654982</id><published>2009-02-01T22:37:00.006+01:00</published><updated>2009-02-01T23:31:42.242+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='NetBeans'/><title type='text'>NetBeans 6.5 i skróty klawiszowe - bo w życiu nie może być za łatwo...</title><content type='html'>&lt;p&gt;Występ &lt;a href="http://www.adam-bien.com/"&gt;Adama Biena&lt;/a&gt;, niemieckiego Java Chempiona, był moim zdaniem jednym z najjaśniejszych punktów ubiegłorocznego JDD. Tezy które wypowiadał były jakby wprost wyjęte z mojej głowy - krytyka nadmiernego rozwarstwienia aplikacji, niezrozumiałe ogromne podniecanie się Springiem i jeszcze bardziej nie zrozumiała i jeszcze bardziej ogromna krytyka EJB 3.0 . Rozłożył mnie na łopatki swoją energią i poczuciem humoru. Wręcz nazwałem go niemieckim &lt;a href="http://www.laskowski.net.pl/"&gt;Jackiem Laskowskim&lt;/a&gt; :) Od tego czasu jestem stałym (chodź nie regularnym) czytelnikiem &lt;a href="http://www.adam-bien.com/roller/abien/"&gt;bloga&lt;/a&gt; Adama (nie jesteśmy na Ty ale mam nadzieje, że nikt się nie obrazi za moją nadmierną poufałość ).&lt;/p&gt;&lt;p&gt;Dość pokaźna część postów na tym blogu (90% ?) poświęcona jest najnowszej odsłonie IDE od Suna, czyli NetBeans 6.5. Jako, że jestem wręcz fanatycznym fanem nowych technologii i uwielbiam poznawać wszystko co nowe i "fajne" postanowiłem wypróbować to najmłodsze dziecko programistów  z Pragi. A że zacząłem również poznawać Apache Wicket, postanowiłem upiec dwie pieczenie na jednym ogniu i programować Wicketa właśnie w NetBeans.&lt;/p&gt;&lt;p&gt;Jak już pisałem w postach o Eclipse, podczas poznawania nowego edytora pierwsze co robię to wchodzę w ustawienia kluczy klawiszowych by sprawdzić czy to środowisku udostępnia moje ulubione operacje. I tu pierwszy zawód... Wciąż programiści Sun'a nie wprowadzili tak banalnej funkcjonalności jak wyszukiwanie skrótów. Czemu tego nie zrobili od tak wielu edycji jest dla mnie czymś czego nigdy nie zrozumiem.  &lt;/p&gt;&lt;p&gt;"Lecz nie jest tak źle!" - można by pomyśleć. Gdyż skróty pogrupowane są w miarę sensowne kategorie...&lt;/p&gt;&lt;p&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 294px; height: 320px;" src="http://4.bp.blogspot.com/_kdhiF8qgUHo/SYYa4RLKISI/AAAAAAAAEuc/NPUyf4cQ9-o/s320/netbeans.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5297951565633167650" /&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Ja potrzebowałem skrótu który usuwał linię w której aktualnie znajduje się kursor (eclipse -&gt; ctrl+d). Kierując się moja pokrętną logiką sądziłem, że skrót ten znajdzie się w kategorii "edit" lub "source". &lt;/p&gt;&lt;p&gt; Ale najwyraźniej myślenie tego dnia nie szło mi najlepiej gdyż skrót ten odnalazłem dopiero w sekcji... i tu uwaga... "OTHERS". Logiczna prawda? :D&lt;/p&gt;&lt;p&gt;Niby to wszystko drobnostki, ale muszę przyznać ze zniechęcają mnie do tego środowiska... Mam nadzieje, że dalej będzie już tylko lepiej.&lt;/p&gt;&lt;p&gt;A skrótu do zduplikowania linii wciąż poszukuje.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6886544919248417440-2901608944567654982?l=poligloci.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://poligloci.blogspot.com/feeds/2901608944567654982/comments/default' title='Komentarze do posta'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6886544919248417440&amp;postID=2901608944567654982' title='Komentarze (4)'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6886544919248417440/posts/default/2901608944567654982'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6886544919248417440/posts/default/2901608944567654982'/><link rel='alternate' type='text/html' href='http://poligloci.blogspot.com/2009/02/netbeans-65-i-skroty-klawiszowe-bo-w.html' title='NetBeans 6.5 i skróty klawiszowe - bo w życiu nie może być za łatwo...'/><author><name>Michal Margiel</name><uri>http://www.blogger.com/profile/04191448659080996000</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://bp1.blogger.com/_kdhiF8qgUHo/SBd-uFqUeSI/AAAAAAAACLY/jyEweL4MUWg/S220/margiel.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_kdhiF8qgUHo/SYYa4RLKISI/AAAAAAAAEuc/NPUyf4cQ9-o/s72-c/netbeans.png' height='72' width='72'/><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6886544919248417440.post-84765441811684555</id><published>2008-12-29T00:19:00.003+01:00</published><updated>2008-12-29T10:24:55.720+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='sprzęt'/><category scheme='http://www.blogger.com/atom/ns#' term='historyjki'/><title type='text'>Poświąteczna wyprzedaż....</title><content type='html'>&lt;p&gt;No i stało się... zostałem złapany, jak masa innych ludzi, na haczyk poświatecznych promocji. &lt;/p&gt;&lt;p&gt;A stało się to tak - jako, że od jakiegoś czasu rozglądam się za nowym (bardzo) dużym telewizorem, moim pierwszym w technologii LCD[1] i mam już (prawie ;) ) upatrzony model, pojechałem do MediaMarkt by obejrzeć te głośne "wietrzenie magazynów". Interesującego mnie modelu nawet nie znalazłem - ale modele podobne wcale nie były przecenione a cena była znacznie wyższa niż ta w sklepach internetowych. Machnąłem więc na to wszystko ręką i poszedłem sprawdzić jeszcze z czystej ciekawości ceny monitorów... no i znowu nic ciekawego. &lt;/p&gt;&lt;p&gt;Ale! był jeszcze jeden sprzęt który od jakiegoś czasu był w centrum mojego zainteresowania - a mianowicie konsola do gier :) na początku myślałem tylko o Wii z uwagi na nowatorskie sterowanie. A potem zacząłem kierować się w strone PS3, ze względu na mocniejszy sprzęt i odtwarzacz BlueRay. Mailowe dyskusje z kolegami również przekonywały mnie do konsoli ze stajni Sony. Doszedłem do działu z konsolami i... szok! PS3 80GB + LittleBigPlanet za 1299 zł! jeszcze skonsultowałem się z kolegą allegro i koleżanką ceneo i wyszło na to, że faktycznie jest to bardzo dobra oferta. Z wypiekami na twarzy wróciłem do sklepu i zapakowałem do samochodu moją pierwszą w życiu konsole do gier[2] . Nie pamiętam kiedy ostatnio byłem tak podekscytowany na myśl o grach komputerowych, miło jest wrócić myślami do dzieciństwa ;)&lt;/p&gt;&lt;p&gt;No ale czemu ja o tym tutaj piszę? Ponieważ gdy zmierzałem do sklepu z zamiarem kupienia PS3 przez moją głowę przeszła myśl - " czy ta konsola wspiera Javę?"... chwila konsternacji i kolejna myśl "czy ja jestem chory, że tak myśle? a jeśli tak to jak poważnie" :).  Co zrobić... jak to mówiliśmy w radiu Euro podczas audycji  o javarsovii 2008 - kochamy Javę więc trudno o niej nie myśleć ;)&lt;/p&gt;&lt;p&gt;Historia cała oczywiście zakończyła się szczęśliwie - podłączyłem konsole do mojego 14 calowego tivi i gram w piękną grę LBP[3].. a na pudełku widnieje piękny napis "JAVA Powered" :)&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;[1] Do tej pory używam tylko 16-sto letniego samsunga, który ma 14 cali a został kupiony za pieniądze z komunii ;) Muszę powiedzieć że sprawuje się świetnie i wróżę mu jeszcze wiele lat pracy&lt;/p&gt;&lt;p&gt;[2]No tak.. nie miałem Pegasusa... w sławną CONTRE grałem u kolegów ;) &lt;/p&gt;&lt;p&gt;[3]A grę polecam wszystkim! Piękna, bajkowa grafika, przemiły główny bohater i 0 (słownie ZERO) przemocy.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6886544919248417440-84765441811684555?l=poligloci.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://poligloci.blogspot.com/feeds/84765441811684555/comments/default' title='Komentarze do posta'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6886544919248417440&amp;postID=84765441811684555' title='Komentarze (6)'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6886544919248417440/posts/default/84765441811684555'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6886544919248417440/posts/default/84765441811684555'/><link rel='alternate' type='text/html' href='http://poligloci.blogspot.com/2008/12/powiteczna-wyprzeda.html' title='Poświąteczna wyprzedaż....'/><author><name>Michal Margiel</name><uri>http://www.blogger.com/profile/04191448659080996000</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://bp1.blogger.com/_kdhiF8qgUHo/SBd-uFqUeSI/AAAAAAAACLY/jyEweL4MUWg/S220/margiel.jpg'/></author><thr:total>6</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6886544919248417440.post-943662432261548292</id><published>2008-09-15T23:48:00.004+02:00</published><updated>2008-09-16T00:00:30.316+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='maven2'/><title type='text'>Pakiety - maven swoje, java swoje</title><content type='html'>&lt;p&gt;Ostatnio w pracy zaobserwowałem bardzo dziwną rzecz. W Eclipse miałem zaimportowany projekt zarządzany przez mavena2 którego wiele klas moje IDE oznaczało pięknym czerwonym krzyżykiem. Według Eclipse zadeklarowane w klasach pakiety (logiczne*) różniły się od katalogów w których były one umieszczone (pakiety fizyczne*). "Co jest" - pomyślałem -"przecież 3 minuty temu budowałem ten projekt i maven nie zgłosił mi żadnego &gt;&gt;ale&lt;&lt;". &lt;/p&gt;&lt;p&gt;Wszedłem więc ponownie do linii koment i wpisałem "mvn clean install". I co? Nic.. widzę na własne oczy "Success". Jak bym nie zobaczył, to bym nie uwierzył. Po krótkim zbadaniu sprawy i paru testach okazało się, że maven2 (a konkretnie 2.0.9 - innych nie sprawdzałem), kompletnie nie zwraca uwagi na pakiety fizyczne. i w katalugu "target" buduje po prostu ścieżke zgodnie z pakietem logicznym.&lt;/p&gt;&lt;p&gt;Dość frustrujący błąd, zwłaszcza gdy chcemy coś zdebudować, a tu nic z tego... można stracić kilka cennych chwil zastanawiając się nad tym co jest nie tak. Miejmy nadzieje, że w najbliższej wersji zostanie to naprawione!&lt;/p&gt;&lt;p&gt;Miejcie się na baczności :)&lt;/p&gt;&lt;p&gt;&lt;span style="font-size:85%;"&gt;* to moje nazewnictwo. nie wiem czy ktoś przede mną go używał. jeśli uważacie że jest błędne to z chęcią wysłucham ciepłych słów krytyki :)&lt;/span&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6886544919248417440-943662432261548292?l=poligloci.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://poligloci.blogspot.com/feeds/943662432261548292/comments/default' title='Komentarze do posta'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6886544919248417440&amp;postID=943662432261548292' title='Komentarze (12)'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6886544919248417440/posts/default/943662432261548292'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6886544919248417440/posts/default/943662432261548292'/><link rel='alternate' type='text/html' href='http://poligloci.blogspot.com/2008/09/pakiety-maven-swoje-java-swoje.html' title='Pakiety - maven swoje, java swoje'/><author><name>Michal Margiel</name><uri>http://www.blogger.com/profile/04191448659080996000</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://bp1.blogger.com/_kdhiF8qgUHo/SBd-uFqUeSI/AAAAAAAACLY/jyEweL4MUWg/S220/margiel.jpg'/></author><thr:total>12</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6886544919248417440.post-2749746574178033001</id><published>2008-07-22T22:00:00.009+02:00</published><updated>2008-07-23T00:03:13.392+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Ganymede'/><category scheme='http://www.blogger.com/atom/ns#' term='maven2'/><category scheme='http://www.blogger.com/atom/ns#' term='Eclipse'/><title type='text'>m2eclipse 0.9.5 wydany!</title><content type='html'>Cóż za wspaniała nowina! 17. lica została wydana najnowsza wersja, moim zdaniem najlepszego, pluginu do Eclipse integrującego go z Mavenem2 - czyli &lt;a href="http://m2eclipse.sonatype.org/"&gt;m2eclipse&lt;/a&gt;. Wersja ta została oznaczona numerkiem 0.9.5 ale patrząc na zmiany w stosunku do poprzedniej wersji aż dziw bierze, że twórcy zdecydowali się przeskoczyć tylko o ostatnią cyferkę w numeracji!&lt;br /&gt;&lt;br /&gt;Najbardziej znaczącą i najfajniejszą zmianą w stosunku do poprzedniej wersji jest całkiem nowy edytor pliku pom.xml, który już nie jest zwykłym edytorem XML lecz pełnoprawnym "łizardem". Przyjrzyjmy się mu!&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp3.blogger.com/_kdhiF8qgUHo/SIZGAVg6MYI/AAAAAAAADSk/JSr6Ui-vDqs/s1600-h/m2eclipse.PNG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://bp3.blogger.com/_kdhiF8qgUHo/SIZGAVg6MYI/AAAAAAAADSk/JSr6Ui-vDqs/s320/m2eclipse.PNG" alt="" id="BLOGGER_PHOTO_ID_5225941389199159682" border="0" /&gt;&lt;/a&gt;Jak widać na powyższym obrazku na edytor składa się aż 11 zakładek. Dużo... ale każda ma swoje konkretne zadanie i wywiązuje się z niego znakomicie. Zastosowanie większości z nich można rozpoznać bo ich nazwie, które odwołują się do konkretnych sekcji w POM.xml. Opiszę więc tylko te najciekawsze.&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Overview&lt;/li&gt;&lt;/ul&gt;Zakąłdka ta (widoczna na obrazku powyżej), zawiera w sobie wszystkie ogólne informacje o projekcie. Dla programisty znającego mavena2 sekcje w tej zakładce nie stanowią tajemnicy. Możemy tutaj ustawić tak podstawowe informacje jak : artifactId, groupId, version, scope, packaging oraz poma-rodzica,  moduły, propertiesy  i tak dalej. Co ciekawe z poziomu tej zakładki nie byłem w stanie dodać ani usunąć propertiesu. Chyba mały błąd się wkradł.&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Dependencies&lt;/li&gt;&lt;/ul&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp1.blogger.com/_kdhiF8qgUHo/SIZVMPyt1hI/AAAAAAAADTE/_l3FSa9clhI/s1600-h/dep.PNG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://bp1.blogger.com/_kdhiF8qgUHo/SIZVMPyt1hI/AAAAAAAADTE/_l3FSa9clhI/s320/dep.PNG" alt="" id="BLOGGER_PHOTO_ID_5225958086496081426" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Tutaj możemy dodać, lub usunąć,  zależności zarówno do sekcji "dependencies" jak i "dependencyManagement" nazsego POMa. Warte nadmienienia jest to, że m2eclipse indeksuje sobie repozytorium lokalne oraz ibiblio więc potrafi podpowiedzieć nam groupId, artifactId, version oraz type. wystarczy wcisnąć znaną wszystkim kombinacje klawiszy ctrl+spacja.&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Dependency Hierarchy&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp0.blogger.com/_kdhiF8qgUHo/SIZRXnEeCWI/AAAAAAAADSs/dNYkzW4K4tg/s1600-h/dh.PNG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://bp0.blogger.com/_kdhiF8qgUHo/SIZRXnEeCWI/AAAAAAAADSs/dNYkzW4K4tg/s320/dh.PNG" alt="" id="BLOGGER_PHOTO_ID_5225953883676608866" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;To bardzo przydatna zakładka która wyświetla hierarchie zależności przechodnich. Wraz z ich wersjami i zakresem.&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Dependency Graph&lt;/li&gt;&lt;/ul&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp2.blogger.com/_kdhiF8qgUHo/SIZTQQBNwdI/AAAAAAAADS0/B5fdR-UzHwk/s1600-h/graf.PNG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://bp2.blogger.com/_kdhiF8qgUHo/SIZTQQBNwdI/AAAAAAAADS0/B5fdR-UzHwk/s320/graf.PNG" alt="" id="BLOGGER_PHOTO_ID_5225955956253114834" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Nareszcie! Wyświetlanie grafu zależności to była jedna z funkcjonalności której brakowało mi najbardziej w poprzednich wersjach pluginu m2eclipse.  Skonstruowany graf jest czytelny i ładnie rozplanowany, a dodatkowo każdy węzeł możemy swobodnie przesuwać.  Jeśli pom ma naprawdę dużo zależności (co się zdarza wcale nie rzadko) i nie możemy jakiejś znaleźć możemy skorzystać z funkcji search. Podczas wpisywania interesującej nas frazy przyrostowo będą podświetlane na żółto te zależności których nazwa spełnia zadany przez nas warunek. Bardzo fajna funkcja.&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;pom.xml&lt;/li&gt;&lt;/ul&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp3.blogger.com/_kdhiF8qgUHo/SIZU6EbLnhI/AAAAAAAADS8/RjUV_-5Q55g/s1600-h/pom.PNG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://bp3.blogger.com/_kdhiF8qgUHo/SIZU6EbLnhI/AAAAAAAADS8/RjUV_-5Q55g/s320/pom.PNG" alt="" id="BLOGGER_PHOTO_ID_5225957774206934546" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;w zakładce tej mamy dostęp do samego pliku xmlowego którego możemy ręcznie zmienić korzystając z podpowiedzi które dostarcza nam edytor.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Plugin m2eclipse już od jakiegoś czasu był bardzo dobrym narzędziem. Wersja 0.9.5 chodź nie pozbawiona błędów powinna być co najmniej  wypróbowana przez każdego programistę który pracuje z mavenem2. Na prawdę warto! pełny spis nowinek w wersji 0.9.5 możecie znaleźć &lt;a href="http://docs.codehaus.org/display/M2ECLIPSE/New+and+Noteworthy"&gt;tutaj&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6886544919248417440-2749746574178033001?l=poligloci.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://poligloci.blogspot.com/feeds/2749746574178033001/comments/default' title='Komentarze do posta'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6886544919248417440&amp;postID=2749746574178033001' title='Komentarze (2)'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6886544919248417440/posts/default/2749746574178033001'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6886544919248417440/posts/default/2749746574178033001'/><link rel='alternate' type='text/html' href='http://poligloci.blogspot.com/2008/07/m2eclipse-095-wydany.html' title='m2eclipse 0.9.5 wydany!'/><author><name>Michal Margiel</name><uri>http://www.blogger.com/profile/04191448659080996000</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://bp1.blogger.com/_kdhiF8qgUHo/SBd-uFqUeSI/AAAAAAAACLY/jyEweL4MUWg/S220/margiel.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://bp3.blogger.com/_kdhiF8qgUHo/SIZGAVg6MYI/AAAAAAAADSk/JSr6Ui-vDqs/s72-c/m2eclipse.PNG' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6886544919248417440.post-6897282714228349618</id><published>2008-06-25T18:58:00.004+02:00</published><updated>2008-06-25T19:06:08.992+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Ganymede'/><category scheme='http://www.blogger.com/atom/ns#' term='Eclipse'/><title type='text'>Eclipse Ganymede przybyło!!</title><content type='html'>Nareszcie! Przeładowywania strony &lt;a href="http://www.eclipse.org/"&gt;www.eclipse.org&lt;/a&gt; nie było dziś końca! Już zaczynałem się denerwować, ale w końcu jest!! Eclipse 3.4  Ganymede w końcu jest do ściągnięcia z &lt;a href="http://www.eclipse.org/downloads/"&gt;oficjalnej strony&lt;/a&gt;. Już nie mogę się doczekać kiedy będę miał to cudeńko na swoim komputerze! Mam nadzieje, że wy również nie będziecie się bać nowego zaćmienia! A &lt;a href="http://download.eclipse.org/eclipse/downloads/drops/R-3.4-200806172000/whatsnew3.4/eclipse-news-all.html"&gt;tutaj &lt;/a&gt;jest lista wszystkich nowinek w tej świeżej bułeczce.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6886544919248417440-6897282714228349618?l=poligloci.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://poligloci.blogspot.com/feeds/6897282714228349618/comments/default' title='Komentarze do posta'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6886544919248417440&amp;postID=6897282714228349618' title='Komentarze (0)'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6886544919248417440/posts/default/6897282714228349618'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6886544919248417440/posts/default/6897282714228349618'/><link rel='alternate' type='text/html' href='http://poligloci.blogspot.com/2008/06/eclipse-ganymede-przybyo.html' title='Eclipse Ganymede przybyło!!'/><author><name>Michal Margiel</name><uri>http://www.blogger.com/profile/04191448659080996000</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://bp1.blogger.com/_kdhiF8qgUHo/SBd-uFqUeSI/AAAAAAAACLY/jyEweL4MUWg/S220/margiel.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6886544919248417440.post-5140570205143119003</id><published>2008-06-24T22:42:00.006+02:00</published><updated>2008-06-24T23:42:05.447+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Eclipse'/><title type='text'>Eclipse - ustawienia na wynos</title><content type='html'>Już jutro premiera Eclipse Ganymede, czyli najnowszej odsłony najpopularniejszego IDE dla javy. Czy warto się przenieść z poprzednich wersji? Ba! Pewnie, że warto. Ale warto również zabrać ze sobą ustawienia starego środowiska! Skróty klawiszowe to napewno jeden z pierwszych elementów, który warto zmigrować. Zróbmy to więc wspólnie.&lt;p&gt;Spróbujmy podejść do sprawy logicznie.. gdzie możemy weeksportować klawisze?  Pierwsze miejsce gdzie ja szukałem tej opcji to sekcja "keys" w okienku "preferences". &lt;/p&gt;&lt;p&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://3.bp.blogspot.com/_kdhiF8qgUHo/SGFhyKzzC3I/AAAAAAAACks/H2pyCoYygmA/s400/keys.PNG" border="0" alt="" id="BLOGGER_PHOTO_ID_5215557357994707826" /&gt;&lt;/p&gt;&lt;p&gt;No i się nie pomyliłem! jest upragniony guzik "Export...". Klikamy na niego - jedyna opcja typu pliku to csv - mi pasuje! Klikam "zapisz..." i już się ciesze z mojego nowego odkrycia. &lt;/p&gt;&lt;p&gt;Czas przetestować import. Ale nie widzę w poprzednim okienku klawisza "Import...". No i ślepa uliczka. Okazało się, że moje przeczucia całkowicie mnie zawiodły.&lt;/p&gt;&lt;p&gt;Odpowiednie miejsce na migrację klawiszologii to "File-&gt;Export". W okienku wybieramy sekcje "General" oraz element "Preferences" i klikamy "Next"&lt;/p&gt;&lt;p&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://1.bp.blogspot.com/_kdhiF8qgUHo/SGFjKB991gI/AAAAAAAACk0/2gqskAfxRYQ/s400/export.PNG" border="0" alt="" id="BLOGGER_PHOTO_ID_5215558867449927170" /&gt;&lt;/p&gt;&lt;p&gt;Wybieramy tutaj konfigurację którą chcemy wyeksportować (ja wybieram "Export all") za pomocą guzika "Browse..." wskazujemy plik, do którego eksport ma być wykonany. Klikamy finish i gotowe.&lt;/p&gt;&lt;p&gt;A import? banalnie prosty! "File-&gt;Import", sekcja General, element Preference&lt;/p&gt;&lt;p&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://2.bp.blogspot.com/_kdhiF8qgUHo/SGFkCQsBBGI/AAAAAAAACk8/wl780f85acY/s400/import.PNG" border="0" alt="" id="BLOGGER_PHOTO_ID_5215559833473844322" /&gt;&lt;/p&gt;&lt;p&gt;Okienko importu jest bardzo podobne do okna eksportu. Wybieramy plik, opcje które chcemy zaimportowąć, klikamy guzik "finish" i gotowe!&lt;/p&gt;&lt;p&gt;Mam nadzieje, że teraz już nic was nie powstrzyma przed migracją do najnowszego Eclipse. Mnie napewno nie :) &lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6886544919248417440-5140570205143119003?l=poligloci.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://poligloci.blogspot.com/feeds/5140570205143119003/comments/default' title='Komentarze do posta'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6886544919248417440&amp;postID=5140570205143119003' title='Komentarze (0)'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6886544919248417440/posts/default/5140570205143119003'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6886544919248417440/posts/default/5140570205143119003'/><link rel='alternate' type='text/html' href='http://poligloci.blogspot.com/2008/06/eclipse-ustawienia-na-wynos.html' title='Eclipse - ustawienia na wynos'/><author><name>Michal Margiel</name><uri>http://www.blogger.com/profile/04191448659080996000</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://bp1.blogger.com/_kdhiF8qgUHo/SBd-uFqUeSI/AAAAAAAACLY/jyEweL4MUWg/S220/margiel.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_kdhiF8qgUHo/SGFhyKzzC3I/AAAAAAAACks/H2pyCoYygmA/s72-c/keys.PNG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6886544919248417440.post-7387903435808089348</id><published>2008-06-23T23:16:00.007+02:00</published><updated>2008-06-24T13:06:19.395+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Eclipse'/><title type='text'>Eclipse na skróty.</title><content type='html'>Jakoś mam taki zwyczaj, że gdy wpada mi w łapy nowy edytor (zwykły tekstowy jak jEdit czy też IDE) to pierwsze co robię po uruchomieniu to wchodzę w ustawienia klawiszowe i sprawdzam czy udostępnia on moje ulubione funkcje.&lt;br /&gt;Lata programowania w Eclipse (to już ponad 3 będzie) sprawiły, że bez niektórych skrótów trudno mi wyobrazić sobie pisanie czegokolwiek a ich brak jest dla mnie jak malutki kamyczek w bucie - niby chodzić mogę ale niedogodność czuję przy każdym kroku.&lt;br /&gt;Czasami zaskakuje mnie to, że niektóre z moich ulubionych skrótów nie są znane moim kolegom-programistą. "A przecież ja też mogę tych najlepszych skrótów nie znać" - pomyślałem sobie. Dlatego postanowiłem podzielić się z wami moją herbatą i w-ztką*  aby tym samym sprowokować was do podzielenia się ze mną swoimi ulubieńcami. Wszak dobrych skrótów nigdy nie za wiele.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:130%;"&gt;1. Edytor&lt;/span&gt;&lt;ul&gt;&lt;li&gt;&lt;span style="font-weight: bold;"&gt;ctrl+d&lt;/span&gt; - usunięcie całej linii w której znajduje się kursor (bez konieczności jej zaznaczenia)&lt;/li&gt;&lt;li&gt;&lt;span style="font-weight: bold;"&gt;ctrl+alt+up arrow/down arrow&lt;/span&gt; - sklonowanie linii w której znajduje się kursor powyżej/poniżej danej linii (bez konieczności jej zaznaczania) &lt;/li&gt;&lt;li&gt;&lt;span style="font-weight: bold;"&gt;alt+up arrow/down arrow&lt;/span&gt; - przeniesienie linii w której znajduje się kursor powyżej/poniżej danej linii.&lt;/li&gt;&lt;li&gt;&lt;span style="font-weight: bold;"&gt;ctrl+/&lt;/span&gt; - zakomentowanie zaznaczonych linii za pomocą "//"&lt;/li&gt;&lt;li&gt;&lt;span style="font-weight: bold;"&gt;ctrl+shift+/&lt;/span&gt; - zakomentowanie zaznaczonych linii za pomocą "/* */"&lt;/li&gt;&lt;li&gt;&lt;span style="font-weight: bold;"&gt;ctrl+alt+j&lt;/span&gt; - połączenie linii&lt;/li&gt;&lt;li&gt;&lt;span style="font-weight: bold;"&gt;ctrl+l&lt;/span&gt; - skocz do linii&lt;/li&gt;&lt;li&gt;&lt;span style="font-weight: bold;"&gt;ctrl+left arrow/right arrow&lt;/span&gt; - skacz po "wielbłądziejKonwencji"&lt;/li&gt;&lt;li&gt;&lt;span style="font-weight: bold;"&gt;ctrl+q&lt;/span&gt; -idź do ostatnio edytowanej linii&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-weight: bold;"&gt;ctrl+o&lt;/span&gt; - idź do metody/zmiennej&lt;/li&gt;&lt;li&gt;&lt;span style="font-weight: bold;"&gt;ctrl + j&lt;/span&gt; - proste wyszukiwanie przyrostowe&lt;/li&gt;&lt;li&gt;&lt;span style="font-weight: bold;"&gt;ctrl+shift+o&lt;/span&gt; - uporządkuj importy&lt;/li&gt;&lt;li&gt;&lt;span style="font-weight: bold;"&gt;ctrl+shift+f&lt;/span&gt; - sformatuj kod&lt;/li&gt;&lt;li&gt;&lt;span style="font-weight: bold;"&gt;ctrl+t&lt;/span&gt; - wyświetl hierarchie typu (gdy kursor ustawiony jest na jego nazwie)&lt;/li&gt;&lt;li&gt;&lt;span style="font-weight: bold;"&gt;alt+shift+w&lt;/span&gt; - pokaż otwarty zasób w package explorerze/nawigatorze/historii/outline  (wybieramy z wyświetlonej listy)&lt;/li&gt;&lt;li&gt;&lt;span style="font-weight: bold;"&gt;alt+shift+r&lt;/span&gt; - zmień nazwe pliku.&lt;/li&gt;&lt;li&gt;&lt;span style="font-weight: bold;"&gt;alt+shift+s&lt;/span&gt; - wyświetl okno "zarządzania kodem" (przyznaje się bez bicia - nie wiedziałem jak to nazwać )&lt;/li&gt;&lt;li&gt;&lt;span style="font-weight: bold;"&gt;alt+shift+t&lt;/span&gt; - wyświetl okno refactoringu&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;span style="font-size:130%;"&gt;2. uruchamianie&lt;/span&gt;&lt;ul&gt;&lt;li&gt;&lt;span style="font-weight: bold;"&gt;alt+shift+x&lt;/span&gt;, a potem jedna z opcji:&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;&lt;span style="font-weight: bold;"&gt;j&lt;/span&gt; -uruchom jako aplikacje javową&lt;/li&gt;&lt;li&gt;&lt;span style="font-weight: bold;"&gt;a&lt;/span&gt; - uruchom jako applet&lt;/li&gt;&lt;li&gt;&lt;span style="font-weight: bold;"&gt;t&lt;/span&gt; - uruchom jako junit&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;span style="font-size:130%;"&gt;3. Perspektywa&lt;/span&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;span style="font-weight: bold;"&gt;ctrl+shift+t&lt;/span&gt; - otwórz typ (klasa/interfejs/enum)&lt;/li&gt;&lt;li&gt;&lt;span style="font-weight: bold;"&gt;ctrl+shift+r&lt;/span&gt; - otwórz zasób (ang.resource)&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-weight: bold;"&gt;ctrl+n&lt;/span&gt; - nowy...(projekt/typ/zasób)&lt;/li&gt;&lt;/ul&gt;4. Czas na zmiany&lt;br /&gt;&lt;br /&gt;Wszystkie powyżej wymienione skróty klawiszowe ergonomicznie rozkładają się na klawiaturze i nie ma potrzeby ich zmiany. Niestety są dwa skróty, które od dłuższego czasu zadziwiaja mnie, że wciąż nie zostały zmienione&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;span style="font-weight: bold;"&gt;ctrl+F6&lt;/span&gt; - to chyba najbardziej niewygodny skrót klawiszowy w Eclipse, a jednocześnie jeden z najbardziej przydatnych. Wyświetla on okienko dzięki któremu możemy przeskoczyć no innego otwartego edytora (np. za pomocą strzałek). &lt;span style="font-weight: bold;"&gt;CTRL+TAB&lt;/span&gt; to moja propozycja na ten skrót. Nie odkryłem przysłowiowej Ameryki. Mają tak przeglądarki których używam (Opera i FireFox) oraz TotalCommander i pewnie masa innych programów.&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;&lt;span style="font-weight: bold;"&gt;ctrl+3&lt;/span&gt; - Quick Access. To bardzo fajna funkcja, która została nam udostępniona rok temu wraz z premierą Eclipse 3.3 (Europa). Okienko które pojawia się po naciśnięciu kombinacji tych klawiszy pozwala nam dostać się do niemal każdego elementu Eclipse.&lt;br /&gt;Może to  być na przykład:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;otwarty plik&lt;/li&gt;&lt;li&gt;zmiana perspektywy&lt;/li&gt;&lt;li&gt;przejście do lub pokazanie nowego widoku&lt;/li&gt;&lt;li&gt;wywietlenie okienka z menu (np. preferences)&lt;br /&gt;&lt;/li&gt;&lt;li&gt;wyświetlenie konkretnej sekcji z konkretnego okna (np. preferences/keys&lt;/li&gt;&lt;/ul&gt;Jestem bardzo ciekaw ile osób wykorzystuję tą bardzo przydatną funkcje - osobiście nie znam nikogo po za mną.  A szkoda bo naprawdę warto! moja propozycja na przemapowanie tego skrótu to : &lt;span style="font-weight: bold;"&gt;CTRL+`&lt;/span&gt; (czyli guzik z tyldą który jest zaraz pod Esc).&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_kdhiF8qgUHo/SGAk-rsgOGI/AAAAAAAACkg/Q83YP1eZIHY/s1600-h/quick_access.PNG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://1.bp.blogspot.com/_kdhiF8qgUHo/SGAk-rsgOGI/AAAAAAAACkg/Q83YP1eZIHY/s400/quick_access.PNG" alt="" id="BLOGGER_PHOTO_ID_5215209027794909282" border="0" /&gt;&lt;/a&gt;Podobno programista ma być leniwy, aby zawsze szukał sposobów by wykonać zadanie szybciej, łatwiej i przyjemniej. Na pewno zestaw odpowiednich skrótów klawiszowych wspiera tą &lt;span style="font-style: italic;"&gt;szczytną&lt;/span&gt; idee.&lt;br /&gt;A jakie są Twoje ulubione skróty w Eclipse?&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;* - to oczywiście zestaw obowiązkowy z filmu Miś, ciekawe ile osób na to wpadło ;)&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6886544919248417440-7387903435808089348?l=poligloci.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://poligloci.blogspot.com/feeds/7387903435808089348/comments/default' title='Komentarze do posta'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6886544919248417440&amp;postID=7387903435808089348' title='Komentarze (8)'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6886544919248417440/posts/default/7387903435808089348'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6886544919248417440/posts/default/7387903435808089348'/><link rel='alternate' type='text/html' href='http://poligloci.blogspot.com/2008/06/eclipse-na-skrty.html' title='Eclipse na skróty.'/><author><name>Michal Margiel</name><uri>http://www.blogger.com/profile/04191448659080996000</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://bp1.blogger.com/_kdhiF8qgUHo/SBd-uFqUeSI/AAAAAAAACLY/jyEweL4MUWg/S220/margiel.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_kdhiF8qgUHo/SGAk-rsgOGI/AAAAAAAACkg/Q83YP1eZIHY/s72-c/quick_access.PNG' height='72' width='72'/><thr:total>8</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6886544919248417440.post-3084345961429686392</id><published>2008-06-10T22:25:00.006+02:00</published><updated>2008-06-11T08:59:09.746+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Eclipse'/><title type='text'>Polska silna Eclipsem</title><content type='html'>W związku z nadchodzącą wersją Eclipse 3.4 ochrzczoną nazwą kodową Ganymede, na stronie www.eclipse.org został ogłoszony konkurs na najlepszy wpis promujący to IDE. Jak pewnie zdążyliście zauważyć pchnięty chęcią posiadania koszulki z zaćmionym słońcem postanowiłem wziąć w nim udział.&lt;br /&gt;Jakeż było moje zdziwienie gdy po dopisaniu się na &lt;a href="http://www.eclipse.org/ganymede/map.php"&gt;stronie konkursu&lt;/a&gt; zobaczyłem że Polska jest Eclipsową potęgą! Szybko policzylem wpisy i cóż się okazało? Przewodzimy w świecie dziewięcioma wpisami.  Za nami daleko w tyle są Niemcy (5 wpisów).&lt;br /&gt;Co tam porażka na Euro, Polska silna Eclipsem :D!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6886544919248417440-3084345961429686392?l=poligloci.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://poligloci.blogspot.com/feeds/3084345961429686392/comments/default' title='Komentarze do posta'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6886544919248417440&amp;postID=3084345961429686392' title='Komentarze (0)'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6886544919248417440/posts/default/3084345961429686392'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6886544919248417440/posts/default/3084345961429686392'/><link rel='alternate' type='text/html' href='http://poligloci.blogspot.com/2008/06/eclipse-i-wiat.html' title='Polska silna Eclipsem'/><author><name>Michal Margiel</name><uri>http://www.blogger.com/profile/04191448659080996000</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://bp1.blogger.com/_kdhiF8qgUHo/SBd-uFqUeSI/AAAAAAAACLY/jyEweL4MUWg/S220/margiel.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6886544919248417440.post-3021102883587861267</id><published>2008-06-10T22:02:00.002+02:00</published><updated>2008-06-11T06:34:42.593+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Eclipse'/><title type='text'>Eclipse 3.4  nowości - część 1.</title><content type='html'>Już w czerwcu światło dzienne ujrzeć ma Eclipse 3.4 czyli najnowsza wersja najpopularniejszego IDE dla Javy. Na dzień dzisiejszy ze strony &lt;a href="http://www.eclipse.org/"&gt;www.eclipse.org&lt;/a&gt; możecie pobrać wersje RC4. Czy warto wypróbować nowe dziecko Eclipse Fundation? W serii postów o nowościach w nim zawartych chcę was przekonać że TAK.  Zaczynamy!&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;span style="font-size:100%;"&gt;Podświetlanie użycia zmiennej.&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;Gdy najedziemy kursorem na nazwę zmiennej Eclipse podświetli nam wszystkie jej użycia. Funkcjonalność tą znamy już od dawna, ale w nadchodzącej wersji kolor podświetlenia rozróżni dla nas miejsca w kodzie gdzie wartość zmiennej jest czytana oraz gdzie wartość do zmiennej jest wpisywana.&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_kdhiF8qgUHo/SBjNZVqUeUI/AAAAAAAACLk/a9pTCQhMSO8/s1600-h/eclipse_1.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://4.bp.blogspot.com/_kdhiF8qgUHo/SBjNZVqUeUI/AAAAAAAACLk/a9pTCQhMSO8/s320/eclipse_1.JPG" alt="" id="BLOGGER_PHOTO_ID_5195128005366937922" border="0" /&gt;&lt;/a&gt;&lt;ul&gt;&lt;li&gt;Generowanie metod dostępowych.&lt;/li&gt;&lt;/ul&gt;Po zadeklarowaniu nowej zmiennej najeżdżamy na nią kursorem  i używamy kombinacji klawiszy "ctrl+1"&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_kdhiF8qgUHo/SE7Sdqx6JzI/AAAAAAAACZM/Q4cvHA8Qbvo/s1600-h/methods.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://1.bp.blogspot.com/_kdhiF8qgUHo/SE7Sdqx6JzI/AAAAAAAACZM/Q4cvHA8Qbvo/s400/methods.JPG" alt="" id="BLOGGER_PHOTO_ID_5210333226055903026" border="0" /&gt;&lt;/a&gt;W okienku które się pojawi wybieramy "Create getter and setter for 'nazwa_twojej_zmiennej'". Pojawi się kolejne okno w którym możemy przedefiniować nazwy metod, ich położenie w klasie oraz wygenerować domyślne komenatrze.&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_kdhiF8qgUHo/SE7UQh-AFhI/AAAAAAAACZc/fZd3nvOZF5Y/s1600-h/methods2.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://3.bp.blogspot.com/_kdhiF8qgUHo/SE7UQh-AFhI/AAAAAAAACZc/fZd3nvOZF5Y/s400/methods2.JPG" alt="" id="BLOGGER_PHOTO_ID_5210335199375660562" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Klikamy "OK" i gotowe!&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Breadcrumb&lt;/li&gt;&lt;/ul&gt;Na pasku narzędziowym pojawiła się całkiem nowa ikonka,&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_kdhiF8qgUHo/SE7W4uFZx-I/AAAAAAAACZk/h6He5ErY-Ng/s1600-h/breedcrumb.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://4.bp.blogspot.com/_kdhiF8qgUHo/SE7W4uFZx-I/AAAAAAAACZk/h6He5ErY-Ng/s400/breedcrumb.JPG" alt="" id="BLOGGER_PHOTO_ID_5210338088845952994" border="0" /&gt;&lt;/a&gt;kliknięcie jej (lub użycie kombinacji klawiszy SHIFT+ALT+B) powoduje wyświetlenie w oknie edytora dodatkowego elementu, który widoczny jest na górze poniższego zrzutu ekranu.&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_kdhiF8qgUHo/SE7YvKu_lLI/AAAAAAAACZ0/2agawNBf9Yg/s1600-h/breedcrumb_2.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://4.bp.blogspot.com/_kdhiF8qgUHo/SE7YvKu_lLI/AAAAAAAACZ0/2agawNBf9Yg/s400/breedcrumb_2.JPG" alt="" id="BLOGGER_PHOTO_ID_5210340123761153202" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Pasek ten jest podzielony na 5 części, z których każda reprezentuje element króry aktualnie edytujemy.&lt;br /&gt;1. Projekt nad którym pracujemy (w tym przypadku Test)&lt;br /&gt;2. Katalog wprojekcie (src)&lt;br /&gt;3. pakiet (eu.margiel)&lt;br /&gt;4. Klasa/Interfejs/Enum (Test)&lt;br /&gt;5. metoda/zmienna... (setVariable(String))&lt;br /&gt;&lt;br /&gt;klikając na czarną strzałkę  przy odpowiednim elemencie możemy zmienić jego zawartość a więc przejść do innego katalogu/klasy/metody, możemy również to wykonać strzałkami na klawiaturze.&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_kdhiF8qgUHo/SE7aFa5V5yI/AAAAAAAACZ8/M-qlzflL9NY/s1600-h/breedcrumb_3.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://3.bp.blogspot.com/_kdhiF8qgUHo/SE7aFa5V5yI/AAAAAAAACZ8/M-qlzflL9NY/s400/breedcrumb_3.JPG" alt="" id="BLOGGER_PHOTO_ID_5210341605568276258" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;img src="file:///C:/DOCUME%7E1/mmargiel/USTAWI%7E1/Temp/moz-screenshot.jpg" alt="" /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6886544919248417440-3021102883587861267?l=poligloci.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://poligloci.blogspot.com/feeds/3021102883587861267/comments/default' title='Komentarze do posta'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6886544919248417440&amp;postID=3021102883587861267' title='Komentarze (0)'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6886544919248417440/posts/default/3021102883587861267'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6886544919248417440/posts/default/3021102883587861267'/><link rel='alternate' type='text/html' href='http://poligloci.blogspot.com/2008/04/eclipse-34-nowoci.html' title='Eclipse 3.4  nowości - część 1.'/><author><name>Michal Margiel</name><uri>http://www.blogger.com/profile/04191448659080996000</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://bp1.blogger.com/_kdhiF8qgUHo/SBd-uFqUeSI/AAAAAAAACLY/jyEweL4MUWg/S220/margiel.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_kdhiF8qgUHo/SBjNZVqUeUI/AAAAAAAACLk/a9pTCQhMSO8/s72-c/eclipse_1.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6886544919248417440.post-3549473105469399097</id><published>2008-06-09T21:08:00.006+02:00</published><updated>2008-06-09T22:03:13.194+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='WJUG'/><category scheme='http://www.blogger.com/atom/ns#' term='JUG'/><category scheme='http://www.blogger.com/atom/ns#' term='JAVArsovia'/><title type='text'>JAVArsovia 2008 - wspomnienia.</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_kdhiF8qgUHo/SE2IYJ1YqtI/AAAAAAAACYU/Ps5aZW9t3NE/s1600-h/javarsovia.PNG"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer;" src="http://4.bp.blogspot.com/_kdhiF8qgUHo/SE2IYJ1YqtI/AAAAAAAACYU/Ps5aZW9t3NE/s320/javarsovia.PNG" alt="" id="BLOGGER_PHOTO_ID_5209970292475603666" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Uff... Już po! Tydzień temu odbyła się druga konferencja organizowana przez Warszawską Grupę Użytkowników Java (WJUG) &lt;a href="http://www.javarsovia.pl/"&gt;JAVArsovia 2008 : ciekawie o javie&lt;/a&gt;. Wydarzenie to w moim życiu było o tyle ważne, iż miałem zaszczyt być jednym z organizatorów konferencji. Wszystko było (prawie :) ) dokładnie tak jak zaplanowaliśmy. Prezentacje podzielone na 4 panele zostały wysłuchane przez ponad 250 słuchaczy! Trzeba przyznać, że w najśmielszych marzeniach nie spodziewaliśmy się aż tak dużej liczby uczestników. Dzięki naszym sponsorom: Sun Microsystems, Google, e-point, HP, Javatech, Javart oraz JBossowi uczestnicy dostali specjalne gadżety konferencyjne : koszulki, smycze oraz kubki a na koniec imprezy zostali zaproszeni na wspaniałą imprezę kończącą konferencję. Nie będę się rozpisywał jak świetnie było, kto był ten wie! A kto nie - niech żałuje i przeczyta relacje na blogu &lt;a href="http://www.jaceklaskowski.pl/"&gt;Jacka Laskowskiego&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_kdhiF8qgUHo/SE2JKWyvGNI/AAAAAAAACYc/-OS9C-0kElY/s1600-h/org.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://4.bp.blogspot.com/_kdhiF8qgUHo/SE2JKWyvGNI/AAAAAAAACYc/-OS9C-0kElY/s400/org.jpg" alt="" id="BLOGGER_PHOTO_ID_5209971154947610834" border="0" /&gt;&lt;/a&gt;&lt;span style="color: rgb(153, 153, 153);font-size:78%;" &gt;Na zdjęciu prawie wszyscy organizatorzy JAVArsovii. Od lewej (Mariusz Lipiński, Jacek Laskowski, Sebastian Pietrowski, Mateusz Zięba, Andrzej Porażyński, Wiktor Gworek, Michał Grzejszczak, Ja, Paweł Wrzeszcz oraz Bolesław Dawidowicz. Brakuje Tomasza Szymanskiego.)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;Bez dwóch zdań, pomoc przy organizacji tej największej w całości poświęconej javie darmowej konferencji w Europie wschodniej i środkowej  była dla mnie momentem przełomowym. Dlatego kontynuując przełomy postanowiłem z tej okazji rozpocząć pisanie mojego bloga. Kilka osób namawiało mnie do tego od dawna, sam również o tym myślałem. Zatem cytują Filozofa z filmu Rejs "&lt;span style="font-weight: bold;"&gt;Przejdźmy od słów do czynów. Chciałem powiedzieć kilka słów&lt;/span&gt;"&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6886544919248417440-3549473105469399097?l=poligloci.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://poligloci.blogspot.com/feeds/3549473105469399097/comments/default' title='Komentarze do posta'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6886544919248417440&amp;postID=3549473105469399097' title='Komentarze (0)'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6886544919248417440/posts/default/3549473105469399097'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6886544919248417440/posts/default/3549473105469399097'/><link rel='alternate' type='text/html' href='http://poligloci.blogspot.com/2008/06/javarsovia-2008-wspomnienia.html' title='JAVArsovia 2008 - wspomnienia.'/><author><name>Michal Margiel</name><uri>http://www.blogger.com/profile/04191448659080996000</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://bp1.blogger.com/_kdhiF8qgUHo/SBd-uFqUeSI/AAAAAAAACLY/jyEweL4MUWg/S220/margiel.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_kdhiF8qgUHo/SE2IYJ1YqtI/AAAAAAAACYU/Ps5aZW9t3NE/s72-c/javarsovia.PNG' height='72' width='72'/><thr:total>0</thr:total></entry></feed>
