Subtrees hinzugefügt
This commit is contained in:
parent
6e9f2223d2
commit
a6d1e09ddb
15 changed files with 2338 additions and 0 deletions
160
Quellcodes/duc_bit_bmphexeditor/Bild.java
Normal file
160
Quellcodes/duc_bit_bmphexeditor/Bild.java
Normal file
|
|
@ -0,0 +1,160 @@
|
|||
import java.awt.*;
|
||||
import java.awt.image.*;
|
||||
import java.awt.event.*;
|
||||
import javax.swing.*;
|
||||
import javax.imageio.*;
|
||||
import java.io.*;
|
||||
|
||||
|
||||
class Bild extends JComponent {
|
||||
Datei file;
|
||||
BMPHexEditor parent;
|
||||
Image image;
|
||||
int zoom=100;
|
||||
int posx =2;
|
||||
int posy =2;
|
||||
|
||||
|
||||
/*
|
||||
class myKeyListener implements KeyListener
|
||||
{
|
||||
public void keyPressed( KeyEvent k )
|
||||
{
|
||||
int iHeight = getSize().height;
|
||||
|
||||
if (k.getKeyCode()==8) delete(-1);
|
||||
if (k.getKeyCode()==127) delete(0);
|
||||
if (k.getKeyCode()==37) movePos(-1);
|
||||
if (k.getKeyCode()==39) movePos(1);
|
||||
if (k.getKeyCode()==38) movePos(-proZeile);
|
||||
if (k.getKeyCode()==40) movePos(proZeile);
|
||||
if (k.getKeyCode()==33) movePos(-proZeile*(iHeight/hoehe));
|
||||
if (k.getKeyCode()==34) movePos(proZeile*(iHeight/hoehe));
|
||||
|
||||
}
|
||||
public void keyReleased(KeyEvent k){}
|
||||
|
||||
public void keyTyped(KeyEvent k){
|
||||
// System.out.println( "Typed:"+k.getKeyCode()+"|"+k.getKeyChar() );
|
||||
switch(modus) {
|
||||
case 1: {
|
||||
if (k.getKeyChar()>='0' && k.getKeyChar()<='1') modifyByte(k.getKeyChar());
|
||||
break;
|
||||
}
|
||||
case 2: {
|
||||
if (k.getKeyChar()>='0' && k.getKeyChar()<='9') modifyByte(k.getKeyChar());
|
||||
if (k.getKeyChar()>='a' && k.getKeyChar()<='f') modifyByte(k.getKeyChar());
|
||||
if (k.getKeyChar()>='A' && k.getKeyChar()<='F') modifyByte(k.getKeyChar());
|
||||
break;
|
||||
}
|
||||
default: {
|
||||
if (k.getKeyCode()!= 127) modifyByte(k.getKeyChar());
|
||||
}
|
||||
}
|
||||
}
|
||||
} */
|
||||
|
||||
class myMouseListener implements MouseListener
|
||||
{
|
||||
public void mouseClicked( MouseEvent e )
|
||||
{
|
||||
|
||||
}
|
||||
public void mouseExited(MouseEvent e) {
|
||||
}
|
||||
public void mouseEntered(MouseEvent e) {
|
||||
}
|
||||
public void mousePressed(MouseEvent e) {
|
||||
setPos((e.getX()-10)*100/zoom+1,(e.getY()-10)*100/zoom+1 );
|
||||
parent.posClicked(posx, posy);
|
||||
}
|
||||
public void mouseReleased(MouseEvent e) {
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
public Bild(BMPHexEditor p){
|
||||
super();
|
||||
parent = p;
|
||||
file = null;
|
||||
image = null;
|
||||
// addKeyListener(new myKeyListener());
|
||||
addMouseListener(new myMouseListener());
|
||||
}
|
||||
|
||||
public void paint(Graphics g){
|
||||
int iWidth = getSize().width;
|
||||
int iHeight = getSize().height;
|
||||
|
||||
|
||||
if (file != null && image != null) {
|
||||
g.drawImage(image,10,10, this);
|
||||
g.drawRect(9,9,image.getWidth(this)+2,image.getHeight(this)+2);
|
||||
if (posx >=0 && posy >= 0) {
|
||||
g.setColor(Color.red);
|
||||
g.fillRect((posx+1)*zoom/100+10,(posy-1)*zoom/100+10,4*zoom/100,zoom/100);
|
||||
g.fillRect((posx-1)*zoom/100+10,(posy+1)*zoom/100+10,zoom/100,4*zoom/100);
|
||||
g.fillRect((posx-6)*zoom/100+10,(posy-1)*zoom/100+10,4*zoom/100,zoom/100);
|
||||
g.fillRect((posx-1)*zoom/100+10,(posy-6)*zoom/100+10,zoom/100,4*zoom/100);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public void setDatei(Datei file) {
|
||||
this.file = file;
|
||||
try {
|
||||
image = ImageIO.read(new ByteArrayInputStream(file.getByteArray()));
|
||||
image = image.getScaledInstance(image.getWidth(this)*zoom/100,image.getHeight(this)*zoom/100,Image.SCALE_DEFAULT);
|
||||
} catch (Exception e) {
|
||||
// TODO Auto-generated catch block
|
||||
// System.out.println("Bild kann nicht geladen werden oder ist nicht korrekt");
|
||||
image = null;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
public void setZoom(int z) {
|
||||
zoom = z;
|
||||
setDatei(file);
|
||||
}
|
||||
|
||||
public void setPos(int x, int y) {
|
||||
posx = x;
|
||||
posy = y;
|
||||
repaint();
|
||||
}
|
||||
|
||||
public Dimension getPreferredSize()
|
||||
{
|
||||
|
||||
if (file == null || image == null)
|
||||
{
|
||||
return new Dimension( 300, 200 );
|
||||
}
|
||||
else
|
||||
{
|
||||
|
||||
return new Dimension( image.getWidth(this)+20,image.getHeight(this)+20);
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
public Dimension getMinimumSize()
|
||||
{
|
||||
return getPreferredSize();
|
||||
}
|
||||
|
||||
|
||||
|
||||
public void keyPressed ( KeyEvent e){
|
||||
}
|
||||
public void keyReleased ( KeyEvent e ){
|
||||
}
|
||||
|
||||
public boolean isFocusable() {
|
||||
return true;
|
||||
}
|
||||
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue