Maison >Java >javaDidacticiel >Cadre d'interface graphique Java

Cadre d'interface graphique Java

王林
王林original
2024-08-30 15:08:53663parcourir

L'interface graphique est définie comme une interface comportant des composants conviviaux tels qu'un bouton, un champ de texte, etc. pour permettre à l'utilisateur d'interagir facilement avec le logiciel. Dans une interface utilisateur graphique, les actions à effectuer sont indiquées à l'aide de petits graphiques ou d'images. Ici, l'accent est mis sur les actions des utilisateurs. L'utilisateur peut interagir en utilisant la souris pour sélectionner l'action à effectuer en cliquant sur un graphique particulier. Par exemple, si l'utilisateur souhaite imprimer un fichier, il lui suffit de cliquer sur un petit graphique représentant une imprimante. Dans cette rubrique, nous allons découvrir Java GUI Framework.

PUBLICITÉ Cours populaire dans cette catégorie MAÎTRISÉE JAVA - Spécialisation | 78 séries de cours | 15 tests simulés

Commencez votre cours de développement de logiciels libres

Développement Web, langages de programmation, tests de logiciels et autres

Cadre Java AWT

AWT est une API permettant de créer des applications basées sur une interface graphique ou une fenêtre.

Il comporte divers composants tels que Button, TextField, Checkbox, List.

AWT appelle des sous-programmes du système d'exploitation pour créer les composants tels que la zone de texte, la case à cocher, le bouton. C'est pourquoi cela dépend de la plateforme.

Certains des concepts de base concernant la hiérarchie AWT sont les suivants :

  • Container : Container est une classe qui contient tous les composants tels que le bouton, le champ de texte, la barre de titre, la barre de menus, etc.
  • Composants : Les composants sont les objets de l'interface graphique tels que les boutons, les étiquettes, les champs de texte, la liste de contrôle.
  • Panel : Panel est une classe conteneur. Il crée un espace pour une application dans lequel tous les composants peuvent être intégrés. Il hérite de la classe conteneur. Le panneau ne contient pas de barre de menus ni de barre de titre mais peut contenir d'autres composants comme un champ de texte, des boutons.
  • Frame : Frame est une classe conteneur. Il contient une barre de menus et une barre de titre et peut également contenir d'autres composants.

Programmes pour AWT :

import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
class AWTCalculator extends Frame implements ActionListener
{
Label label1,label2,label3;
TextField text1,text2,text3;
Button button1,button2,button3,button4,button5;
public AWTCalculator()
{
label1 = new Label("Var 1");
label2 = new Label("Var 2");
label3 = new Label("Result");
text1 = new TextField(10);
text2 = new TextField(10);
text3 = new TextField(10);
button1 = new Button("Add");
button2 = new Button("Sub");
button3 = new Button("Multi");
button4 = new Button("Div");
button5 = new Button("Close");
add(label1);
add(text1);
add(label2);
add(text2);
add(label3);
add(text3);
add(button1);
add(button2);
add(button3);
add(button4);
add(button5);
setSize(200,200);
setTitle("AWTCalculator");
setLayout(new FlowLayout());
button1.addActionListener(this);
button2.addActionListener(this);
button3.addActionListener(this);
button4.addActionListener(this);
button5.addActionListener(this);
}
public void actionPerformed(ActionEvent action) {
double a1=0,b1=0,c1=0;
try
{
a1 = Double.parseDouble(text1.getText());
}
catch (NumberFormatException e) {
text1.setText("Invalid input entered");
}
try
{
b1 = Double.parseDouble(text2.getText());
}
catch (NumberFormatException e) {
text2.setText("Invalid input entered");
}
if(action.getSource()==button1)
{
c1 = a1 + b1;
text3.setText(String.valueOf(c1));
}
if(action.getSource()==button2)
{
c1 = a1 - b1;
text3.setText(String.valueOf(c1));
}
if(action.getSource()==button3)
{
c1 = a1 * b1;
text3.setText(String.valueOf(c1));
}
if(action.getSource()==button4)
{
c1 = a1 / b1;
text3.setText(String.valueOf(c1));
}
if(action.getSource() == button5)
{
System.exit(0);
}
}
public static void main(String[] args)
{
AWTCalculator calC = new AWTCalculator();
calC.setVisible(true);
calC.setLocation(300,300);
}
}

Sortie :

Cadre d'interface graphique Java

Cadre d'interface graphique Java

Framework Java Swing

  • Java Swing n'est pas un emplacement pour la boîte à outils de fenêtre abstraite (AWT). Il s'agit d'une amélioration par rapport aux API existantes d'AWT en raison de sa fonctionnalité indépendante de la plate-forme.
  • AWT et Swing sont similaires, la plupart des composants AWT ayant des composants correspondants dans la balançoire.
  • Il est cependant recommandé qu'AWT soit limité uniquement au mécanisme de gestion des événements et que la création et le rendu des composants de l'interface utilisateur soient effectués uniquement à l'aide de swing.

Voici les raisons impérieuses d'utiliser Java Swing :

  • Riche ensemble de composants facilitant l'effort du développeur.
  • Prise en charge d'annulation/rétablissement intégrée pour les composants.
  • Rendu graphique 2D plus simple
  • Aspect et convivialité enfichables (personnalisables).

1. Modèle de conception Model-View-Controller (MVC) pour un rendu flexible de l'interface utilisateur

Code :

import javax.swing.JButton;
import javax.swing.JFrame;
public class JButtonDemo {
JButtonDemo(){
JFrame newFrame=new JFrame();
// Creating Button
JButton b=new JButton("Click"); b.setBounds(50,50,90,50);
//Adding button onto the frame
newFrame.add(b);
// Setting Frame size. This is the window size newFrame.setSize(300,200);
newFrame.setLayout(null); newFrame.setVisible(true);
newFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
public static void main(String[] args) { new JButtonDemo();
}
}

Sortie :

Cadre d'interface graphique Java

2. Ajouter une image au bouton

Code :

import javax.swing.Icon; import javax.swing.ImageIcon; import javax.swing.JButton; import javax.swing.JFrame; public class JButtonDemo {
JButtonDemo(){
JFrame newFrame=new JFrame(); Icon icon = new ImageIcon("edit.png");
// Creating Button
JButton b=new JButton(icon); b.setBounds(50,50,90,50);
//Adding button onto the frame newFrame.add(b);
// Setting Frame size. This is the window size
newFrame.setSize(300,200);
newFrame.setLayout(null); newFrame.setVisible(true);
newFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
public static void main(String[] args) { new JButtonDemo();
}
}

Sortie :

Cadre d'interface graphique Java

Autres frameworks

Qt Jambi

Un wrapper Java pour la bibliothèque qt native qui est écrite en c/c++.

Il est très puissant, largement utilisé et accepté. Possède de nombreux composants GUI et une API facile à utiliser.

SWT

Créé par IBM pour Eclipse, ils semblaient penser que Swing n'était pas adapté à Eclipse à l'époque.

En soi, c'est un niveau assez bas et il utilise les widgets natifs de la plateforme via JNI. Ce n'est pas du tout lié à Swing et AWT.

SWT est une boîte à outils de widgets open source pour Java conçue pour fournir un accès efficace et portable aux fonctionnalités de l'interface utilisateur des systèmes d'exploitation sur lesquels il est implémenté.

Apache Pivot

Il restitue l'interface utilisateur à l'aide de Java2D, minimisant ainsi l'impact des héritages (OMI, gonflés) de Swing et AWT.

Son objectif principal semble être les RIA (Rich Internet Applications), mais il semble qu'il puisse également être appliqué aux applications de bureau.

JGoodies

JGoodies OTOH concerne les PLAF et les mises en page.

JavaFX

Le dernier produit phare de Java/Oracle. promettant d'être la norme de fait dans le développement d'applications de bureau ou Web riches.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Article précédent:comparerÀ JavaArticle suivant:comparerÀ Java