Regle frame

Contenu du snippet

Ce code permet de connaitre les dimensions et la position d'une fenêtre à créer sans passer par une phase de tatonement.

Source / Exemple :


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

//pour traiter les evenements des touches
class RegleFrame extends JFrame  implements KeyListener
{
         /*  dim est une variable d'interception des actions du clavier, servant à choisir les paramétres du frame à régler
	h pour la hauteur
	l pour la largeur
	x pour la position horizontale de la fenêtre
	y pour la position verticale de la fenêtre

  • /
char dim; /* Les paramètres du frame sont la largeur, la hauteur,x pour la position horizontale de la fenêtre et y pour la position verticale de la fenêtre
  • /
int largeur=300; int hauteur=300; int x=0; int y=0; // Les touches "-" et "+" diminuent ou augmentent les paramètres ci-dessus cités JLabel label_x; JLabel label_y; JLabel label_hauteur; JLabel label_largeur; RegleFrame() { Container pane=getContentPane(); pane.setLayout(new FlowLayout()); label_x=new JLabel("X="+x); label_y=new JLabel("y="+y); label_hauteur=new JLabel("hauteur="+hauteur); label_largeur=new JLabel("largeur="+largeur); pane.add(label_x); pane.add(label_y); pane.add(label_hauteur); pane.add(label_largeur); addKeyListener(this); addWindowListener(new WindowAdapter() { public void windowClosing(WindowEvent e) { System.exit(0); } }); setBounds(x,y,largeur,hauteur); } public void keyPressed(KeyEvent evt){ } public void keyReleased(KeyEvent evt){} public void keyTyped(KeyEvent evt) // interception des touches du clavier { switch (evt.getKeyChar()) { case 'h': dim='h'; break; case 'l': dim='l'; break; case 'x': dim='x'; break; case 'y': dim='y'; break; } if (evt.getKeyChar()=='+') { switch (dim) { case 'h': hauteur+=1; break; case 'l': largeur+=1; break; case 'x': x+=1; break; case 'y': y+=1; break; } } else if (evt.getKeyChar()=='-') { switch (dim) { case 'h': hauteur-=1; break; case 'l': largeur-=1; break; case 'x': x-=1; break; case 'y': y-=1; break; } } } setBounds(x,y,largeur,hauteur); label_x.setText("X="+x); label_y.setText("Y="+y); label_hauteur.setText("hauteur="+hauteur); label_largeur.setText("largeur="+largeur); } public static void main (String[] args) { RegleFrame fenetre = new RegleFrame(); fenetre.setVisible(true); } }

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.