Zaloguj się
Projekty Kategorie Archiwum
28 maja
Czyli co nowego w Java 6.0 (Mustang)?

Zamiast pisać...
if (String.length() == 0) {
	// foo
}
...można użyć nowej funkcji String.isEmpty:
if (String.isEmpty()) {
	// foo
}

Począwszy od wersji 6.0 nie trzeba będzie już zgadywać ani przypominać sobie, jak nazywają się standardowe czcionki Java:
new Font("Monospace", Font.PLAIN, 12) ?
new Font("Monospaced", Font.PLAIN, 12) ?
A może new Font("Mono space", Font.PLAIN, 12) ?

Niedługo będzie można napisać tak:
new Font(Font.MONOSPACED, Font.PLAIN, 12)
Prawda, że proste? ;)

W wersji 1.6.0-ea-b38 (czyli najnowszy snapshot) istnieją wbudowane klasy do obsługi tacki systemowej: java.awt.SystemTray oraz java.awt.TrayIcon. Przetestowałem to pod KDE i nawet działa :)

Linuksowy RPM dostał też "default java", czyli wpisujesz "java" i działa (bez ustawiania zmiennej PATH i innych kombinacji).

JTabbedPane ma teraz możliwość użycia dowolnego komponentu jako "tytuł" danego "taba". Dzięki temu można np. dodać przyciski zamykania jak w Operze 8.0.

Zmian, poprawionych błędów i nowych funcji jest oczywiście dużo więcej, ale akurat to najbardziej rzuciło mi się w oczy :) Należy również pamiętać, że sama Java 6.0 jest jeszcze w fazie tworzenia...

Proszę o komentarz

Sobota 28 maja, 2005 21:49

Ciekawo czy poprawili obsługę gfx działającą w trybie XWindowToolkit, bo w tym trybie źle są obsługiwane zdarzenia myszki :(

Niedziela 29 maja, 2005 15:46

Och, to może Ty mi pomożesz, skoro hackujesz Jave ;-)
na pl.comp.lang.java nie było odzewu...

W klasie odpowiedzialnej za nasluch klawiatury mam:

public void keyPressed(KeyEvent e)
{
if(e.getKeyCode() == KeyEvent.VK_LEFT)
gra.obrotWLewo();
if(e.getKeyCode() == KeyEvent.VK_RIGHT)
gra.obrotWPrawo();
zrodlo.repaint();
}

W glownej klasie (dziedziczacej po JApplet) tworze obiekt klasy odpowiedzialnej za nasluch klawiatury i dodaje go przez addKeyListener();

I teraz tak:
pod Windows, wszystko dzia,
pod Linuksem niet.

Java ponoc jest przenosna, wiec ja tym bardziej zdziwiony, bo nigdy z nia problemow nie mialem. ;-)

Niedziela 29 maja, 2005 16:07

Nie reaguje na wciskanie klawiszy?
Nie wiem, może to wina przeglądarki. Zobacz czy działa pod "appletviewer".

Niedziela 29 maja, 2005 16:08

E, nawet jesli odpalam to jako aplikacja, to tez nie działa :/
Obszedlem to przez zrobienie buttonow, ale klikanie zastepujace wszsytkie ,,ruchy'' to raczej kiepskie rozwiazanie

Niedziela 29 maja, 2005 18:12

testowałem AWT zarówno bazujące na XToolkit jak i MToolkit
(Java 5) - JFrame "łapał" klawisze pod Linuksem. Jesteś pewien, że dany element miał focus i zdarzenia były kierowane do niego.

Niedziela 29 maja, 2005 18:14

Huh, ja tam w Javie stawiam pierwsze kroki dopiero.
Masz jakis cookbook do ustawienia tego focusa?

I w takim razie, na czym polega roznica, ze pod ta sama wersja JVM na Widows dzia, a na Linuksie nie? Czyzby chodzilo o inna obsluge zdarzen przez X serwer?

Niedziela 29 maja, 2005 18:42

Na początek o samej Jawie to np. 2 ksiażki z Helionu - Java Core (Podstawy i Techniki Zaawansowane)
Z tego samego wydawnictwa "Java. Tworzenie gier" - trochę ciekawostek jak pisać coś takiego jak gry pod zwykła Jawą.
Do tej książki (J.TG) na ftpie (ftp://ftp.helion.pl/przyklady/javtwg.zip) są przykłady, szczególnie polecam programy z rozdziału 3 (KeyTest).

Niedziela 29 maja, 2005 18:46

Wielkie dzięki Arghil.
Póki co mam za sobą fragmenty Thinking in Java, z checia przyjrze sie wymienionym przez Ciebie książkom :)

Niedziela 29 maja, 2005 19:01

Jeszcze można takie coś dodać gdzieś w główniej klasie

Toolkit.getDefaultToolkit().addAWTEventListener(
new AWTEventListener(){
public void eventDispatched(AWTEvent event){
System.out.println(event);
}
}, -1);
i po prostu zobaczyć co przejmuje obsługę klawiszy
aha najlepiej jest zawęzić drukowanie do odpowiednich zdarzeń np.
if (event instanceof java.awt.event.KeyEvent) System.out....

Co do książek to niestety są trochę drogie :( aa i uważaj, które wydanie kupujesz (najnowsze opisuje to co przyszło z wersją 5 Jawy).
Trochę informacji można też znaleźć na http://java.sun.com no i oczywiście za pomocą googla ;)

gaga
Środa 16 listopada, 2005 15:43

super

gaga
Środa 16 listopada, 2005 15:43

super

Napisz komentarz

Dodaj komentarz

Formatowanie komentarza

Kategorie

Ewolucja Internetu 8 | Fail 40 | Gry 46 | Humor 129 | Idiotyzm 50 | Java 110 | KDE 85 | KShutDown 22 | Linux 84 | Makagiga 58 Muzeum 3 | Ogólne 819 | Polityka 76 | Programowanie 51 | Reklamy 4 | Techblog 19 | Teorie Spiskowe 12 | TV 59 | UI 9 | Użyteczność 30 | WWW 90 | Wyrwane z Kontekstu 34 | X Files 14

Archiwum

Maj 2012 | Kwiecień 2012 | Marzec 2012 | Luty 2012 | Styczeń 2012 | Grudzień 2011 | Listopad 2011 | Październik 2011 | Wrzesień 2011 | Sierpień 2011 | Lipiec 2011 | Czerwiec 2011 | Maj 2011 | Kwiecień 2011 | Styczeń 2011 | Listopad 2010 | Październik 2010 | Wrzesień 2010 | Sierpień 2010 | Lipiec 2010 | Czerwiec 2010 | Kwiecień 2010 | Marzec 2010 | Luty 2010 | Styczeń 2010 | Grudzień 2009 | Listopad 2009 | Październik 2009 | Wrzesień 2009 | Sierpień 2009 | Lipiec 2009 | Czerwiec 2009 | Maj 2009 | Kwiecień 2009 | Marzec 2009 | Styczeń 2009 | Grudzień 2008 | Listopad 2008 | Październik 2008 | Wrzesień 2008 | Sierpień 2008 | Lipiec 2008 | Czerwiec 2008 | Maj 2008 | Kwiecień 2008 | Marzec 2008 | Luty 2008 | Styczeń 2008 | Grudzień 2007 | Listopad 2007 | Październik 2007 | Wrzesień 2007 | Sierpień 2007 | Lipiec 2007 | Czerwiec 2007 | Maj 2007 | Kwiecień 2007 | Marzec 2007 | Luty 2007 | Styczeń 2007 | Grudzień 2006 | Listopad 2006 | Październik 2006 | Wrzesień 2006 | Sierpień 2006 | Lipiec 2006 | Czerwiec 2006 | Maj 2006 | Kwiecień 2006 | Marzec 2006 | Luty 2006 | Styczeń 2006 | Grudzień 2005 | Listopad 2005 | Październik 2005 | Wrzesień 2005 | Sierpień 2005 | Lipiec 2005 | Czerwiec 2005 | Maj 2005 | Kwiecień 2005 | Marzec 2005 | Luty 2005 | Styczeń 2005