Unterschiede ziwschen Projektdatei und fertiger .jar

Status
Nicht offen für weitere Antworten.

Rydl

Bekanntes Mitglied
Also ich hab in meinem Programm nen AboutDialog mit nem Logo drin(.png format).
Über den JBuilder gestartet funktioniert alles einwandfrei, nur ist dem bei der fertigen
.jar datei nicht so.
Der AboutDialog wird mit einer minimalen Größe geöffnet(1x1 pixel wenn ich mich nich irre).
Beim Vergrößern des Fensters kommt auch kein Inhalt nachgezeichnet(weder Logo noch Text).

Woran kann das liegen?
Das selbe Problem gibts auch wenn ich das ganze zu einer .exe umwandle...
 

Rydl

Bekanntes Mitglied
das bild isn ImageIcon und wird als Icon für ein JLabel verwendet.
Code:
   image2 = new ImageIcon(guestlistmanager.glGUI.class.getResource("safari.png"));
...
   safari.setIcon(image2);

@clown: das problem mich eben nur so verwirrt, dass ich die suchfunktion total vergessen hab :roll: :D

außerdem wird ja nich nur das bild nicht geladen, sondern das ganze neue fenster inhaltlos dargestellt..
 
R

Roar

Gast
öhms... fügst du deine Komponenten dem fenster hinzu? :shock: gib dochmal code
 

Rydl

Bekanntes Mitglied
Das Programm läuft in nem Frame.
drück man auf den about-Button so wird diese methode zum öffnen eines neuen
fenster abgespielt:
Code:
  public void jMenuHelpAbout_actionPerformed(ActionEvent e) {
    glGUI_AboutBox dlg = new glGUI_AboutBox(this);
    Dimension dlgSize = dlg.getPreferredSize();
    Dimension frmSize = getSize();
    Point loc = getLocation();
    dlg.setLocation( (frmSize.width - dlgSize.width) / 2 + loc.x,
                    (frmSize.height - dlgSize.height) / 2 + loc.y);
    dlg.setModal(true);
    dlg.pack();
    dlg.show();
  }

Die Komponenten werden alle hinzugefügt, funktioniert ja nach dem selben prinzip wie im gui..
naja hier die aboutbox:

Code:
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;

public class glGUI_AboutBox extends JDialog implements ActionListener {

  JPanel panel1 = new JPanel();
  JPanel panel2 = new JPanel();
  JPanel insetsPanel1 = new JPanel();
  JPanel insetsPanel2 = new JPanel();
  JPanel insetsPanel3 = new JPanel();
  JButton button1 = new JButton();
  JLabel imageLabel = new JLabel();
  JLabel label1 = new JLabel();
  JLabel label2 = new JLabel();
  JLabel label3 = new JLabel();
  JLabel label4 = new JLabel();
  ImageIcon image1 = new ImageIcon();
  BorderLayout borderLayout1 = new BorderLayout();
  BorderLayout borderLayout2 = new BorderLayout();
  FlowLayout flowLayout1 = new FlowLayout();
  GridLayout gridLayout1 = new GridLayout();
  String product = "";
  String version = "1.0";
  String copyright = "Copyright (c) 2004";
  String comments = "";
  JLabel safari = new JLabel();
  ImageIcon image2 = new ImageIcon();

  public glGUI_AboutBox(Frame parent) {
    super(parent);
    enableEvents(AWTEvent.WINDOW_EVENT_MASK);
    try {
      jbInit();
    }
    catch(Exception e) {
      e.printStackTrace();
    }
  }

  glGUI_AboutBox() {
    this(null);
  }

  //Component initialization
  private void jbInit() throws Exception  {
    image1 = new ImageIcon(guestlistmanager.glGUI.class.getResource("about.png"));
    image2 = new ImageIcon(guestlistmanager.glGUI.class.getResource("safari.png"));
    imageLabel.setIcon(image1);
    this.setTitle("About");
    panel1.setLayout(borderLayout1);
    panel2.setLayout(borderLayout2);
    insetsPanel1.setLayout(flowLayout1);
    insetsPanel2.setLayout(flowLayout1);
    insetsPanel2.setBackground(Color.black);
    insetsPanel2.setBorder(BorderFactory.createEmptyBorder(10, 10, 10, 10));
    gridLayout1.setRows(4);
    gridLayout1.setColumns(1);
    label1.setForeground(Color.white);
    label1.setText("GästelistenManager - Safari Edition");
    label2.setFont(new java.awt.Font("MS Sans Serif", 0, 11));
    label2.setForeground(Color.white);
    label2.setText("Beta 0.5");
    label3.setForeground(Color.white);
    label3.setText("Copyright (c) 2004 BlaBlub");
    label4.setForeground(Color.white);
    label4.setText("http://rydl.ath.cx");
    insetsPanel3.setLayout(gridLayout1);
    insetsPanel3.setBackground(Color.black);
    insetsPanel3.setBorder(BorderFactory.createEmptyBorder(10, 60, 10, 10));
    button1.setBackground(Color.gray);
    button1.setAlignmentX((float) 0.0);
    button1.setText("Ok");
    button1.addActionListener(this);
    safari.setIcon(image2);
    insetsPanel1.setBackground(Color.black);
    panel1.setBackground(Color.black);
    insetsPanel2.add(imageLabel, null);
    panel2.add(insetsPanel2, BorderLayout.WEST);
    this.getContentPane().add(panel1, null);
    insetsPanel3.add(label1, null);
    insetsPanel3.add(label2, null);
    insetsPanel3.add(label3, null);
    insetsPanel3.add(label4, null);
    this.getContentPane().add(safari, BorderLayout.NORTH);
    panel2.add(insetsPanel3, BorderLayout.CENTER);
    insetsPanel1.add(button1, null);
    panel1.add(insetsPanel1, BorderLayout.SOUTH);
    panel1.add(panel2, BorderLayout.NORTH);
    setResizable(true);
  }

  //Overridden so we can exit when window is closed
  protected void processWindowEvent(WindowEvent e) {
    if (e.getID() == WindowEvent.WINDOW_CLOSING) {
      cancel();
    }
    super.processWindowEvent(e);
  }

  //Close the dialog
  void cancel() {
    dispose();
  }

  //Close the dialog on a button event
  public void actionPerformed(ActionEvent e) {
    if (e.getSource() == button1) {
      cancel();
    }
  }
}

btw. ich wollts mir mal wieder einfach machen, deshalb is hab ich nen automatisch generierten AboutDialog vom JBuilder genommen und optisch etwas umgestaltet...
 
Status
Nicht offen für weitere Antworten.

Ähnliche Java Themen

Neue Themen


Oben