• Apfeltalk ändert einen Teil seiner Allgemeinen Geschäftsbedingungen (AGB), das Löschen von Useraccounts betreffend.
    Näheres könnt Ihr hier nachlesen: AGB-Änderung
  • Was gibt es Schöneres als den Mai draußen in der Natur mit allen Sinnen zu genießen? Lasst uns teilhaben an Euren Erlebnissen und macht mit beim Thema des Monats Da blüht uns was! ---> Klick

Java Programm bleibt nur über den start aus dem Finder hängen, Konsole nicht

Loooki

Beauty of Kent
Registriert
15.09.09
Beiträge
2.169
Hey Apfeltalker,

ich habe da mindestens 2 Fragen die sicherlich miteinander zu tun haben.

1. Wenn ich mein Java Programm aus dem Finder ausführe das heißt einfach doppelt auf die ausführbare *.jar Datei komm ich an eine bestimmte Stelle an dem ich eine Drag geste ausführen möchte, beim Klick auf die Komponente die ich sozusagen draggen will (Alles selbst geschriebene Komponenten nichts vorgefretigtes) bleibt das Programm hängen.

Führe ich den Spaß allerdings auf Konsole aus mach exakt das gleiche bleibt das Programm dort nicht hängen.

Außerdem sei zu erwähnen: Wenn ich das Programm aus Eclipse heraus starte (egal ob debug oder nicht) passiert keiner dieser Fehler.

In beiden Fällen gibt es keine Eceptions, nur dass java, bei der Finder Variante, aufeinmal mit 100% auf einem Core herumwurschtelt.

Wie kann das sein und wie ist das zu vermeiden?!

2. Beim ausführen über die Konsole bekomme ich bei JOptionPanes ohne Icon das Mac Order Icon angezeigt wenn ich die jar per Doppelklick ausführe bekomme ich das Java Icon (Das was kommt wenn man keins bei einem jOptionPane angibt)

Wie kann das sein und wie kann man das vermeiden?!


Code zu 1.:

Code:
    @Override
    public void dragGestureRecognized(DragGestureEvent dge) {
        if (dge.getDragAction() == DnDConstants.ACTION_MOVE) {
            dge.startDrag(Cursor.getPredefinedCursor(Cursor.HAND_CURSOR), getResizedComponentImage(), new Point(18, 18), this, null);
        }
    }

    private Image getResizedComponentImage() {
        BufferedImage img = new BufferedImage(this.getWidth(), this.getHeight(), BufferedImage.TYPE_4BYTE_ABGR_PRE);
        this.paint(img.getGraphics());
        Image bufImg = resizeImage(img);
        return removeWhiteFromImage(bufImg);
    }

    private Image removeWhiteFromImage(Image img) {
        ImageFilter filter = new RGBImageFilter() {
            // the color we are looking for... Alpha bits are set to opaque
            public int    markerRGB    = Color.WHITE.getRGB() | 0xFF000000;

            public final int filterRGB(int x, int y, int rgb) {
                if ((rgb | 0xFF000000) == markerRGB) {
                    // Mark the alpha bits as zero - transparent
                    return 0x00FFFFFF & rgb;
                } else {
                    // nothing to do
                    return rgb;
                }
            }
        };
        return Toolkit.getDefaultToolkit().createImage(new FilteredImageSource(img.getSource(), filter));
    }


Code zu 2.

Code:
this.userName = (JOptionPane.showInputDialog(null, "Username eingeben du Vogel!")).trim();

EDIT: es handelt sich um:
java version "1.6.0_26"
Java(TM) SE Runtime Environment (build 1.6.0_26-b03-378-11M3515)
Java HotSpot(TM) 64-Bit Server VM (build 20.1-b02-378, mixed mode)
 
Zuletzt bearbeitet: