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 ); } } }
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); }}
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre questionJRadioButton 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’ai ajoutée a la methode mouseClicked public void mouseClicked(MouseEvent e){ panel.addPoint(e.getX(), e.getY(),TWA.couleur; panel.repaint();