begin process at 2012 02 14 07:05:28
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Java2D

 > BUTTON GRAPHIQUE EFFET GLASS

BUTTON GRAPHIQUE EFFET GLASS


 Information sur la source

Note :
4 / 10 - par 1 personne
4,00 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :Java2D Classé sous :bouton, graphique, effet, graphics2d, graphics Niveau :Débutant Date de création :02/06/2007 Vu :12 107

Auteur : DARKSIDIOUS

Ecrire un message privé
Ce membre participe au partage de revenus publicitaires
Commentaire sur cette source (4)
Ajouter un commentaire et/ou une note


 Description

Cliquez pour voir la capture en taille normale
Une petite source sans prétention pour montrer qu'il est très simple de faire du design en java !

Je tire ce design de ce site (où tout est expliqué) :
http://www.attitudedesign.co.uk/journal/?p=55

Cette source est déjà présente sur le site ASP il me semble, c'est grâce à cette source que j'ai trouvé le lien du site.

Il m'a donc suffit de reprendre le concept pour le transcrire en java.

Ca donne une effet assez sympa en très peu de lignes de code, et ca peut faire de jolis boutons ronds par exemple.

Source

  • import java.awt.BasicStroke;
  • import java.awt.Color;
  • import java.awt.GradientPaint;
  • import java.awt.Graphics;
  • import java.awt.Graphics2D;
  • import java.awt.RenderingHints;
  • import javax.swing.JFrame;
  • public class FrmMain extends JFrame {
  • private static final long serialVersionUID = 1L;
  • private final static int BULLE_WIDTH = 50;
  • private final static Color BULLE_COLOR = Color.BLUE;
  • public FrmMain() {
  • setBounds(0, 0, BULLE_WIDTH * 2, BULLE_WIDTH * 2);
  • setVisible(true);
  • setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
  • }
  • public void paint(Graphics g) {
  • super.paint(g);
  • Graphics2D g2d = (Graphics2D) g;
  • g2d.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON);
  • g2d.setColor(BULLE_COLOR);
  • g2d.setStroke(new BasicStroke(3));
  • g2d.drawOval(10, 50, BULLE_WIDTH, BULLE_WIDTH);
  • GradientPaint gradient = new GradientPaint(BULLE_WIDTH / 2, 50, BULLE_COLOR, BULLE_WIDTH / 2, 50 + BULLE_WIDTH , Color.white);
  • g2d.setPaint(gradient);
  • g2d.fillOval(10, 50, BULLE_WIDTH, BULLE_WIDTH);
  • gradient = new GradientPaint(BULLE_WIDTH / 2, 50, Color.white, BULLE_WIDTH / 2, 50 + BULLE_WIDTH / 2, new Color(BULLE_COLOR.getRed(), BULLE_COLOR.getGreen(), BULLE_COLOR.getBlue(), 0));
  • g2d.setPaint(gradient);
  • g2d.fillOval(10 + BULLE_WIDTH / 5, 50, 5 * BULLE_WIDTH / 8, BULLE_WIDTH / 3);
  • }
  • public static void main(String[] args) {
  • new FrmMain();
  • }
  • }
import java.awt.BasicStroke;
import java.awt.Color;
import java.awt.GradientPaint;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.RenderingHints;

import javax.swing.JFrame;

public class FrmMain extends JFrame {

	private static final long serialVersionUID = 1L;
	
	private final static int BULLE_WIDTH = 50;
	private final static Color BULLE_COLOR = Color.BLUE;
	
	public FrmMain() {
		setBounds(0, 0, BULLE_WIDTH * 2, BULLE_WIDTH * 2);
		setVisible(true);
		setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
	}
	
	public void paint(Graphics g) {
		super.paint(g);
		Graphics2D g2d = (Graphics2D) g;
		g2d.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON);
		g2d.setColor(BULLE_COLOR);
		g2d.setStroke(new BasicStroke(3));
		g2d.drawOval(10, 50, BULLE_WIDTH, BULLE_WIDTH);
		GradientPaint gradient = new GradientPaint(BULLE_WIDTH / 2, 50, BULLE_COLOR, BULLE_WIDTH / 2, 50 + BULLE_WIDTH , Color.white);
		g2d.setPaint(gradient);
		g2d.fillOval(10, 50, BULLE_WIDTH, BULLE_WIDTH);
		gradient = new GradientPaint(BULLE_WIDTH / 2, 50, Color.white, BULLE_WIDTH / 2, 50 + BULLE_WIDTH / 2, new Color(BULLE_COLOR.getRed(), BULLE_COLOR.getGreen(), BULLE_COLOR.getBlue(), 0));
		g2d.setPaint(gradient);
		g2d.fillOval(10 + BULLE_WIDTH / 5, 50, 5 * BULLE_WIDTH / 8, BULLE_WIDTH / 3);
	}
	
	public static void main(String[] args) {
		new FrmMain();
	}

}



 Sources du même auteur

Source avec Zip Source avec une capture DKSWORDART : UN EDITEUR DE WORDART PERSONNALISÉ EN JAVA
Source avec Zip Source avec une capture DKSWARPEDITOR : TRANSFORMEZ UNE IMAGE TRÈS SIMPLEMENT
Source avec Zip Source avec une capture MARIO BROS : LE JEU DE MARIO
Source avec Zip Source avec une capture DKSTEXTUREEDITOR : CRÉEZ DES TEXTURES COMPLEXES TRÈS SIMPLEM...
Source avec Zip Source avec une capture DKSSHADOWEDITOR : UN ÉDITEUR D'OMBRE SUR DES OBJETS GRAPHIQU...

 Sources de la même categorie

Source avec Zip Source avec une capture REPRÉSENTATION GRAPHIQUE DE FONCTIONS ET OBJETS GÉOMÉTRIQUES par Julien39
Source avec Zip EDITEUR DES GRAPHES par pretude
Source avec Zip Source avec une capture GRAPHIQUE (COURBE 2D ) par cherkaouif
Source avec Zip UNE CALCULATRICE BIEN FAITE par William44290
Source avec Zip Source avec une capture ABC-WTOOLS EST UN FRAMEWORK DE PRODUCTION DE LOGICIEL DE GES... par William44290

 Sources en rapport avec celle ci

Source avec Zip Source avec une capture REPRÉSENTATION GRAPHIQUE DE FONCTIONS ET OBJETS GÉOMÉTRIQUES par Julien39
Source avec Zip Source avec une capture GRAPHIQUE (COURBE 2D ) par cherkaouif
Source avec Zip Source avec une capture [JOGL] ANIMATION 3D DANS UN BOUTON par loloof64
Source avec Zip TOUR DE HANOI J2ME par patdimby
Source avec Zip Source avec une capture IMPRIMER UN GRAPHICS par lupiotte

Commentaires et avis

Commentaire de jaoued zahraoui le 04/06/2007 13:50:25

bonjour,

J’ai trouvé ca tellement génial que j'en ai fait ma propre adaptation.
Je vous la mets à disposition :

package com.ui.comp;

import java.awt.BasicStroke;
import java.awt.Color;
import java.awt.Dimension;
import java.awt.GradientPaint;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.RenderingHints;

import javax.swing.Action;
import javax.swing.Icon;
import javax.swing.JButton;

public class MainButton extends JButton {
private static final long serialVersionUID = 1L;

private final int BULLE_WIDTH = 50;

private Color BULLE_COLOR = Color.green.darker(); // @jve:decl-index=0:

private Color BULLE_COLOR_B = BULLE_COLOR.brighter(); // @jve:decl-index=0:

private Color currentColor = BULLE_COLOR;

private int x = 5;

private int y = 5;

public MainButton() {
initialize();
}

public MainButton(Color BULLE_COLOR) {
this.BULLE_COLOR = BULLE_COLOR.darker();
initialize();
}

public MainButton(Icon arg0) {
super(arg0);
initialize();
}

public MainButton(String arg0) {
super(arg0);
initialize();
}

public MainButton(Action arg0) {
super(arg0);
initialize();
}

public MainButton(String arg0, Icon arg1) {
super(arg0, arg1);
initialize();
}

/**
* This method initializes this
*
*/
private void initialize() {
this.setFocusPainted(false);
this.setSize(new Dimension(BULLE_WIDTH + 10, BULLE_WIDTH + 10));
this.setBorderPainted(false);
this.setContentAreaFilled(false);
this.setOpaque(false);
this.addMouseListener(new java.awt.event.MouseListener() {
public void mouseEntered(java.awt.event.MouseEvent e) {
// si la souris passe au dessus du bouton et que le bouton est
// actif...
if (isEnabled()) {
// on change la couleur
currentColor = BULLE_COLOR_B;
}
}

public void mouseClicked(java.awt.event.MouseEvent e) {
}

public void mousePressed(java.awt.event.MouseEvent e) {
x += 2;
y += 2;
}

public void mouseReleased(java.awt.event.MouseEvent e) {
x -= 2;
y -= 2;
}

public void mouseExited(java.awt.event.MouseEvent e) {
// si la souris sort du bouton et que le bouton est actif...
if (isEnabled()) {
// on rétablit la couleur d'origine
// System.out.println("couleur d'origine");
currentColor = BULLE_COLOR;
}
}
});
}

@Override
public void paint(Graphics arg0) {
super.paint(arg0);
Graphics2D g2d = (Graphics2D) arg0;
g2d.setRenderingHint(RenderingHints.KEY_ANTIALIASING,
RenderingHints.VALUE_ANTIALIAS_ON);
g2d.setColor(currentColor);
g2d.setStroke(new BasicStroke(3));
g2d.drawOval(x, y, BULLE_WIDTH, BULLE_WIDTH);
GradientPaint gradient = new GradientPaint(BULLE_WIDTH / 2, y,
currentColor, BULLE_WIDTH / 2, y + BULLE_WIDTH, Color.white);
g2d.setPaint(gradient);
g2d.fillOval(x, y, BULLE_WIDTH, BULLE_WIDTH);
gradient = new GradientPaint(BULLE_WIDTH / 2, y, Color.white,
BULLE_WIDTH / 2, y + BULLE_WIDTH / 2, new Color(currentColor
.getRed(), currentColor.getGreen(), currentColor
.getBlue(), 0));
g2d.setPaint(gradient);
g2d.fillOval(x + BULLE_WIDTH / 5, y, 5 * BULLE_WIDTH / 8,
BULLE_WIDTH / 3);
}

} // @jve:decl-index=0:visual-constraint="10,10"

Commentaire de DARKSIDIOUS le 04/06/2007 19:20:04 administrateur CS

Très bien, c'est une bonne évolution de ma source.

Bien vu ;)

DarK Sidious

Commentaire de codesambinfo le 23/10/2009 23:23:31

Je s8 heureux
ca code tre fort

Commentaire de Joe59211 le 03/05/2011 15:27:44

Bonjour à vous !
J'ai trouvé l'idée vraiment sympa et donc je l'ai essayé

Seulement ca ne donne pas le résultat escompté!

j'ai simplement utilisé les 5 constructeurs de MainButton et ai affiché les boutons dans une JFrame

le resultat et que pour tous les constructeurs on obtiens un "demi bouton" comprenez qu'on ne voit que l'hemisphere nord du boutton

de plus le constructeur MainButton(Color c) ne change pas la couleur

et MainButton(Icon icon) rajoute licone DERRIERE le dit boutton , elle est donc invisible...

bon je n'ai fait que tester le code fournit et ne me suis pas encore pencher sur les eventuelles erreurs puisque je ne me suis pas encore essayé a la personalisation de composants

par contre si vous aviez une version corrigée ca m'interresserait! ^^

Amicalement, Joe.

 Ajouter un commentaire


Discussions en rapport avec ce code source dans le forum

Actualisation des fenetres graphiques?? [ par looops ] salut tout le monde, voila, j ai une fenetre graphique contenant un textfield, un bouton et une jinternalframe.l utilisateur rentre une serie de chiff lancer un .bat à partir d'une interface graphique [ par agita ] Bonjour à tous!je voulais savoir comment est ce qu'on lance un executable sous java, sous une interface graphique, afin de repartir sur ma console grâ Graphics [ par didoux95 ] Bonjour à tous.J'aimerais savoir si il est possible, et si oui comment, de définir un Graphics2D pour un composant (ici, de type swing).J'ai envisagé affichage d'un Graphics [ par julienlll ] je suis en train de faire un visualiseur de courbes.J'ai crée une interface et dans un de ses cadres, j'y ai mis un objet Panneau_Graphique qui extend Imprimer un Graphics ou un Graphics2d [ par lupiotte ] Bonjours,J'ai un problème d'impression car je suis obligé de faire pivoter tout le contenu de ma JFrame.la seul solution que j'ai trouvé est Graphics2 servlet jsp bouton [ par ala22941733 ] bonjour j ai un interface graphique réaliser avec jsp et des servlet l interface graphique contient 80 bouton mon problème est que chaque bouton a s Afficher tout les répertoires et fichiers contenus dans mon ordinateur [ par horka ] Bonjour tout le monde, je suis entrain de développer une application java.J'ai réalisé une interface graphique et j'ai mis dans cette dernière un bout click sur bouton par code [ par alanito ] Bonjour tout le monde Je dévellope une application sous Eclipse pour android, et j'ai un traitement qui s'éxécute lors du clik sur un bouton. Et application graphique en JAVA sur Netbeans "Gestion Stagiaire" [ par waytoallaunes5486 ] Bonjour, svp,je cherche une application graphique développée en java en utilisant netbeans et une base de donnée mysql "sinn,autre base de donnée". l fermer la fenêtre mère à partir d'un bouton de la fenêtre descendante [ par rdjrrado ] bonjour à tous, (Java application) j'ai une fenêtre mère x et une fenêtre descendante de ce x appelée y, je voudrais fermer la fenêtre x à partir d'un


Nos sponsors


Sondage...

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,544 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales