Visuel de Swing
visibilityFeuilleter

Ce cahier montre aux développeurs Java comment exploiter la très riche bibliothèque standard Swing à travers la création d'une application graphique 3D ergonomique et fiable.

Cet ouvrage décrit la création d'un logiciel libre d'aménagement d'intérieur développé avec Java 5 et Swing, de sa conception UML jusqu'à sa distribution, en passant par l'utilisation d'Eclipse, dont les astuces de productivité sont dévoilées. Le développeur y découvrira comment exploiter efficacement les nombreuses fonctionnalités de Swing : création d'arbres, de tableaux et de boîtes de dialogue, dessin dans un composant graphique, glisser-déposer, gestion d'opérations annulables, intégration d'un composant 3D...

L'étude de cas de cet ouvrage a été testée sous Windows, Linux et Mac OS X !
Téléchargez l'intégralité de son code source et retrouvez-la en ligne !
www.editions-eyrolles.com - sweethome3d.sourceforge.net

Titre Swing
Sous-titre Java SE 5 - AWT/Swing - Java 3D - Java 3D - Java Web Start - SWT/JFace - JUnit - Abbot - Eclipse - CVS - UML - MVC - XP
Auteur(s) Emmanuel Puybaret
Collection(s) Les cahiers du programmeur
Editeur Eyrolles
Parution 7 décembre 2006
Edition 1ère édition
Nb de pages 500 pages
Format 240 x 210 mm
Poids 1 g
EAN13 9782212120196
ISBN13 978-2-212-12019-6
ISBN10 2212120192
  • L'étude de cas : Sweet Home 3D
  • Mise en place de l'environnement de développement
  • Choix techniques : Swing ou SWT ?
  • Arbre du catalogue des meubles
  • Tableau des meubles du logement
  • Modification du tableau des meubles avec MVC
  • Gestion des actions annulables
  • Composant graphique du plan
  • Vue 3D du logement
  • Enregistrement et lecture du logement
  • Glisser-déposer et copier-coller
  • Edition des préférences utilisateur
  • Bibliographie
  • Index
  • Page

    47

    La classe "JFormattedTextField" doit être placée dans la colonne Swing du tableau "Composants AWT, Swing et SWT".

  • Page

    55

    Dans la première phrase de l'aparté "Astuce Renommer le nom du champ d’un composant", lire "renommer les champs jContentPane ou jJMenuBar" au lieu de "renommer les champs jContentPanejJMenuBar".

  • Page

    83

    Des caractères incorrects se sont glissés à l'impression dans la portion de code en bas de page. Voici le code qu'il faut lire : package com.eteks.sweethome3d.junit; import java.util.*; import javax.swing.*; import com.eteks.sweethome3d.model.Catalog; import com.eteks.sweethome3d.model.Category; import com.eteks.sweethome3d.model.CatalogPieceOfFurniture; import com.eteks.sweethome3d.swing.CatalogTree; import com.eteks.sweethome3d.io.DefaultCatalog; import junit.framework.TestCase; public class CatalogTreeTest extends TestCase { public void testCatalogTreeCreation() { Locale.setDefault(Locale.US); Catalog catalog = new DefaultCatalog(); List<Category> categories = catalog.getCategories(); Category firstCategory = categories.get(0); String firstCategoryEnglishName = firstCategory.getName(); List<CatalogPieceOfFurniture> categoryFurniture = firstCategory.getFurniture();

    Page_83_Puybaret.pdf

  • Page

    93

    Dans la légende des figures 4-9 et 4-10, lire "Figure 4-9" au lieu de "Figure 4-10", et lire "Figure 4-10" au lieu de "Figure 4-9".

  • Page

    110

    A la fin du texte de l'aparté "Java Lecture d’un flux contenant une image", lire "ce que montre la figure 4-16" au lieu de "ce que montre la figure 4-17".

  • Page

    112

    A la fin du premier paragraphe, lire "figure 4-17" au lieu de "figure 4-16".

  • Page

    163

    La légende de la figure 6-1 est incorrecte ; lire "Diagramme des classes modifiées de la couche métier".

  • Page

    181

    A la dernière ligne de la page, les symboles < et > ont été remplacés par les caractères o et r à l'impression. Voici la ligne qu'il faut lire : public void addFurniture(List<HomePieceOfFurniture> furniture) {

  • Page

    215

    Deux des classes mentionnées dans la figure 7-4 sont imprimées incorrectement. Sous "ActionListener", lire "Action" et "AbstractAction".

  • Page

    243

    Dans la légende des figures 8-1 et 8-2, lire "Figure 8-1" au lieu de "Figure 8-2", et lire "Figure 8-2" au lieu de "Figure 8-1".

  • Page

    260

    A la fin du commentaire en marge de la méthode "assertCoordinatesEqualWallPoints", lire "10 à la puissance -10" au lieu de "1 à puissance -10".

  • Page

    323

    Dans la légende de la figure 9-7, lire "Parallélépipède construit dans l’application BoxGeometryTest" au lieu de "Parallélépipède construit dans l’application Rotation3DTest".

  • Page

    325

    Dans la légende des figures 9-8 et 9-9, lire "Figure 9-8" au lieu de "Figure 9-9", et lire "Figure 9-9" au lieu de "Figure 9-8".

  • Page

    333

    A la dernière ligne de l'aparté "Regard du développeur TransformGroup et Behavior", lire "matrice identité" au lieu de "matrice identifiée".

  • Page

    472

    A la fin du second paragraphe, lire "(voir figure 12-13)" au lieu de "(voir figure 12-14)". A la fin de l'aparté "Java Services JNLP", lire "figure 12-14" au lieu de "figure 12-13".

  • Page

    475

    Au milieu de la page, séparer par un espace "keytool" et "-genkey", puisque la commande est "keytool".

  • Page

    483

    Ajouter la ligne de code suivante après la ligne numérotée 4 (le code source disponible sur Internet est lui correct) : home.setName(args [1]);

  • Page

    180

    Dans l'instruction if de la méthode addHomeFurniture, cinq caractères incorrects se sont glissés à l'impression. Voici le code qu'il faut lire : if (!selectedFurniture.isEmpty()) { List<HomePieceOfFurniture> newFurniture = new ArrayList<HomePieceOfFurniture>();

    Pages_180_185_Puybaret.pdf

  • Page

    185

    Dans les quatre dernières lignes de la page, les symboles < et > ont été remplacés par les caractères o et r à l'impression. Voici les lignes qu'il faut lire : private List<HomePieceOfFurniture> furniture; private List<Object> selectedItems; private List<FurnitureListener> furnitureListeners; private List<SelectionListener> selectionListeners;

  • Page

    184

    A l'avant dernière ligne de l'aparté dans la colonne gauche, lire "entre les symboles < >" au lieu de "entre les symboles o r"

Emmanuel Puybaret

Ingénieur en informatique et aéronautique, Emmanuel Puybaret a plus de dix ans d'expérience en programmation objet multiplateforme dans des domaines aussi variés que l'industrie, les télécoms et la banque. Consultant indépendant partagé entre développements et formations, il créa en 1998 le site eteks.com entièrement consacré à Java.

Visuel de Emmanuel Puybaret