lundi 25 mai 2015
Bildervorschau, MouseDragged das Bild verschieben
Posted on 03:14 by verona
Hallo meine Freunde,
ich versuche grade eine Windows-Fotoanzeige nachzuprogrammieren. Bis jetzt habe ich alles ganz gut hinbekommen nur fehlt mir wenn ich reinzoome, dass ich mit einem Mausklick mein Bild verschieben kann. Hat jemand eine Ahnung wie man dieses realisieren kann ?
Code
Bei den Interfaces habe ich was ausprobiert mit e.getX usw aber ich weiß nicht wie ich das in der Berechnung mit einbinden kann.
ich versuche grade eine Windows-Fotoanzeige nachzuprogrammieren. Bis jetzt habe ich alles ganz gut hinbekommen nur fehlt mir wenn ich reinzoome, dass ich mit einem Mausklick mein Bild verschieben kann. Hat jemand eine Ahnung wie man dieses realisieren kann ?
Code
Java Code:
-
-
package de.marvin.oopLabor5;
-
-
import java.awt.BorderLayout;
-
import java.awt.Color;
-
import java.awt.Dimension;
-
import java.awt.FlowLayout;
-
import java.awt.Graphics;
-
import java.awt.Image;
-
import java.awt.Point;
-
import java.awt.Toolkit;
-
import java.awt.event.ActionEvent;
-
import java.awt.event.ActionListener;
-
import java.awt.event.MouseEvent;
-
import java.awt.event.MouseListener;
-
import java.awt.event.MouseMotionListener;
-
import java.io.File;
-
-
import javax.swing.ImageIcon;
-
import javax.swing.JButton;
-
import javax.swing.JPanel;
-
-
{
-
private static final long serialVersionUID = 1L;
-
-
-
-
private int bildNr = 0;
-
private int groesseX = 1;
-
private int groesseY = 1;
-
private int mousePressedX = 0;
-
private int mousePressedY = 0;
-
private int mouseReleasedX = 0;
-
private int mouseReleasedY = 0;
-
-
Fenster()
-
{
-
this.addMouseListener(this);
-
}
-
-
-
protected int[] setGroesse()
-
{
-
int[] groesse = new int[4];
-
-
-
return groesse;
-
}
-
-
@Override
-
{
-
super.paintComponent(g);
-
bilder = myDirectory.listFiles();
-
-
int[] groesse = new int[4];
-
-
-
g.drawImage(verweiseToImage(bilder)[bildNr],p0Fill.x,p0Fill.y,dFill.width,dFill.height,this);
-
}
-
-
{
-
-
for(int i = 0; i < verweise.length;i++)
-
{
-
}
-
-
return dieBilder;
-
}
-
-
{
-
-
-
for(int i =0; i < buttons.length;i++)
-
{
-
switch(i)
-
{
-
case 0:
-
buttons[i].setIcon(bild1);
-
buttonsP.add(buttons[i]);
-
buttons[i].addActionListener(this);
-
break;
-
case 1:
-
buttons[i].setIcon(bild2);
-
buttonsP.add(buttons[i]);
-
buttons[i].addActionListener(this);
-
break;
-
case 2:
-
buttons[i].setIcon(bild3);
-
buttonsP.add(buttons[i]);
-
buttons[i].addActionListener(this);
-
break;
-
case 3:
-
buttons[i].setIcon(bild4);
-
buttonsP.add(buttons[i]);
-
buttons[i].addActionListener(this);
-
break;
-
case 4:
-
buttons[i].setIcon(bild5);
-
buttonsP.add(buttons[i]);
-
buttons[i].addActionListener(this);
-
break;
-
}
-
}
-
return buttonsP;
-
}
-
-
@Override
-
{
-
if(e.getSource() == buttons[0])
-
{
-
if(groesseX > 1 && groesseY >1)
-
{
-
groesseX--;
-
groesseY--;
-
}
-
repaint();
-
-
}
-
else if(e.getSource() == buttons[1])
-
{
-
groesseX++;
-
groesseY++;
-
repaint();
-
}
-
else if(e.getSource() == buttons[2])
-
{
-
groesseX = 1;
-
groesseY = 1;
-
repaint();
-
}
-
else if(e.getSource() == buttons[3])
-
{
-
this.bildNr--;
-
if(bildNr < 0)
-
{
-
this.bildNr = 5;
-
}
-
repaint();
-
}
-
else if(e.getSource() == buttons[4])
-
{
-
this.bildNr++;
-
if(bildNr >= bilder.length)
-
{
-
this.bildNr = 0;
-
}
-
repaint();
-
}
-
}
-
-
-
@Override
-
{
-
}
-
-
@Override
-
{
-
// TODO Auto-generated method stub
-
}
-
-
@Override
-
// TODO Auto-generated method stub
-
-
}
-
-
@Override
-
{
-
mousePressedX = e.getX();
-
mousePressedY = e.getY();
-
repaint();
-
-
}
-
-
@Override
-
{
-
mouseReleasedX = e.getX();
-
mouseReleasedY = e.getY();
-
}
-
}
Bei den Interfaces habe ich was ausprobiert mit e.getX usw aber ich weiß nicht wie ich das in der Berechnung mit einbinden kann.
Bildervorschau, MouseDragged das Bild verschieben
Categories: Bildervorschau, MouseDragged das Bild verschieben
Inscription à :
Publier les commentaires (Atom)
0 commentaires:
Enregistrer un commentaire