mélange awt et swing dans la programmation GUI en utilisant Java


J'ai lu POUR que mélanger awt et swing ne soit pas vraiment une bonne approche pour la programmation GUI en Java. Je ne peux cependant pas trouver d'exemples qui n'utilisent pas certains composants awt lors de l'utilisation de swing. Par exemple, même lors de l'utilisation de swing, la plupart des exemples que j'ai rencontrés utiliseront awt pour la mise en page et la gestion des événements.

Cela étant dit, qu'est-ce que cela signifie de ne pas mélanger swing et awt dans la programmation GUI en utilisant Java? Est-il juste dire de ne pas emprunter graphiques tels que les boutons, toile swing et awt en même temps ou tout simplement utiliser complètement swing ou awt seul? Ou est-il correct d'utiliser des unités graphiques (comme des boutons, des panneaux) de swing et la gestion des événements et la mise en page de awt?

La plupart du temps, les importations ressembleront au moins à ceci:

import javax.swing.*;
import java.awt.BorderLayout;
import java.awt.Dimension;
import java.awt.Color;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;

Je me trompe peut-être mais je n'ai pas vu d'exemple en utilisant complètement swing sans awt ou en regardant cela d'une mauvaise manière depuis que je suis nouveau sur Java GUI.

Author: Jack_of_All_Trades, 2013-09-20

1 answers

Vous utiliserez les mises en page AWT, les écouteurs d'action, etc. lors de l'utilisation de Swing - c'est ok et par conception, le framework Swing s'appuie sur AWT à cet égard. Cela contraste avec JavaFX qui est un framework GUI complet à part entière, et contient ses propres mises en page, gestionnaires d'événements, etc.

Ce que vous devriez éviter si possible, c'est de mélanger les composants que vous placez dans l'interface graphique-en utilisant un JButton à l'intérieur d'un cadre (plutôt qu'un JFrame) par exemple, ou en utilisant un bouton et JButton côte à côte.

Il y a quelques cas où c'est nécessaire - l'utilisation de VLCJ dans une application Swing, par exemple, nécessite un canevas lourd (AWT) si vous souhaitez utiliser un lecteur vidéo intégré normal. Cependant, sans un bon cas d'utilisation comme celui-ci, c'est quelque chose qui devrait être évité.

 4
Author: Michael Berry, 2013-09-20 14:01:31