Java GUI calcul meth

remousse Messages postés 299 Date d'inscription   Statut Membre Dernière intervention   -  
Marco la baraque Messages postés 996 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonsoir,

Je doit faire une calculatrice en Java, pour le moment j'ai fait tout ce qui est de l'apparence. Cependant j'aimerais sa voir comment faire pour que lorsque j'agrandit la fenêtre mes bouton ne bouge pas de place. De plus je ne vois pas trop comment faire pour réaliser les calcul (somme ...).
Si vous pouviez m'aider.

Merci d'avance,
A voir également:

3 réponses

remousse Messages postés 299 Date d'inscription   Statut Membre Dernière intervention   6
 
personne n'a d'idée?
pour vous aidez peu être voici mon code :

import javax.swing.*;
import java.awt.event.*;
import java.awt.*;


public class calc extends JFrame implements ActionListener {
JButton B7 = new JButton("7");
JButton B8 = new JButton("8");
JButton B9 = new JButton("9");
JButton B4 = new JButton("4");
JButton B5 = new JButton("5");
JButton B6 = new JButton("6");
JButton B1 = new JButton("1");
JButton B2 = new JButton("2");
JButton B3 = new JButton("3");
JButton B0 = new JButton("0");
JButton V = new JButton(",");
JButton Bplus = new JButton("+");
JButton Bmoins = new JButton("-");
JButton Bdivise = new JButton("/");
JButton Bmult = new JButton("*");
JButton Begal = new JButton("=");
JTextField Resultat = new JTextField(15);



public calc(){
setBounds(100,200,274,280);
setTitle("Calculatrice");
JPanel pane = new JPanel();
B7.setPreferredSize(new Dimension(80,30));
B8.setPreferredSize(new Dimension(80,30));
B9.setPreferredSize(new Dimension(80,30));
B4.setPreferredSize(new Dimension(80,30));
B5.setPreferredSize(new Dimension(80,30));
B6.setPreferredSize(new Dimension(80,30));
B1.setPreferredSize(new Dimension(80,30));
B2.setPreferredSize(new Dimension(80,30));
B3.setPreferredSize(new Dimension(80,30));
B0.setPreferredSize(new Dimension(80,30));
V.setPreferredSize(new Dimension(80,30));
Bplus.setPreferredSize(new Dimension(80,30));
Bmoins.setPreferredSize(new Dimension(80,30));
Bdivise.setPreferredSize(new Dimension(80,30));
Bmult.setPreferredSize(new Dimension(80,30));
Begal.setPreferredSize(new Dimension(80,30));
pane.add(Resultat);
pane.add(B7);
pane.add(B8);
pane.add(B9);
pane.add(B4);
pane.add(B5);
pane.add(B6);
pane.add(B1);
pane.add(B2);
pane.add(B3);
pane.add(B0);
pane.add(V);
pane.add(Bplus);
pane.add(Bmoins);
pane.add(Bdivise);
pane.add(Bmult);
pane.add(Begal);
B7.addActionListener(this);
B8.addActionListener(this);
B9.addActionListener(this);
B4.addActionListener(this);
B5.addActionListener(this);
B6.addActionListener(this);
B1.addActionListener(this);
B2.addActionListener(this);
B3.addActionListener(this);
B0.addActionListener(this);
V.addActionListener(this);
Bplus.addActionListener(this);
Bmoins.addActionListener(this);
Bdivise.addActionListener(this);
Bmult.addActionListener(this);
Begal.addActionListener(this);
setContentPane(pane);

}

public void actionPerformed(ActionEvent ev){
Object result = ev.getSource();

if (result == B7)
{
Resultat.setText(Resultat.getText() + "7");
}

if (result == B8)
{
Resultat.setText(Resultat.getText() + "8");
}

if (result == B9)
{
Resultat.setText(Resultat.getText() + "9");
}

if (result == B4)
{
Resultat.setText(Resultat.getText() + "4");
}
if (result == B5)
{
Resultat.setText(Resultat.getText() + "5");
}

if (result == B6)
{
Resultat.setText(Resultat.getText() + "6");
}
if (result == B1)
{
Resultat.setText(Resultat.getText() + "1");
}

if (result == B2)
{
Resultat.setText(Resultat.getText() + "2");
}
if (result == B3)
{
Resultat.setText(Resultat.getText() + "3");
}

if (result == B7)
{
Resultat.setText(Resultat.getText() + "0");
}
if (result == V)
{
Resultat.setText(Resultat.getText() + ",");
}

if (result == Bplus)
{
Resultat.setText(Resultat.getText() + "+");
}
if (result == Bmoins)
{
Resultat.setText(Resultat.getText() + "-");
}

if (result == Bdivise)
{
Resultat.setText(Resultat.getText() + "/");
}
if (result == Bmult)
{
Resultat.setText(Resultat.getText() + "*");
}

if (result == Begal)
{
Resultat.setText(Resultat.getText() + "=");
}

}

public static void main(String[] args) {
calc Interface = new calc();
Interface.setVisible(true);

}

}
0
choubaka Messages postés 39442 Date d'inscription   Statut Modérateur Dernière intervention   2 105
 
Salut

pour faire simple, utilise la méthode "setResizable(boolean b) de ta fenêtre, il suffit de mettre à false pour empêcher l'utilisateur de modifier la taille de la fenêtre.

0
remousse Messages postés 299 Date d'inscription   Statut Membre Dernière intervention   6
 
merci et pour les différente opérations de la calculatrice je ne vois toujours pas comment faire
0
Marco la baraque Messages postés 996 Date d'inscription   Statut Contributeur Dernière intervention   329
 
Bonsoir,
Il faut que tu définisses des Listener sur tes boutons pour implémenter tes actions.
Par exemple, pour la somme, tu vas implémenter un Listener sur ton bouton, qui va :
- récupérer les valeurs des différents champs
- faire la somme
- écrire dans le champ de résultat le résultat obtenu

Pour le redimensionnement, regarde du côté des tutos de sun :
https://docs.oracle.com/javase/tutorial/uiswing/events/componentlistener.html

Cordialement,
0