Hallo,
ich habe einen kleinen ClorReader geschrieben.
Alles in einer Klasse namens ColorReader.class bzw. ColoReader.java.
nun versuche ich schon sehr lange daraus eine .jar zu erstellen.
Zuerst habe ich es im cmd mit :"jar -cfv ColorReader.jar ColorReader.class" probiert.
Ausgabe: Manifest hinzugeügt.
Hinzufügen von: ColorReader ....
Jetzt will ich diese .jar per Doppelklick starten.
Fehlermeldung: "Failed to load Mani-Class manifest attribute from 'path'\ColorReader.jar"
Gut, dann habe ich im selben Verzeichnis eine MAINFEST.MF mit folgendem Inhalt erstellt:
Manifest-Version: 1.0
Main-Class: ColorReader
"hier die Leerzeile"
jar -cvfm ColorReader.jar MAINFEST.MF ColorReader.class
Ausgabe: Manifest hinzugeügt.
Hinzufügen von: ColorReader ....
Jetzt wenn ich sie per doppelklick starten will kommt die Fehlermeldung:
"Could not find the main class:ColorReader. Programm will exit."
Ich frage mich warum, da er ja eine main class hat... hmpf.
Hier der code von ColorReader(main class ganz unten):
Hoffe mir kann einer weiterhelfen.
Gruß Gustl
ich habe einen kleinen ClorReader geschrieben.
Alles in einer Klasse namens ColorReader.class bzw. ColoReader.java.
nun versuche ich schon sehr lange daraus eine .jar zu erstellen.
Zuerst habe ich es im cmd mit :"jar -cfv ColorReader.jar ColorReader.class" probiert.
Ausgabe: Manifest hinzugeügt.
Hinzufügen von: ColorReader ....
Jetzt will ich diese .jar per Doppelklick starten.
Fehlermeldung: "Failed to load Mani-Class manifest attribute from 'path'\ColorReader.jar"
Gut, dann habe ich im selben Verzeichnis eine MAINFEST.MF mit folgendem Inhalt erstellt:
Manifest-Version: 1.0
Main-Class: ColorReader
"hier die Leerzeile"
jar -cvfm ColorReader.jar MAINFEST.MF ColorReader.class
Ausgabe: Manifest hinzugeügt.
Hinzufügen von: ColorReader ....
Jetzt wenn ich sie per doppelklick starten will kommt die Fehlermeldung:
"Could not find the main class:ColorReader. Programm will exit."
Ich frage mich warum, da er ja eine main class hat... hmpf.
Hier der code von ColorReader(main class ganz unten):
Java:
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.border.*;
import java.util.*;
import java.lang.*;
public class ColorReader extends JFrame
{ public JLabel l_R;
public JLabel l_G;
public JLabel l_B;
public JLabel l_hex;
public JPanel p_right;
public JPanel p_rgb;
public JPanel p_hex;
public JTextField tf_R;
public JTextField tf_G;
public JTextField tf_B;
public JTextField tf_hex;
public JPanel Farbe;
private Robot robot;
boolean klick;
Color c;
ColorReader()
{ try
{ robot = new Robot();
} catch (AWTException e)
{ e.printStackTrace();
}
klick = false;
java.util.Timer timer = new java.util.Timer();
timer.schedule ( new My_Timer(), 1, 1 );
this.setTitle("Color Reader");
this.setLayout( new FlowLayout( FlowLayout.LEFT , 5 , 5 ) );
//JLabels & JTextFields RGB
l_R = new JLabel("R:");
tf_R = new JTextField("R",2);
tf_R.setEditable(false);
tf_R.addKeyListener(new Tastatur());
l_G = new JLabel("G:");
tf_G = new JTextField("G",2);
tf_G.setEditable(false);
tf_G.addKeyListener(new Tastatur());
l_B = new JLabel("B:");
tf_B = new JTextField("B",2);
tf_B.setEditable(false);
tf_B.addKeyListener(new Tastatur());
//JLabel & TextField Hexwert
l_hex = new JLabel("Hex-Wert:");
tf_hex = new JTextField("HEX",6);
tf_hex.setEditable(false);
tf_hex.addKeyListener(new Tastatur());
//Farbepanel
Farbe = new JPanel();
Farbe.setPreferredSize(new Dimension(40,40));
Border border = new BevelBorder( BevelBorder.RAISED );
Farbe.setBorder( border );
//Anordnung der Komponenten durch Panels
p_rgb = new JPanel();
p_rgb.setLayout( new FlowLayout( FlowLayout.LEFT , 5 , 3 ) );
p_rgb.add(l_R);
p_rgb.add(tf_R);
p_rgb.add(l_G);
p_rgb.add(tf_G);
p_rgb.add(l_B);
p_rgb.add(tf_B);
p_hex = new JPanel();
p_hex.setLayout( new FlowLayout( FlowLayout.LEFT , 7 , 3 ) );
p_hex.add(l_hex);
p_hex.add(tf_hex);
p_right = new JPanel();
p_right.setLayout( new GridLayout( 2, 1) );
p_right.add(p_rgb);
p_right.add(p_hex);
//Einstellungen vom Frame
this.add(Farbe);
this.add(p_right);
//this.setSize( 220 , 100 );
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.pack();
this.addKeyListener(new Tastatur());
this.setLocation( 200 , 200 );
this.setVisible( true );
this.setAlwaysOnTop( true );
}
//Bei Taste H (hold) wird die abfrage gestoppt
class Tastatur implements KeyListener
{ public void keyPressed(KeyEvent e)
{ if(e.getKeyCode() == KeyEvent.VK_H)
if(klick)
klick = false;
else
klick = true;
}
public void keyReleased(KeyEvent e) {}
public void keyTyped(KeyEvent e) {}
}
public class My_Timer extends TimerTask
{ public void run()
{ if(!klick)
{
PointerInfo pointerInfo = MouseInfo.getPointerInfo();
Point point = pointerInfo.getLocation();
if(robot != null)
{ c = robot.getPixelColor((int)point.getX(),(int)point.getY());
}
Farbe.setBackground(c);
tf_R.setText(String.valueOf( c.getRed() ));
tf_G.setText(String.valueOf( c.getGreen() ));
tf_B.setText(String.valueOf( c.getBlue() ));
tf_hex.setText("#" + Integer.toHexString(c.getRed()).toUpperCase() + Integer.toHexString(c.getGreen()).toUpperCase() + Integer.toHexString(c.getBlue()).toUpperCase() );
}
}
}
public static void main( String[] args )
{ new ColorReader();
}
}
Hoffe mir kann einer weiterhelfen.
Gruß Gustl