Swing In GUI-Builder-JFrame mit Menü Schreiben und Zeichnen

Manni58

Mitglied
Hallo Ihr,

schreibe gerade eine grössere Applikation mit mehreren Klassen in einem Package. Es sind auch einige Netbeans-GuiBuilder Klassen dabei. Nachdem ich nun das Datenhändling inklusive aufwendiger Berechnungen fertig habe, möchte ich nun natürlich einige Texte und Zeichnungen in einem GUI-Builder Fenster darstellen. Erst habe ich es direkt versucht, da ich ja die Klassenzuordnung habe. Geht nicht. Keine Fehlermeldung aber nichts landet auf dem Bildschirm. Dann habe ich ein JWindow in das JFrame gepackt und versucht da hinein zu schreiben. Nada. Vielleicht mache ich da noch irgendwas mit Swing falsch. Habe so etwas vor vielen Jahren schonmal in C geschrieben. Mit der jetzigen Enwicklung bin ich auf Java umgestiegen. Habe mal einen kleine Ausschnitt aus dem Programm hier:

Java:
package astrojava;

/*
 * @author Manfred
 * @version 2.7.2012
 */

import java.util.*;
import java.io.*;
import java.awt.*;
import javax.swing.*;

public class AstroShow
{
    public static AutoJava aj = new AutoJava();
    public static AutoMenu am = new AutoMenu(); //ein GUI-Builder JFrame
    public static Font a,s,m;
    public static String fName;
       
    public static void LoadFonts(){
        try {
            File af = new File (aj.fontPath+"MVBOLI.TTF");
            FileInputStream in = new FileInputStream(af);
            Font dynamicFont = Font.createFont(Font.TRUETYPE_FONT, in);
            Font astroFont18 = dynamicFont.deriveFont(18f);
            fName = dynamicFont.getName();

            JWindow win = new JWindow(am);
            win.setSize(1010,690);
            am.setContentPane(win);
            JLabel t = new JLabel();
            t.setFont(astroFont18);
            t.setText(" Dynamically loaded font " + fName+" \n");
            win.add(t);
            win.setVisible(true);
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
            
    public static void ShowRadix(int rNr){
        
        System.out.println ("\nFontLoadingDemo\n"+aj.fontPath+"MVBOLI.TTF"+"\n");
        LoadFonts();
    }
}

Kann jemand einem Umsteiger helfen ? Was mach ich falsch ? Wahrscheinlich alles ... http://www.java-forum.org/images/smilies/embarrassed.gif
 
GuiBuilder weglassen wäre wohl das sauberste.
Erzeuge dir deine Grafikteile (Zeichnungen, Widgets, etc.) auf Klassen, die vom JPanel erben und bau dir ein sauberes JMenu.
Die packst du dann letztlich in einen JFrame, den du fix in der mainMethode erzeugst und schon ist dein Code sauber und du weisst, was drinsteht.

Gruß Vanny
 
vanny, genau so, wie Du vorschlägst, hatte ich mit dem Programm begonnen. Da funktionierte das auch mit JLabel und so. Aber mir ist dann klar geworden, dass die Benutzer-Schnittstelle noch viele Dialoge etc. benötigt und ich konnte mir vorstellen, was das für ein Aufwand ist. Dann ist mir der GUI-Builder über den Weg gelaufen und ich stellte fest, dass der Umgang mit das sehr komfortabel und schnell ist und habe jetzt schon einige Dialoge erstellt und integriert. nur jetzt gibt es halt das Problem, dass ich in so ein JFrame nichts reinbekomme. Habe mich schon dumm und dusselig gelesen. Irgendwas muss glaube ich mit set oder getContentPane passieren, glaube ich. Ich möchte mich halt vorwiegend mit meinem Programm beschäftigen und da kam mir die Arbeitserleichterung grad recht. Funktioniert ja auch alles ganz prima, nur das eine jetzt halt nicht. ;http://www.java-forum.org/images/smilies/cry.gif
 
vanny, genau so, wie Du vorschlägst, hatte ich mit dem Programm begonnen. Da funktionierte das auch mit JLabel und so. Aber mir ist dann klar geworden, dass die Benutzer-Schnittstelle noch viele Dialoge etc. benötigt und ich konnte mir vorstellen, was das für ein Aufwand ist. Dann ist mir der GUI-Builder über den Weg gelaufen und ich stellte fest, dass der Umgang mit das sehr komfortabel und schnell ist und habe jetzt schon einige Dialoge erstellt und integriert. nur jetzt gibt es halt das Problem, dass ich in so ein JFrame nichts reinbekomme. Habe mich schon dumm und dusselig gelesen. Irgendwas muss glaube ich mit set oder getContentPane passieren, glaube ich. Ich möchte mich halt vorwiegend mit meinem Programm beschäftigen und da kam mir die Arbeitserleichterung grad recht. Funktioniert ja auch alles ganz prima, nur das eine jetzt halt nicht.
 
Naja, wenn aber sowas, wie JWindow in einem GUIBuilderFrame(o0?? was soll das sein?eine Abwandlung vom JFrame?) ist schonmal Obermurks.

Und gerade beim GUIBuilder sollte man mit der GUIProgrammierung fitt sein, sonst rennt man nur mit Highspeed ins Caos. Das wird wohl auch dein Problem sein. Mit dem Code, den du da gepostet hast kann ich dir nicht viel mehr helfen. Vielleicht wird ja einem der hier herumfliegenden NetBeans-Handwerker klarer.😉

Gruß Vanny
 

Zurück
Oben