2009-10-15 19 views
25

Odczytując fragmenty książki Programowanie w Scali, zdaję sobie sprawę, że Scala może pracować z komponentami Java Swing w celu tworzenia aplikacji GUI.Aplikacje Scala i Swing GUI

Moje pytanie brzmi: czy są jakieś projekty lub opublikowane aplikacje (które są czymś więcej niż zwykłymi przykładami) używające Scali i Swinga?

Odpowiedz

34

Czy to dlatego, że chcesz zobaczyć jakąś rzeczywistą Scala kodu Swing, czy tylko zainteresowany, czy Scala Swing jest „profilu produkcyjnym gotowy "? Jeśli jest to drugie, Scala Swing jest całkiem niezła: zacząłem używać go dla całego kodu GUI. Porównaj:

JButton b = new JButton(); 
b.setText("OK"); 
b.setFont(f); 
b.setPreferredSize(new Dimension(20, 20)); 
b.addActionListener(new ActionListener() { 
    public void actionPerformed(ActionEvent e) { 
     //reacction here 
    } 
}); 

z:

val b = new Button { 
    text = "OK" 
    font = f 
    preferredSize = (20, 20) 
} 
listenTo(b) 
reactions += { 
    case ButtonClicked(`b`) => //reaction here 
} 

Jak Scala Swing jest naprawdę lekka warstwa na górze Java Swing, można zintegrować dowolny komponent Java Swing łatwo i mieć pewność, że wszystko działa OK.

Mimo to dokumentacja Scala 2.7 jest dość uboga. Rozumiem, że Scala Swing jest aktualizowana w wersji 2.8 i że będzie zawierała ulepszoną dokumentację.

+0

Trochę z obu, jak przypuszczam. Jak zwykle Scala czyta o wiele łatwiej niż jej odpowiednik w Javie. Dzięki. – ZacharyP

7

Jest Scalide w kodzie Google, a następnie sam został Swing Scala biblioteki

+0

Dzięki za przykład. – ZacharyP

+0

Nie ma za co. Scala jest fascynująca - czyż nie? – Bostone

11

House of Mirrors

Pisałem this game w Scala. Jest open-source i używa Swinga za pośrednictwem interfejsów biblioteki Java i Scala.

Interfejs API Scala doskonale nadaje się do pracy z ilustracjami oxbox_lakes. Musiałem korzystać z interfejsu Java tylko dla specyficznej kontroli niskiego poziomu, takiej jak niestandardowa kompozycja alfa.

Zanim biblioteka Scala-swing stała się stabilna, gra była oparta na Scala-Squib, ale projekt zatrzymał AFAIK.

3

Uczestniczyłem ostatnio w rozmowie na temat Scali, a jednym z produktów, które przedstawiłem jako demo, był klient Twittera Scala-Swing. Jest to open-source, a projekt to TalkingPuffin. Interfejs użytkownika wyglądał całkiem zgrabnie z projektem Swing i uważam, że projekt szuka współpracowników.

+0

To wygląda na doskonały przykład kodu Scala Swing. Szkoda, że ​​aplikacja jest teraz bezużyteczna, ponieważ nie została zatwierdzona od kilku miesięcy przed "OAuthocalypse". –

+0

Na dzień dzisiejszy zobowiązania są dość aktywne –

Powiązane problemy