64*64 petites boutons dans une interface, est il possible?!?!??

Résolu
charmeurga Messages postés 28 Date d'inscription dimanche 2 novembre 2008 Statut Membre Dernière intervention 25 novembre 2011 - 27 mai 2011 à 07:35
charmeurga Messages postés 28 Date d'inscription dimanche 2 novembre 2008 Statut Membre Dernière intervention 25 novembre 2011 - 31 mai 2011 à 03:19
Bonjour à tous,

J ai essayée de développer une interface graphique contenant 64*64 bouton mais ça dépasse la taille limite
«The code of constructor surface() is exceeding the 65535 bytes limit»

Bon l'idée c'est de dessiner un circuit en cliquant aux boutons que vont changes 2 couleur
Ya t' il d'autre solution SVPPPPPPPPP c urgent


merci d'avance

26 réponses

charmeurga Messages postés 28 Date d'inscription dimanche 2 novembre 2008 Statut Membre Dernière intervention 25 novembre 2011
28 mai 2011 à 03:48
bonjour Julien

je tape votre code comme suit

import javax.swing.JFrame;

class TWA extends JFrame {

public static void main(String args[]) {
    JFrame frame = new JFrame("interface TWA");
  
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
   		   
    Panel panel = new Panel();
      new ListenerPanel(panel);
      frame.add(panel);
    

    frame.setSize(500, 500);
    frame.setVisible(true);
  }
}
//-------------------------------------------------------------------

import java.awt.Color;
import java.awt.event.*;


public class ListenerPanel implements MouseListener {

private Panel panel;

public ListenerPanel(Panel panel){
this.panel = panel;
}


public void mouseClicked(MouseEvent e){
panel.addPoint(e.getX(), e.getY(), Color.blue);
panel.repaint();
 	
 	}

/**
  * Invoked when the mouse enters a component.
  */
public void mouseEntered(MouseEvent e){

}

/**
  * Invoked when the mouse exits a component.
  */
public void mouseExited(MouseEvent e){
}
        
/**
  *Invoked when a mouse button has been pressed on a component.
  */
public void mousePressed(MouseEvent e){

}
        
/**
  * Invoked when a mouse button has been released on a component.
  */
public void mouseReleased(MouseEvent e){

}

}
//--------------------------------------------------

import java.awt.Color;

import java.awt.Graphics;

import java.util.List;

import java.awt.*;

import javax.swing.JPanel;

import java.util.ArrayList;

public class Panel extends JPanel {

private List  points;

private List<Color> couleurs;

public Panel(){
super();

points = new ArrayList ();
couleurs = new ArrayList <Color>();
}


public void addPoint(int x, int y, Color couleur){
points.add(new Point(x, y));
couleurs.add(couleur);
}


public int doubleToInt(double monDouble) {
        long l = Math.round(monDouble);
        String s = ""+l;
        int i;
        try {
            i = Integer.parseInt(s);
        } catch (NumberFormatException e) {
            if (l<0) { i Integer.MIN_VALUE; } else { i Integer.MAX_VALUE; }
        }
        return i;
    }
public void paintComponent(Graphics g){

super.paintComponent(g);

int tailleCarre = getWidth()/64;
for(int i=0; i<points.size(); i++){
g.setColor(couleurs.get(i));
g.fillRect(
doubleToInt(points.get(i).getX()-tailleCarre/2),//x
doubleToInt(points.get(i).getY()-tailleCarre/2),//y
tailleCarre,
tailleCarre
);
}

}
 

}



le résulta de l'exuc
0
cs_Julien39 Messages postés 6414 Date d'inscription mardi 8 mars 2005 Statut Modérateur Dernière intervention 29 juillet 2020 371
28 mai 2011 à 11:55
et dans la classe TWA enleve le extends JFrame, il ne sert à rien
0
cs_Julien39 Messages postés 6414 Date d'inscription mardi 8 mars 2005 Statut Modérateur Dernière intervention 29 juillet 2020 371
28 mai 2011 à 11:56
Par contre, je ne comprends pas d'ou vient ton erreur, comment lances tu ton programme, avec eclipse ? As tu bien installé java ? et le compilateur ?
0
charmeurga Messages postés 28 Date d'inscription dimanche 2 novembre 2008 Statut Membre Dernière intervention 25 novembre 2011
28 mai 2011 à 17:15
c'est b1 ça marche

menon veut faire deux panel séparé dans un frame.... mais tjr la panel "panel" monopole tout le frame

voila le code
import java.awt.GridLayout;

import javax.swing.BorderFactory;
import javax.swing.ButtonGroup;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JRadioButton;

class TWA  {
public static void main(String args[]) {
    JFrame frame = new JFrame("interface TWA");
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    
    JRadioButton diButton   = new JRadioButton("diélectrique"  , true);
   JRadioButton meButton    = new JRadioButton("metal"   , false);
   JRadioButton cseButton = new JRadioButton("surface d'impédance", false);
   JRadioButton surfButton = new JRadioButton("source", false);
   ButtonGroup bgroup = new ButtonGroup();
   bgroup.add(diButton);
   bgroup.add(meButton);
   bgroup.add(surfButton);
   bgroup.add(cseButton);
   JPanel radioPanel = new JPanel();
   radioPanel.setLayout(new GridLayout(4, 1));
   radioPanel.add(diButton);
   radioPanel.add(meButton);
   radioPanel.add(cseButton);
   radioPanel.add(surfButton);
   
   radioPanel.setBorder(BorderFactory.createTitledBorder(
              BorderFactory.createEtchedBorder(), "choisissez le composant  "));
 
    //Declaration du panel	   
    Panel panel = new Panel();
    JPanel panel2 = new JPanel();
    panel2.add(panel);
    panel2.setBorder(BorderFactory.createTitledBorder(
              BorderFactory.createEtchedBorder(), " dessinez votre circuit  "));
 
 
            //Ajout du mouselistener au panel
            panel.addMouseListener(new ListenerPanel(panel));
    
    frame.add(radioPanel);
    frame.add(panel);
    radioPanel.setSize(500,200);
    panel.setSize(500, 500);
 
    
    frame.setSize(500, 700);
    frame.setVisible(true);
  }}
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
charmeurga Messages postés 28 Date d'inscription dimanche 2 novembre 2008 Statut Membre Dernière intervention 25 novembre 2011
28 mai 2011 à 17:21
Je veux que « Panel» soit dans une zone limitée
0
charmeurga Messages postés 28 Date d'inscription dimanche 2 novembre 2008 Statut Membre Dernière intervention 25 novembre 2011
31 mai 2011 à 03:19
J’ai crée une variable static couleur qui va c’est modifier selon le JRadioButten dans la classe TWA Comme suite :
  JRadioButton diButton   = new JRadioButton("diélectrique"  , true);
   meButton    = new JRadioButton("metal"   , false);
    sceButton = new JRadioButton("surface d'impédance", false);
    surfButton = new JRadioButton("source", false);
   ButtonGroup bgroup = new ButtonGroup();
   bgroup.add(diButton);
   bgroup.add(meButton);
   bgroup.add(surfButton);
   bgroup.add(sceButton);
   JPanel radioPanel = new JPanel();
   radioPanel.setLayout(new GridLayout(4, 1));
   radioPanel.add(diButton);
   radioPanel.add(meButton);
   radioPanel.add(sceButton);
   radioPanel.add(surfButton);
   
   radioPanel.setBorder(BorderFactory.createTitledBorder(
              BorderFactory.createEtchedBorder(), "choisissez le composant   "));

*
*
*
*
*
public void actionPerformed(ActionEvent e) {
        Object source = e.getSource();
        if (source == diButton) {
        	
        	couleur.getColor("blue");
        } else if (source == meButton) {
        	couleur=couleur.blue;       	
        }
        else if (source == surfButton) {
        	couleur.toString();       	
        }
        else if (source == sceButton) {
        	couleur.toString();       	
        }
    }

*
*
*
*
*
Et dans la classe ListenerPanel j&#8217;ai ajoutée a la methode mouseClicked

public void mouseClicked(MouseEvent e){
panel.addPoint(e.getX(), e.getY(),TWA.couleur;
panel.repaint();
 	

mais le couleur ne change pas !!
voila l’interface



merci d'avance pour votre renonce
0
Rejoignez-nous