[java]classe GradientPaint
Fermé
john_matrix
Messages postés
443
Date d'inscription
dimanche 4 septembre 2005
Statut
Membre
Dernière intervention
19 avril 2008
-
10 juin 2006 à 15:14
Utilisateur anonyme - 17 juil. 2006 à 11:20
Utilisateur anonyme - 17 juil. 2006 à 11:20
bonjour voila je voudrai faire un degradé dans un JPanel et j'utilise pour cela la classe GradientPaint.
Mais apres je sais pas du tou comment faire
Color c1 = new Color(0.807F,1F,0F);
Color c2 = new Color(255,204,102);
float a = 0;
float b = 100;
GradientPaint gp = new GradientPaint(a,a,c1,b,b,c2,true);
Voila si vous avez une idee a partir de ca comment metre le Jpanel avec le GRadientPaint merci
Mais apres je sais pas du tou comment faire
Color c1 = new Color(0.807F,1F,0F);
Color c2 = new Color(255,204,102);
float a = 0;
float b = 100;
GradientPaint gp = new GradientPaint(a,a,c1,b,b,c2,true);
Voila si vous avez une idee a partir de ca comment metre le Jpanel avec le GRadientPaint merci
A voir également:
- [java]classe GradientPaint
- Waptrick java football - Télécharger - Jeux vidéo
- Jeux java itel football - Télécharger - Jeux vidéo
- Java apk - Télécharger - Langages
- Waptrick java voiture - Télécharger - Jeux vidéo
- Java décompiler - Télécharger - Langages
2 réponses
Utilisateur anonyme
17 juil. 2006 à 11:20
17 juil. 2006 à 11:20
Re-salut!
Le code ci-dessus ne fonctionne pas correctement.
Crée plutôt les 3 classes suivantesdans le même package:
- MainView
- GradientPanel
- ColorChoicePanel
et copies-y le code ci-dessous.
Démarre la démo à partir de MainView.
MainView
GradientPanel
ColorChoicePanel
;-)
HackTrack
Le code ci-dessus ne fonctionne pas correctement.
Crée plutôt les 3 classes suivantesdans le même package:
- MainView
- GradientPanel
- ColorChoicePanel
et copies-y le code ci-dessous.
Démarre la démo à partir de MainView.
MainView
package panelDegrade; import java.awt.BorderLayout; import java.awt.Color; import java.awt.Container; import java.awt.Dimension; import java.awt.HeadlessException; import javax.swing.JFrame; public class MainView extends JFrame { private Container c; private GradientPanel gradientPanel; public MainView() throws HeadlessException { super("Démo de dégradé"); initialize(); } private void initialize() { c = getContentPane(); setDefaultCloseOperation(EXIT_ON_CLOSE); c.setLayout(new BorderLayout()); } public void setColorChoicePanel(ColorChoicePanel colorchoicePanel) { c.add(colorchoicePanel, BorderLayout.NORTH); } public void setGradientPanel(GradientPanel gradientPanel) { this.gradientPanel = gradientPanel; c.add(gradientPanel, BorderLayout.CENTER); } public void setColor1(Color c1) { gradientPanel.setColor1(c1); } public void setColor2(Color c2) { gradientPanel.setColor2(c2); } public static void main(String[] args) { MainView demo = new MainView(); ColorChoicePanel colorChoicePanel = new ColorChoicePanel(demo); GradientPanel gradientPanel = new GradientPanel(); gradientPanel.setPreferredSize(new Dimension(640, 480)); demo.setColorChoicePanel(colorChoicePanel); demo.setGradientPanel(gradientPanel); demo.pack(); demo.setVisible(true); } }
GradientPanel
package panelDegrade; import java.awt.Color; import java.awt.GradientPaint; import java.awt.Graphics; import java.awt.Graphics2D; import javax.swing.JLabel; import javax.swing.JPanel; import javax.swing.JTextField; public class GradientPanel extends JPanel { private Color color1; private Color color2; public GradientPanel( ) { this.color1 = Color.black; this.color2 = Color.black; this.add(new JLabel("Hello Gradient Panel!")); this.add(new JTextField("Un champ de texte")); } public void setColor1(Color c1) { this.color1 = c1; repaint(); } public void setColor2(Color c2) { this.color2 = c2; repaint(); } public void paint(Graphics g){ super.paint(g); // } protected void paintComponent(Graphics g) { Graphics2D g2 = (Graphics2D) g; super.paintComponent(g); int w = getWidth(); int h = getHeight(); GradientPaint gradient = new GradientPaint(0, 0, color1, w, h, color2, true); g2.setPaint(gradient); g2.fillRect(0, 0, w, h); repaint(); } }
ColorChoicePanel
package panelDegrade; import java.awt.Color; import java.awt.Component; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.DefaultComboBoxModel; import javax.swing.JComboBox; import javax.swing.JLabel; import javax.swing.JList; import javax.swing.JPanel; import javax.swing.ListCellRenderer; public class ColorChoicePanel extends JPanel implements ListCellRenderer { private MainView view; private JComboBox jcb_color_1; private JComboBox jcb_color_2; public ColorChoicePanel(MainView view) { super(); this.view = view; initialize(); } private void initialize() { GradientColor[] colors = { new GradientColor("Noir", 0, 0, 0), new GradientColor("Blanc", 255, 255, 255), new GradientColor("Rouge", 255, 0, 0), new GradientColor("Vert", 0, 255, 0), new GradientColor("Bleu", 0, 0, 255) }; DefaultComboBoxModel dcbm_colors_1 = new DefaultComboBoxModel(colors); DefaultComboBoxModel dcbm_colors_2 = new DefaultComboBoxModel(colors); jcb_color_1 = new JComboBox(dcbm_colors_1); jcb_color_1.setRenderer(this); jcb_color_1.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { JComboBox combo = (JComboBox) e.getSource(); Color c = (Color) combo.getSelectedItem(); view.setColor1(c); } }); jcb_color_2 = new JComboBox(dcbm_colors_2); jcb_color_2.setRenderer(this); jcb_color_2.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { JComboBox combo = (JComboBox) e.getSource(); Color c = (Color) combo.getSelectedItem(); view.setColor2(c); } }); add(jcb_color_1); add(jcb_color_2); } class GradientColor extends Color { private String colorName; public GradientColor(String colorName, int r, int g, int b) { super(r, g, b); this.colorName = colorName; } public String toString() { return colorName; } } public Component getListCellRendererComponent(JList list, Object value, int index, boolean isSelected, boolean cellHasFocus) { JLabel label = null; if (value instanceof GradientColor) { GradientColor gradientColor = (GradientColor) value; label = new JLabel(); label.setText(gradientColor.toString()); label.setForeground(gradientColor); list.add(label); } return label; } }
;-)
HackTrack
Utilisateur anonyme
17 juil. 2006 à 10:08
17 juil. 2006 à 10:08
Salut!
;-)
HackTrack
package panelDegrade; import java.awt.BorderLayout; import java.awt.Color; import java.awt.GradientPaint; import java.awt.Graphics; import java.awt.Graphics2D; import java.awt.GridLayout; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.JButton; import javax.swing.JComboBox; import javax.swing.JFrame; import javax.swing.JPanel; import javax.swing.JTextField; public class GradientPanel extends JPanel { private Color color1; private Color color2; public GradientPanel() { this(Color.blue, Color.green); } public GradientPanel(Color c1, Color c2) { super(); this.color1 = c1; this.color2 = c2; } public void setColor1(Color c1) { this.color1 = c1; repaint(); } public void setColor2(Color c2) { this.color2 = c2; repaint(); } // Overloaded in order to paint the background protected void paintComponent(Graphics g) { Graphics2D g2 = (Graphics2D) g; int w = getWidth(); int h = getHeight(); GradientPaint gradient = new GradientPaint(0, 0, color1, w, h, color2, true); g2.setPaint(gradient); g2.fillRect(0, 0, w, h); } public static void main(String[] args) { final GradientPanel pGradient = new GradientPanel(); Color[] colors = { createColor("Black", Color.black), createColor("Blue", Color.blue), createColor("Green", Color.green), createColor("yellow", Color.yellow), createColor("orange", Color.orange), createColor("red", Color.red), createColor("white", Color.white) }; JComboBox c1 = new JComboBox(colors); c1.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { JComboBox combo = (JComboBox) e.getSource(); Color c = (Color) combo.getSelectedItem(); pGradient.setColor1(c); } }); JComboBox c2 = new JComboBox(colors); c2.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { JComboBox combo = (JComboBox) e.getSource(); Color c = (Color) combo.getSelectedItem(); pGradient.setColor2(c); } }); JPanel pColors = new JPanel(new GridLayout(0, 2)); pColors.add(c1); pColors.add(c2); pGradient.add(new JButton("A button")); pGradient.add(new JTextField("A text field")); c1.setSelectedItem(colors[1]); c2.setSelectedItem(colors[2]); JFrame f = new JFrame("Gradient test"); f.setSize(300, 200); f.getContentPane().add(pColors, BorderLayout.NORTH); f.getContentPane().add(pGradient, BorderLayout.CENTER); f.setVisible(true); } private static Color createColor(String name, Color c) { final String colorname = name; Color color = new Color(c.getRed(), c.getGreen(), c.getBlue()) { private String name = colorname; public String toString() { return name; } }; return color; } }
;-)
HackTrack