2012-08-02 13 views
15

Uważa się, że złą praktyką jest stylizowanie elementów Swing za pomocą HTML?Czy korzystanie z HTML Style w elementach Java Swing Elements jest złe?

Jako przykład, jeśli chcesz, aby etykieta większe i czerwone tylko raz, mam dwie opcje:

albo za pomocą wywołań API:

JLabel label = new JLabel("This is a title"); 
label.setFont(label.getFont().deriveFont(18)); 
label.setForeground(Color.red); 

lub za pomocą HTML:

JLabel label = new JLabel("<html><font size='4' color='#ff0000'>This is a title"); 

Ponadto, sposóbHTML pozwala mi podkreślić jedno słowo zamiast całej etykiety i inne tego typu zastosowania.

Jakie są wady używania HTML? Czy jest droższy? Czy formatowanie nie jest gwarantowane we wszystkich JRE?

+1

Kto powiedział, że używanie HTML-a w Swingu było złe? Niech się wstydzą. Jest to jeden z najlepszych sposobów zapewnienia rozszerzonego renderowania dla wielu komponentów Swing. Osobiście używam tej techniki podczas renderowania złożonych wskazówek, pozwala mi wyświetlać między innymi tabele i obrazy – MadProgrammer

+0

Ogólnie zgadzam się z tobą. Nikt mi nie powiedział, że nie powinienem go używać, ale po prostu wydaje się trochę "brudny" – Redandwhite

Odpowiedz

5
  1. Nie, to nie jest zła lub dobra praktyka, aby używać składni HTML w JComponents Swing

  2. Dziś Java obsługuje HTML 3.2 i nie zmniejsza się wsparcie dla niektórych atrybutów CSS

  3. JTextPane i wsparcie JEditorPane dodawanie i JComponents pozycjonowania przy użyciu składni HTML

+0

@Redandwhite Nie jestem pewien w tym momencie, czy Ikony od A * d * o * b * e nie są ..., dzwoń za darmo do użytku i rozpowszechnia ****, może się mylę – mKorbel

2

Using <font> is bad nawet w html. Używanie obiektów do dostosowywania koloru czcionki, rozmiaru itp. To dużo pracy w dużych aplikacjach.

Na szczęście javaFX 2 jest obecnie niedostępny. Dzięki niemu możesz używać CSS do radzenia sobie z takimi rzeczami: http://www.oracle.com/technetwork/java/javafx/documentation/index.html

+0

Zgadzam się, że używanie znacznika Font jest złe przy tworzeniu HTML, ale biorąc pod uwagę, że mamy tylko obsługę HTML 3.2 i ograniczonej obsługi CSS, jaki mamy wybór? w tym przypadku - jeśli chcemy używać Swinga, a nie JavaFX – MadProgrammer

+0

Wtedy poleciłbym użyć obiektu Font. To więcej pracy, ale łatwiej jest je ponownie wykorzystać (np. Zmienić czcionkę wielu etykiet, przycisków itp. Jednym dotknięciem). – baraber

+0

Jeśli korzystam z obiektu czcionki, użycie go w dużej aplikacji jest nieco ciężkie. Zazwyczaj używam kombinacji tych dwóch metod. Jednakże, podczas gdy brzydzę się używaniem podczas pisania normalnego HTML, nie widzę problemu, gdy używam go w takim konkretnym przypadku użycia, gdzie zgodność jest zwykle gwarantowana – Redandwhite

Powiązane problemy