Programmation Java problème sous paint
urgent
-
urgent -
urgent -
Bonjour,
J'ai un problème dans mon programme Java.
Je dois faire un paint.
J'ai presque fini seulement quand je clique sur un icone pour faire un rectangle il me fait un rctangle mais quand je clique apré sur cercle il me fais un rectangle et un cercle alors que je veux juste un cercle.
Voici le bout de programme qu'il faut modifier je pense:
public void actionPerformed(ActionEvent arg0) {
f(arg0.getSource()==(buttonLine))
{
new LineTool(viewPanel);
}
else if(arg0.getSource()==buttonEllipse)
{
new EllipseTool(viewPanel);
}
else if(arg0.getSource()==buttonRectangle)
{
new RectangleTool(viewPanel);
}
else if(arg0.getSource()==buttonCircle)
{
new CircleTool(viewPanel);
}
else if(arg0.getSource()==buttonSquare)
{
new SquareTool(viewPanel);
}
else if(arg0.getSource()==buttonFreehandLine)
{
new FreehandTool(viewPanel);
}
}}
J'aimerais qu'il oublie l'action précédente!!Pour ne faire que ce que je lui demande c a d un carré quand je veux un carré ,une cercle,.....
SVP aidez moi!!!!!!!!!
J'ai un problème dans mon programme Java.
Je dois faire un paint.
J'ai presque fini seulement quand je clique sur un icone pour faire un rectangle il me fait un rctangle mais quand je clique apré sur cercle il me fais un rectangle et un cercle alors que je veux juste un cercle.
Voici le bout de programme qu'il faut modifier je pense:
public void actionPerformed(ActionEvent arg0) {
f(arg0.getSource()==(buttonLine))
{
new LineTool(viewPanel);
}
else if(arg0.getSource()==buttonEllipse)
{
new EllipseTool(viewPanel);
}
else if(arg0.getSource()==buttonRectangle)
{
new RectangleTool(viewPanel);
}
else if(arg0.getSource()==buttonCircle)
{
new CircleTool(viewPanel);
}
else if(arg0.getSource()==buttonSquare)
{
new SquareTool(viewPanel);
}
else if(arg0.getSource()==buttonFreehandLine)
{
new FreehandTool(viewPanel);
}
}}
J'aimerais qu'il oublie l'action précédente!!Pour ne faire que ce que je lui demande c a d un carré quand je veux un carré ,une cercle,.....
SVP aidez moi!!!!!!!!!
A voir également:
- Programmation Java problème sous paint
- Waptrick java football - Télécharger - Jeux vidéo
- Jeux java itel - Télécharger - Jeux vidéo
- Paint net - Télécharger - Dessin & Illustration
- Tux paint - Télécharger - Dessin & Illustration
- Paint 3d mac - Télécharger - Dessin & Illustration
Voici l'exemple d'un tool en l'occurence CircleTool:
public class CircleTool extends Tool{
public CircleTool(ViewPanel viewPanel){
super(viewPanel);
}
protected View createView(){
double width = this.getEnd().getX()-this.getStart().getX();
double height = this.getEnd().getY()-this.getStart().getY();
double X = this.getStart().getX();
double Y = this.getStart().getY();
double size = 0;
if( Math.abs(width)< Math.abs(height)){
size = Math.abs(height);
if(width<0)
X = X-size;
if(height<0)
Y = Y-size;
}
else{
size = Math.abs(width);
if(width<0)
X = X-size;
if(height<0)
Y = Y-size;
}
Shape circle = new Circle(X,Y,size);
circle.setLineColour(this.getViewPanel().getCurrentDrawColour());
View view = new View(circle);
return view;
}
}
je sais pas si çà peut t'aider?
public class ViewPanel extends javax.swing.JPanel{
protected static final int DEFAULT_WIDTH=200;
/*définit la hauteur par défaut*/
protected static final int DEFAULT_HEIGHT=800;
//définit la largeur par défaut
protected static final Color DEFAULT_BACKGROUND_COLOUR=new Color (1);
//définuit la couleur de fond par défaut
protected static final Color DEFAULT_DRAW_COLOUR=new Color (9);
//définit la couleur d'écriture par défaut
private BasicFrame mainFrame;
private Color currentDrawColour = DEFAULT_DRAW_COLOUR;
private Tool currentTool;
private ArrayList<View> views= new ArrayList<View>();
private Dimension dim;
//Constructeur par défaut permettant de définir la dimension,la couleur de fond,la couleur du tracé de la zone de dessin(ViewPanel)
public ViewPanel(int width, int height, Color backgroundColour){
Dimension dim = new Dimension(width, height);
this.setPreferredSize(dim);
this.setBackground(backgroundColour);
setCurrentDrawColour(DEFAULT_DRAW_COLOUR);
}
//Méthode permettant d'ajouter une vue
public void addView(View view){
views.add(view);
//pourquoi this.add(view) ne suffit pas?
}
//Retourne la BasicFrame dans lequel se trouve cet objet.
public BasicFrame getBasicFrame(){
return this.mainFrame;
//Retourne la BasicFrame dans lequel se trouve cet objet
//Entraine la créataion de private BasicFrame mainFrame
}
//Méthode permettant de retourner la couleur du tracé
public Color getCurrentDrawColour(){
return this.currentDrawColour;
}
//Méthode permettant de retourner la vue
public ArrayList<View> getViews(){
return views;
}
//Méthode permettant de peindre les différentes vues
public void paint(Graphics g){
super.paint(g);
java.awt.Graphics2D g2D = (Graphics2D)g ; // Le paramètre g de la méthode paint est converti en un Graphics2D
int nbreDeViews;
if(this.views !=null)
nbreDeViews = this.views.size();
else
nbreDeViews = 0;
int i;
for(i = 0 ; i < nbreDeViews ; i++)
this.views.get(i).display(g2D);
}
//Méthode permettant de définir la BasicFrame dans laquelle se trouve la ViewPanel
public void setBasicFrame(BasicFrame mainFrame){
this.mainFrame = mainFrame;
}
//Méthode permettant de définir la couleur de fond
public void setCurrentDrawColour(Color colour){
this.currentDrawColour=colour;
}
//Méthode permettant de retourner l'outil utilisé
public Tool getCurrentTool(){
return this.currentTool;
}
//Méthode permettant de définir l'outil utilisé
public void setCurrentTool(Tool tool){
currentTool=tool;
}
//Méthode permettant de définir un nouvel ensemble de vue
public void setViews(ArrayList<View> views){
this.views = views;
}
public void setDim(Dimension dim) {
this.dim = dim;
}
public Dimension getDim() {
return dim;
}
}
Est il possible de faire en sorte que le current tool soit réinitialisé pour ne pas garder l'action précedente?