Hilfe beim "Verknüpfen" von zwei Klasse

Hallo!
Wir versuchen ein Programm zu schreiben, welches eine von uns vorgegebene Berechnung durchführt. Leider sind wir aber absolute Neulinge. Wir haben auch unterschiedliche Klassen erstellt, welche durch Klicken auf unsere Buttons Zeichnungen aufrufen sollen. Leider funktioniert diese "Verknüpfung" nicht. Könnte uns da jemand helfen oder uns sagen was wir falsch machen? Wir arbeiten mit Eclipse.
Vielen Dank für eine Antwort!
 

Robat

Top Contributor
Hey JavaNeuling122,

es wäre einfacher für alle, wenn du die Klasse posten würdest (mittels java Code-Tags) und wir schauen was du da falsch gemacht hast. Bis ich (wir) uns jetzt durch alle deine Klassen durch gearbeitet haben vergeht mir zu viel zeit^^.
Wenn du den Code deines "Mainfenster", wo dein Menu zur Auswahl der Berechnung ist, postest bin ich gerne bereit dir zu helfen :)

Gruß
Robert
 
Java:
package berechnung;
import java.awt.BorderLayout;

import java.awt.Dimension;
import java.awt.FlowLayout;
import java.awt.GridLayout;
import java.awt.Toolkit;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.Arrays;

import javax.swing.BorderFactory;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JTable;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTextField;
import javax.swing.UIManager;

import visualisierungen.GrundrissPanel;
import visualisierungen.Schnitt;

import javax.swing.JOptionPane; // Hinweisfenster

public class LaMaAnwendungsfenster extends JFrame implements ActionListener {

    public static void main(String[] args) throws Exception {
        UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
        new LaMaAnwendungsfenster().setVisible(true);

    }

    // booleans für Ansichten
    boolean SchnittGrundriss;
    boolean StatSystem;
    boolean Querkraft;
    boolean Moment;
    boolean Uebersicht;
    boolean gesamt;
    boolean Hilfe;

    private void setAnsichtFalse() {
        this.SchnittGrundriss     = false;
        this.StatSystem         = false;
        this.Querkraft             = false;
        this.Moment             = false;
        this.Uebersicht         = false;
        this.Hilfe                 = false;
    }

    // Variablen erzeugen fÜr
    // Panel für graphische Darstellung
    private JPanel ausgabeGraphischPanel         = new JPanel();

    // Panel für Eingabe der Daten (links/"west")
    private JPanel WestPanel                     = new JPanel(new BorderLayout());

    // Panel für Grunddaten (links oben)
    private JPanel WertePanel                     = new JPanel(new BorderLayout());
    private JPanel LaengePanel                     = new JPanel(new FlowLayout(FlowLayout.LEFT));
    private JPanel BreitePanel                     = new JPanel(new FlowLayout(FlowLayout.LEFT));
    private JPanel GeschosshoehePanel             = new JPanel(new FlowLayout(FlowLayout.LEFT));
    private JPanel GeschossanzahlPanel             = new JPanel(new FlowLayout(FlowLayout.LEFT));
    private JPanel DeckenstaerkePanel             = new JPanel(new FlowLayout(FlowLayout.LEFT));
    private JPanel WandmaterialPanel             = new JPanel(new FlowLayout(FlowLayout.LEFT));
    private JPanel EingabeWertePanel             = new JPanel(new GridLayout(6, 2));

    // Textfelder für Grunddaten (links oben)
    private LaMaGebaeude LaMa                     = new LaMaGebaeude();
    private JTextField LaengeTxt                 = new JTextField("20.50");
    private JTextField BreiteTxt                 = new JTextField("20.80");
    private JTextField GeschosshoeheTxt         = new JTextField("2.60");
    private JTextField GeschossanzahlTxt         = new JTextField("3");
    private JTextField DeckenstaerkeTxt         = new JTextField("0.16");
    private JTextField WandmaterialTxt             = new JTextField("18.0");

    // Panel für Geschwindigkeitsdruck (links mitte)
    private JPanel WindPanel                     = new JPanel(new BorderLayout());
    private JPanel WindrPanel                     = new JPanel(new FlowLayout(FlowLayout.LEFT));
    private JPanel GeschwindigkeitsdruckPanel     = new JPanel(new FlowLayout(FlowLayout.LEFT));
    //private JPanel AnzahlwandxPanel             = new JPanel(new FlowLayout(FlowLayout.LEFT));
    //private JPanel AnzahlwandyPanel             = new JPanel(new FlowLayout(FlowLayout.LEFT));
    private JPanel EingabeWindPanel             = new JPanel(new GridLayout(2, 1));

    // Textfelder für Geschwindkeitsdruck(links mitte)
    private JTextField GeschwindigkeitsdruckTxt = new JTextField("0.65");
    private JTextField WindrTxt                 = new JTextField("0");

    // Tabelle für Wandscheiben (links unten)
    private JTable WandscheibenTable             = new JTable();
    private LaMaGebaeude wandscheibe;
    private WandscheibeToTableModelAdapter adapter;
    private JButton EinfuegeWandB                 = new JButton("Wand hinzufügen");
    private JButton EntfernenWandB                 = new JButton("Wand entfernen");
    private JPanel EingabeWandscheibenTable     = new JPanel(new GridLayout(2, 2));

    // Start+Hilfe+Beenden Button (unten/"south")
    private JButton StartB                         = new JButton("START");
    private JButton HilfeB                         = new JButton("HILFE");
    private JButton BeendenB                     = new JButton("BEENDEN");

    // Panel für Buttonreihe (mitte/"central")
    private JPanel ButtonPanel                     = new JPanel(new GridLayout(1, 5, 50, 0));
    private JPanel AuswahlPanel                 = new JPanel(new BorderLayout());
    private JButton SchnittGrundrissB             = new JButton("Schnitt/Grundriss");
    private JButton StatSystemB                 = new JButton("Statisches System");
    private JButton QuerkraftB                     = new JButton("Querkraft");
    private JButton MomentB                     = new JButton("Moment");
    private JButton UebersichtB                 = new JButton("Übersicht");

    // Panels Mitte
    private JPanel CenterPanel                     = new JPanel(new BorderLayout());

    // Panel Buttonleiste
    private JPanel SouthPanel                     = new JPanel(new FlowLayout(FlowLayout.CENTER));

    // Eingabemaske erzeugen
    public LaMaAnwendungsfenster() {
        setDefaultCloseOperation(EXIT_ON_CLOSE);
        setTitle("Berechnung: Lastverteilung infolge Wind bei Massivbauten (Flachdächer)");
        setLayout(new BorderLayout(5, 5));
        int maxWidth     = (int) Toolkit.getDefaultToolkit().getScreenSize().getWidth();
        int width         = Math.min(1500, maxWidth);
        setSize(width, 875);
        setMinimumSize(new Dimension(width, 700));

        // Zuhören auf Events(Eingabe) der Buttons eingeschaltet
        this.StartB.addActionListener(this);
        this.HilfeB.addActionListener(this);
        this.BeendenB.addActionListener(this);
        this.SchnittGrundrissB.addActionListener(this);
        this.StatSystemB.addActionListener(this);
        this.QuerkraftB.addActionListener(this);
        this.MomentB.addActionListener(this);
        this.UebersichtB.addActionListener(this);

        // "Haupt-Panels" der Eingabemaske hinzufuegen + Ausrichtung
        add(createWestPanel(), BorderLayout.WEST);
        add(createSouthPanel(), BorderLayout.SOUTH);
        add(createCenterPanel(), BorderLayout.CENTER);
    }

    // Einzelne Bereiche des West-Panels (linker Bereich der Eingabemaske)
    // hinzufügen
    private JPanel createWestPanel() {
        WestPanel.add(createWertePanel(), BorderLayout.NORTH);             // Links oben
        WestPanel.add(createWindPanel(), BorderLayout.CENTER);             // Links mitte
        WestPanel.add(createWandscheibenTable(), BorderLayout.SOUTH);     // Links
                                                                        // unten
        return WestPanel;
    }

    // Einzelne Bereiche des Center-Panels (mittlerer Bereich der Eingabemaske)
    // hinzufügen
    private JPanel createCenterPanel() {
        CenterPanel.add(createAuswahlPanel(), BorderLayout.SOUTH);
        CenterPanel.add(createGraphischPanel(), BorderLayout.NORTH);
        CenterPanel.setSize(new Dimension(250, 200));
        return CenterPanel;
    }

    // Einzelne Buttons des South-Panels (unterer Bereich der Eingabemaske)
    // hinzufügen
    private JPanel createSouthPanel() {
        SouthPanel.add(this.StartB);
        SouthPanel.add(this.HilfeB);
        SouthPanel.add(this.BeendenB);
        return SouthPanel;
    }

    // Panels und Textfelder formatieren
    // Eingabe Grunddaten (links oben - West-Panel > North)

    private JPanel createWertePanel() {
        WertePanel.setSize(new Dimension(350, 550));

        // Länge
        LaengeTxt.setPreferredSize(new Dimension(60, 20)); // Eingabefeld
                                                            // erzeugen
        LaengePanel.add(this.LaengeTxt); // Eingabefeld hinzufügen
        LaengePanel.add(new JLabel("m", JLabel.LEFT)); // Label erzeugen und zu
                                                        // Eingabefeld
                                                        // hinzufügen
        EingabeWertePanel.add(new JLabel("Länge", JLabel.LEFT)); // Label
                                                                    // erzeugen
                                                                    // und
                                                                    // hinzufügen
        EingabeWertePanel.add(LaengePanel); // Eingabeld hinzufügen

        // Breite
        BreiteTxt.setPreferredSize(new Dimension(60, 20));
        BreitePanel.add(this.BreiteTxt);
        BreitePanel.add(new JLabel("m", JLabel.LEFT));
        EingabeWertePanel.add(new JLabel("Breite", JLabel.LEFT));
        EingabeWertePanel.add(BreitePanel);

        // Geschossanzahl
        GeschossanzahlTxt.setPreferredSize(new Dimension(60, 20));
        GeschossanzahlPanel.add(this.GeschossanzahlTxt);
        GeschossanzahlPanel.add(new JLabel("-", JLabel.LEFT));
        EingabeWertePanel.add(new JLabel("Geschossanzahl     ", JLabel.LEFT));
        EingabeWertePanel.add(GeschossanzahlPanel);

        // Geschosshoehe
        GeschosshoeheTxt.setPreferredSize(new Dimension(60, 20));
        GeschosshoehePanel.add(this.GeschosshoeheTxt);
        GeschosshoehePanel.add(new JLabel("m", JLabel.LEFT));
        EingabeWertePanel.add(new JLabel("Geschosshöhe", JLabel.LEFT));
        EingabeWertePanel.add(GeschosshoehePanel);

        // Deckenstaerke
        DeckenstaerkeTxt.setPreferredSize(new Dimension(60, 20));
        DeckenstaerkePanel.add(this.DeckenstaerkeTxt);
        DeckenstaerkePanel.add(new JLabel("m", JLabel.LEFT));
        EingabeWertePanel.add(new JLabel("Deckenstärke", JLabel.LEFT));
        EingabeWertePanel.add(DeckenstaerkePanel);

        // Wandmaterial
        WandmaterialTxt.setPreferredSize(new Dimension(60, 20));
        WandmaterialPanel.add(this.WandmaterialTxt);
        WandmaterialPanel.add(new JLabel("kN/m³", JLabel.LEFT));
        EingabeWertePanel.add(new JLabel("Wandmaterial", JLabel.LEFT));
        EingabeWertePanel.add(WandmaterialPanel);

        // Rahmen um Eingabefelde Grunddaten
        WertePanel.setBorder(BorderFactory.createTitledBorder("Eingabe: Grunddaten des Gebäudes"));
        WertePanel.add(EingabeWertePanel, BorderLayout.WEST);
        return WertePanel;
    }

    // Eingabe Windlastzone (links mitte - West-Panel > Center)
    private JPanel createWindPanel() {
        WindPanel.setPreferredSize(new Dimension(350, 300));

        // Windrichtung
        WindrTxt.setPreferredSize(new Dimension(60, 20));
        WindrPanel.add(this.WindrTxt);
        WindrPanel.add(new JLabel("x=o; y=1", JLabel.LEFT));
        EingabeWindPanel.add(new JLabel("Windrichtung", JLabel.LEFT));
        EingabeWindPanel.add(WindrPanel);

        // Geschwindigkeitsdruck
        GeschwindigkeitsdruckTxt.setPreferredSize(new Dimension(60, 20));
        GeschwindigkeitsdruckPanel.add(this.GeschwindigkeitsdruckTxt);
        GeschwindigkeitsdruckPanel.add(new JLabel("kN/m²", JLabel.LEFT));
        EingabeWindPanel.add(new JLabel("Geschwindigkeitsdruck     ", JLabel.LEFT));
        EingabeWindPanel.add(GeschwindigkeitsdruckPanel);

        // Rahmen um Eingabefelder Wind
        WindPanel.setBorder(BorderFactory.createTitledBorder("Eingabe: Windlasten"));
        WindPanel.add(EingabeWindPanel, BorderLayout.WEST);
        return WindPanel;
    }

    // Eingabe Wandscheiben (links unten - West-Panel > South)
    private JPanel createWandscheibenTable() {
        JPanel WanscheibeTab = new JPanel(new BorderLayout());
        WanscheibeTab.setPreferredSize(new Dimension(350, 500));

        this.wandscheibe = new LaMaGebaeude();
       
        this.wandscheibe.setlae(Double.parseDouble(LaengeTxt.getText()));
        this.wandscheibe.setbre(Double.parseDouble(BreiteTxt.getText()));;
       
       
        wandscheibe.setGeschossAnzahl(Integer.parseInt(GeschossanzahlTxt.getText()));
       
        this.ausgabeGraphischPanel.add(new GrundrissPanel(wandscheibe,wandscheibe.getBreite(),wandscheibe.getLaenge()),BorderLayout.LINE_START);
        this.ausgabeGraphischPanel.add(new Schnitt(wandscheibe),BorderLayout.LINE_END);
       
        this.adapter = new WandscheibeToTableModelAdapter(this.wandscheibe);
        this.WandscheibenTable = new JTable(this.adapter);

        this.EntfernenWandB.addActionListener(this);
        this.EinfuegeWandB.addActionListener(this);

        WanscheibeTab.add(new JScrollPane(this.WandscheibenTable), BorderLayout.CENTER);

        JPanel t1 = new JPanel(new FlowLayout(FlowLayout.LEFT));
        t1.add(this.EinfuegeWandB);
        t1.add(this.EntfernenWandB);
        WanscheibeTab.add(t1, BorderLayout.SOUTH);

        // Rahmen um Eingabefelder Wind
        WanscheibeTab.setBorder(BorderFactory.createTitledBorder("Eingabe: Wandscheiben"));
        WanscheibeTab.add(EingabeWandscheibenTable, BorderLayout.WEST);

        return WanscheibeTab;
    }

    // Graphische Darstellung (mitte oben > Center-Panel > North)
    private JPanel createGraphischPanel() {
        //ausgabeGraphischPanel.setPreferredSize(new Dimension(10, 780));
        this.ausgabeGraphischPanel.setLayout(new BorderLayout());
        this.ausgabeGraphischPanel.add(new JLabel("Graphische Darstellung", JLabel.CENTER));
        this.ausgabeGraphischPanel.setBorder(BorderFactory.createTitledBorder("Graphisch"));
        this.ausgabeGraphischPanel.add(new GrundrissPanel(wandscheibe));
       
        return ausgabeGraphischPanel;
    }

    // Buttonleiste (mitte unten > Center-Panel > South)
    private JPanel createAuswahlPanel() {
        // Einzelne Buttons in Center-Panel > South hinzufügen
        ButtonPanel.add(this.SchnittGrundrissB);
        ButtonPanel.add(this.StatSystemB);
        ButtonPanel.add(this.QuerkraftB);
        ButtonPanel.add(this.MomentB);
        ButtonPanel.add(this.UebersichtB);

        // Anordnung
        AuswahlPanel.setBorder(BorderFactory.createTitledBorder("Gaphische Ausgabeoptionen"));
        AuswahlPanel.add(ButtonPanel, BorderLayout.CENTER);

        return AuswahlPanel;
    }

    // Start Ausgabe
    private void setfalsch() {
        this.SchnittGrundrissB.setSelected(false);
        this.StatSystemB.setSelected(false);
        this.QuerkraftB.setSelected(false);
        this.MomentB.setSelected(false);
        this.UebersichtB.setSelected(false);
    }

    // Buttons funktionen zuweisen
    public void actionPerformed(ActionEvent e) {
        if (e.getSource() == this.BeendenB) {
           
            /*
             * Aktion beim drueken des Buttons:
             *
             * BEENDEN
             *
             */
            JOptionPane.showMessageDialog(null, "BeendenB", "Button", JOptionPane.INFORMATION_MESSAGE);         // TODO nur zur Hilfe, später löschen
            System.exit(0);
        } else if (e.getSource() == this.EinfuegeWandB) {
            /*
             * Aktion beim drueken des Buttons:
             *
             * Wand hinzufügen
             *
             */
            JOptionPane.showMessageDialog(null, "EinfuegeWandB", "Button", JOptionPane.INFORMATION_MESSAGE);     // TODO nur zur Hilfe, später löschen
            this.adapter.EinfuegeWand(0, 0, 0, 0, 0);
        } else if (e.getSource() == this.EntfernenWandB) {
            /*
             * Aktion beim drueken des Buttons:
             *
             * Wand entfernen
             *
             */
            JOptionPane.showMessageDialog(null, "EntfernenWandB", "Button", JOptionPane.INFORMATION_MESSAGE);     // TODO nur zur Hilfe, später löschen
            this.adapter.EntferneWand(this.WandscheibenTable.getSelectedRow());
            /*
             * } else if (e.getSource() == this.HilfeB){
             * JOptionPane.showMessageDialog(null, "HilfeB", "Button",
             * JOptionPane.INFORMATION_MESSAGE); // TODO nur zur Hilfe, später
             * löschen this.Hilfe.HilfeFenster(); this.HilfeB.setSelected(true);
             * this.setAnsichtFalse(); this.HilfeB = true;
             */
        } else if (e.getSource() == this.StartB) {
            /*
             * Aktion beim drueken des Buttons:
             *
             * START
             *
             */
            JOptionPane.showMessageDialog(null, "StartB", "Button", JOptionPane.INFORMATION_MESSAGE); // TODO nur  zur Hilfe, später löschen
       
            this.ausgabeGraphischPanel.revalidate();
        //    this.ausgabeGraphischPanel.add(new GrundrissPanel(wandscheibe,wandscheibe.getBreite(),wandscheibe.getLaenge()),BorderLayout.LINE_START);
            //this.ausgabeGraphischPanel.add(new Schnitt(wandscheibe),BorderLayout.LINE_END);
        //    ausgabeGraphischPanel.repaint();
           
            this.LaMa.setlae(Double.parseDouble(this.LaengeTxt.getText()));
            this.LaMa.setbre(Double.parseDouble(this.BreiteTxt.getText()));
            this.LaMa.setgesh(Double.parseDouble(this.GeschosshoeheTxt.getText()));
            this.LaMa.setgesa(Integer.parseInt(this.GeschossanzahlTxt.getText()));
            this.LaMa.setdest(Double.parseDouble(this.DeckenstaerkeTxt.getText()));
            this.LaMa.setwandm(Double.parseDouble(this.WandmaterialTxt.getText()));
            this.LaMa.setgeschwindd(Double.parseDouble(this.GeschwindigkeitsdruckTxt.getText()));
            this.LaMa.setwindr(Double.parseDouble(this.WindrTxt.getText()));

            System.out.println("-=== Wandscheiben (LaMaAnwendungsfenster) ===-\n" + "Anzahl Waende: "
                    + this.adapter.getRowCount() + "\nAnzahl Waende: " + wandscheibe.countWandkoordinaten()
                    + "\nWert 1 der 1. Wand: " + this.adapter.getValueAt(0, 0) + "\nArray mit allen Waenden: "
                    + WandscheibenTable.getComponents() + "\n-===-");

            // System.out.println(Arrays.asList(WandscheibenTable.getComponents()));

            // Arrays für tabellarische Eingabe Wandscheiben

            double[] xkoA = new double[this.adapter.getRowCount()];
            double[] ykoA = new double[this.adapter.getRowCount()];
            double[] wanddA = new double[this.adapter.getRowCount()];
            double[] richA = new double[this.adapter.getRowCount()];
            double[] laewA = new double[this.adapter.getRowCount()];

            // Spalten fest/ Zeilen variabel

            for (int i = 0; i < this.adapter.getRowCount(); i++) {
                xkoA[i] = Double.parseDouble(this.adapter.getValueAt(i, 0).toString());
                ykoA[i] = Double.parseDouble(this.adapter.getValueAt(i, 1).toString());
                wanddA[i] = Double.parseDouble(this.adapter.getValueAt(i, 2).toString());
                laewA[i] = Double.parseDouble(this.adapter.getValueAt(i, 3).toString());
                richA[i] = Double.parseDouble(this.adapter.getValueAt(i, 4).toString());
            }
            this.LaMa.setWaende(this.adapter.getRowCount(), xkoA, ykoA, wanddA, laewA, richA);
            // TODO kann weg!
            System.out.println("-=== xkoA ===-");
            System.out.println(Arrays.toString(xkoA));
            System.out.println("-=== ykoA ===-");
            System.out.println(Arrays.toString(ykoA));
            System.out.println("-=== wanddA ===-");
            System.out.println(Arrays.toString(wanddA));
            System.out.println("-=== laewA ===-");
            System.out.println(Arrays.toString(laewA));
            System.out.println("-=== richA ===-");
            System.out.println(Arrays.toString(richA));

            this.LaMa.berechne();
            this.ausgabeGraphischPanel.removeAll();

        if (SchnittGrundriss) {
                this.SchnittGrundrissB.setSelected(true);
                this.ausgabeGraphischPanel.add(new GrundrissPanel(this.LaMa));
            } else if (Uebersicht) {
                this.UebersichtB.setSelected(true);
                this.ausgabeGraphischPanel.add(new Schnitt(this.LaMa));
            } else if (StatSystem) {
                this.StatSystemB.setSelected(true);
                this.ausgabeGraphischPanel.add(new LaMaDarstellungStatSystem(this.LaMa));
            } else if(Querkraft) {
                 this.QuerkraftB.setSelected(true);
                 this.ausgabeGraphischPanel.add(new LaMaDarstellungQuerkraft(this.LaMa));
            } else if (Moment) {
                this.MomentB.setSelected(true);
                this.ausgabeGraphischPanel.add(new LaMaDarstellungMoment(this.LaMa));
            } else if (Hilfe) {
                this.HilfeB.setSelected(true);
                this.ausgabeGraphischPanel.add(new HilfeFenster());
        //    } else  {
            //    this.ausgabeGraphischPanel.removeAll();
                //this.setfalsch();
            }
        }
        else {
            actionPerformed(new ActionEvent(this.StartB,
                    ActionEvent.ACTION_FIRST, ""));
           
            this.ausgabeGraphischPanel.removeAll();
           

            this.setfalsch();
       
        if (e.getSource() == this.SchnittGrundrissB || e.getSource() == this.SchnittGrundrissB) {
            /*
             * Aktion beim drueken des Buttons:
             *
             * Schnitt/Grundriss
             *
             */
   
            JOptionPane.showMessageDialog(null, "SchnittGrundrissB", "Button", JOptionPane.INFORMATION_MESSAGE); // TODO nur zur Hilfe, später löschen
            this.SchnittGrundrissB.setSelected(true);
            this.ausgabeGraphischPanel.add(new GrundrissPanel(this.LaMa));
            this.setAnsichtFalse();
            this.SchnittGrundriss = true;
        } else if (e.getSource() == this.StatSystemB) {
            /*
             * Aktion beim drueken des Buttons:
             *
             * Statisches System
             *
             */
            JOptionPane.showMessageDialog(null, "StatSystemB", "Button", JOptionPane.INFORMATION_MESSAGE); // TODO nur zur Hilfe, später löschen
            this.StatSystemB.setSelected(true);
            this.ausgabeGraphischPanel.add(new LaMaDarstellungStatSystem(this.LaMa));
            this.setAnsichtFalse();
            this.StatSystem = true;
        } else if (e.getSource() == this.QuerkraftB) {
            /*
             * Aktion beim drueken des Buttons:
             *
             * Querkraft
             *
             */
            JOptionPane.showMessageDialog(null, "QuerkraftB", "Button", JOptionPane.INFORMATION_MESSAGE); // TODO nur zur Hilfe, später löschen
            this.QuerkraftB.setSelected(true);
            this.ausgabeGraphischPanel.add(new LaMaDarstellungQuerkraft(this.LaMa));
            this.setAnsichtFalse();
            this.Querkraft = true;
        } else if (e.getSource() == this.MomentB) {
            /*
             * Aktion beim drueken des Buttons:
             *
             * Moment
             *
             */
            JOptionPane.showMessageDialog(null, "MomentB", "Button", JOptionPane.INFORMATION_MESSAGE); // TODO nur zur Hilfe, später löschen
            this.MomentB.setSelected(true);
            this.ausgabeGraphischPanel.add(new LaMaDarstellungMoment(this.LaMa));
            this.setAnsichtFalse();
            this.Moment = true;
        } else if (e.getSource() == this.UebersichtB) {
            /*
             * Aktion beim drueken des Buttons:
             *
             * Übersicht
             *
             */
            JOptionPane.showMessageDialog(null, "UebersichtB", "Button", JOptionPane.INFORMATION_MESSAGE); // TODO nur zur Hilfe, später löschen
            this.UebersichtB.setSelected(true);
            //this.ausgabeGraphischPanel.add(new LaMaDarstellungUebersicht(this.LaMa));
            this.setAnsichtFalse();
            this.Uebersicht = true;
        } else if (e.getSource() == this.HilfeB) {
            /*
             * Aktion beim drueken des Buttons:
             *
             * HILFE
             *
             */
            JOptionPane.showMessageDialog(null, "HilfeB", "Button", JOptionPane.INFORMATION_MESSAGE); // TODO nur zur Hilfe, später löschen
            this.HilfeB.setSelected(true);
            HilfeFenster hilfefenster=new HilfeFenster();
            hilfefenster.show();
           
            this.setAnsichtFalse();
            this.Hilfe = true;
            this.ausgabeGraphischPanel.validate();
        }
        this.ausgabeGraphischPanel.validate();
    }
}
}
 

Robat

Top Contributor
Und was genau funktioniert nicht? Geht er gar nicht erst in deine If-Verzweigung rein?
Zeigt er deine Dialog nicht an?
Oder was genau funktioniert nicht.

Genaue Angaben wären hilfreich ;)
 
Wenn man auf dem Button StartB klickt sollte die Berechnung durchlaufen. Das scheint auch zu funktionieren.
Und dann möchte ich z.B. das wenn man auf den Button QuerkraftB klickt, dass in dem "GraphischPanel" die in der Klasse LaMaDarstellungQuerkraft erstellte Zeichnung angezeigt wird. Wenn man auf dem Button MomentB soll die Zeichnung aus der Klasse LaMaDarstellungMoment angezigt werden usw.
Aber leider zeigt er irgendwie nichts an.
 

Robat

Top Contributor
Also die Antwort meiner Seits wird wahrscheinlich erst morgen kommen, da es doch recht viel Code ist, in den man sich einarbeiten muss.
Dein Problem habe ich verstanden -nur noch eine Frage: bekommst du irgendeine Exception?
 
Nein, also soweit wir das erkennen können nicht. Es erscheint leider beim Klicken der Buttons QuerkraftB, MomentB, statSystB, etc. nur nochmal der Text des Buttons StartB, welchen wir zu Kontrolle eingegeben haben. Aber leider erschient nicht die Zeichung.
 

Thallius

Top Contributor
Wenn ich das richtig überflogen habe, machst du nach jedem add auf das Grafikpanel am Ende der If/Else Abfragen wieder ein removeAll(). Das würde klären warum nie was drin ist.

Es würde allerdings Sinn machen sich einmal mit dem Debugger von Eclipse auseinander zu setzen. für genau so etwas ist er schließlich da.

Gruß

Claus
 

Robat

Top Contributor
Wenn ich das richtig überflogen habe, machst du nach jedem add auf das Grafikpanel am Ende der If/Else Abfragen wieder ein removeAll(). Das würde klären warum nie was drin ist.

Es würde allerdings Sinn machen sich einmal mit dem Debugger von Eclipse auseinander zu setzen. für genau so etwas ist er schließlich da.

Gruß

Claus

Mich würde auch mal interessieren, warum du removeAll() aufrufst.
 

Meniskusschaden

Top Contributor
Nein, also soweit wir das erkennen können nicht. Es erscheint leider beim Klicken der Buttons QuerkraftB, MomentB, statSystB, etc. nur nochmal der Text des Buttons StartB, welchen wir zu Kontrolle eingegeben haben. Aber leider erschient nicht die Zeichung.
Du rufst innerhalb der actionPerformed-Methode ein weiteres Mal actionPerformed() mit einem selbst erzeugten Ereignis auf. Warum du das tust kann ich bisher nicht nachvollziehen, aber es ist vermutlich die Ursache für das erneute Anzeigen von StartB.

Vielleicht hilft es, nach dem Hinzufügen von LaMaDarstellungQuerkraft einmal revalidate auf dem Anwendungsfenster aufzurufen.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
Kerstininer Vererbung Hilfe beim lernen von Objektorientierung für eine Klausur Java Basics - Anfänger-Themen 10
A Hilfe beim Lesen von Pfaden und Systemvariablen Java Basics - Anfänger-Themen 3
X Hilfe beim Übertragen in eine For-Schleife Java Basics - Anfänger-Themen 1
C Brauche Hilfe beim Schreiben eines Programmes :/ Java Basics - Anfänger-Themen 1
D Hilfe beim Erzeugen eines Arrays NullPointerException wird ausgelöst Java Basics - Anfänger-Themen 11
pry bitte Hilfe beim Kreditrechner objektorientiert Java Basics - Anfänger-Themen 6
J Hilfe beim Label animieren Java Basics - Anfänger-Themen 1
J Hilfe beim verstehen Java Basics - Anfänger-Themen 3
L Anfänger braucht Hilfe - Stecke beim Lernen fest Java Basics - Anfänger-Themen 10
Bluedaishi Hilfe beim erklären dieser Methode Java Basics - Anfänger-Themen 5
J Hilfe beim Programmieren Java Basics - Anfänger-Themen 5
L Brauche Hilfe beim arbeiten mit Konstruktoren Java Basics - Anfänger-Themen 20
L Kleine Hilfe beim Schreiben eines Programmes benötigt :D Java Basics - Anfänger-Themen 40
W Hilfe beim Chat Programm Java Basics - Anfänger-Themen 14
S Erste Schritte Hilfe beim lernen von Programmieren Java Basics - Anfänger-Themen 2
der_Schokomuffin Hilfe gesucht beim Thema Objekte übergeben! Java Basics - Anfänger-Themen 2
J Hilfe beim Runden Java Basics - Anfänger-Themen 4
F (Eclipse) Beim importieren etwas fehlerhaft bitte um Hilfe :) Java Basics - Anfänger-Themen 3
V Erste Schritte Hilfe gesucht beim einstieg in Java und erste Aufgaben aus der Berufsschule Java Basics - Anfänger-Themen 9
S Compiler-Fehler Anfänger sucht Hilfe. Fehler beim Compilieren Java Basics - Anfänger-Themen 6
I Hilfe beim löschen von Buchstaben. Java Basics - Anfänger-Themen 1
I Hilfe beim löschen schon Buchstaben. Java Basics - Anfänger-Themen 4
B Hilfe beim Kreisberechnungsprogramm Java Basics - Anfänger-Themen 6
D Hilfe beim übersetzen in der Klasse Throwable Java Basics - Anfänger-Themen 2
S Datentypen Hilfe beim Typecasting Java Basics - Anfänger-Themen 7
F Erste Schritte Hilfe beim Algorithmus finden Java Basics - Anfänger-Themen 8
R Brauche Hilfe beim fertigstellen eines Chat programms Java Basics - Anfänger-Themen 8
H Hilfe beim Programmablaufplan Java Basics - Anfänger-Themen 2
C Hilfe beim Zeichnen Java Basics - Anfänger-Themen 8
P Hilfe beim einlesen eines Textes Java Basics - Anfänger-Themen 11
B Hilfe beim Verständnis zu Generics Java Basics - Anfänger-Themen 7
D Hilfe beim SDF Datum Ausgabe Java Basics - Anfänger-Themen 20
S brauche hilfe beim fehler finden Java Basics - Anfänger-Themen 2
B Co2 rechner hilfe beim programmieren Java Basics - Anfänger-Themen 10
D Hilfe beim einlesen eines Strings mit Leerzeichen Java Basics - Anfänger-Themen 16
C Brauche dringend hilfe beim exception im code Java Basics - Anfänger-Themen 5
E Hilfe beim Einstieg Java Basics - Anfänger-Themen 46
T brauche HILFE beim Junit test:eek: Java Basics - Anfänger-Themen 11
P HILFE !!! erste aufgabe beim programmieren Java Basics - Anfänger-Themen 13
S Bisschen hilfe beim Sudoku Lösen benötigt Java Basics - Anfänger-Themen 7
V Hilfe beim implementieren von Iterator Java Basics - Anfänger-Themen 5
Y Brauche Hilfe beim Programm Java Basics - Anfänger-Themen 83
Developer_X Hilfe beim umbauen von Strings Java Basics - Anfänger-Themen 4
S Bitte um Hilfe beim unsortierten Binärbaum!! Java Basics - Anfänger-Themen 6
M Brauche Hilfe beim Verstehen vom Quellcode Java Basics - Anfänger-Themen 4
G Fehler beim Ausführen HILFE! Java Basics - Anfänger-Themen 12
V Brauche Hilfe beim Programmieren Java Basics - Anfänger-Themen 3
V Brauche Hilfe beim Programmieren Java Basics - Anfänger-Themen 9
A Hilfe beim "übersetzen" Java Basics - Anfänger-Themen 7
O Linux - Fehler beim kompilieren - HILFE Java Basics - Anfänger-Themen 4
S brauche hilfe beim dateien kopieren / bearbeiten Java Basics - Anfänger-Themen 3
E brauche hilfe beim KeyListener Java Basics - Anfänger-Themen 4
S Hilfe beim Einlesen Java Basics - Anfänger-Themen 6
K Hilfe beim starten eines Programms! Bitte helfen. Java Basics - Anfänger-Themen 8
D Hilfe beim Übergeben vom JTextfield Java Basics - Anfänger-Themen 2
E hilfe beim code Java Basics - Anfänger-Themen 3
I Hilfe beim Java-Applet Beispiel Java Basics - Anfänger-Themen 27
G Hilfe zur einer Aufgabe: Datumsüberprüfung beim Gregorianis Java Basics - Anfänger-Themen 2
K Brauche Hilfe beim Programmieren eines Funktionsplotters Java Basics - Anfänger-Themen 3
B Hilfe beim Schüler-Project Java Basics - Anfänger-Themen 4
G Hilfe beim addieren(Anfänger) Java Basics - Anfänger-Themen 12
F Hilfe beim Zeichnen in JPanel Java Basics - Anfänger-Themen 2
L Kompletter Neuling: Hilfe beim ersten Java Versuchen Java Basics - Anfänger-Themen 12
F Hilfe beim erstellen von Jar files! Java Basics - Anfänger-Themen 2
A Hilfe beim Java-Einstieg Java Basics - Anfänger-Themen 3
R Umgebungsvariable java -cp gibt immer Java-Hilfe... Java Basics - Anfänger-Themen 3
E Hilfe bei rekursiver Funktion Java Basics - Anfänger-Themen 3
H pdf stempel - Hilfe erbeten Java Basics - Anfänger-Themen 6
KogoroMori21 Wann ist der richtige Zeitpunkt, um sich Hilfe zu suchen? (Bin Informatik-Student) Java Basics - Anfänger-Themen 10
F RegEx Hilfe Java Basics - Anfänger-Themen 5
S Hilfe bei Endlosschleife Java Basics - Anfänger-Themen 2
S Hilfe bei Praktischen Aufgaben von Arrays Java Basics - Anfänger-Themen 39
U Ich bräuchte Hilfe Java Basics - Anfänger-Themen 1
Say abstract class und Objekt erzeugen - Dringend Hilfe Java Basics - Anfänger-Themen 10
Justin4687 Benötige Hilfe bei folgender Aufgabe Java Basics - Anfänger-Themen 2
aero043 Hilfe bei BlueJ Hausübung Java Basics - Anfänger-Themen 27
S Hilfe zu einer Aufgabe Java Basics - Anfänger-Themen 5
P Hilfe gesucht Java Basics - Anfänger-Themen 11
D Hilfe bei Calculator Test Java Basics - Anfänger-Themen 15
R Hilfe bei Aufgabe Java Basics - Anfänger-Themen 4
Zentriks Hilfe zu Sieb des Eratosthenes ohne boolean Java Basics - Anfänger-Themen 5
R Java Bücher hilfe Java Basics - Anfänger-Themen 9
U HILFE! - per ActionListener Felder enablen....... Java Basics - Anfänger-Themen 5
I Scheduling: "Quartz" verwenden, Hilfe bei Umstellung Java Basics - Anfänger-Themen 3
I Hilfe bei Klausur Frage Java Basics - Anfänger-Themen 8
L Hilfe! Liste mit Items werden ausgegeben aber nicht in zufälliger Reihenfolge Java Basics - Anfänger-Themen 6
Ekooekoo Hilfe spiel Java Basics - Anfänger-Themen 5
SpiritsHuner Hilfe!! Java Basics - Anfänger-Themen 16
Lacotto Java Kurs Aufgaben Hilfe Java Basics - Anfänger-Themen 14
V Hilfe bei Implementierung einer boolean Methode Java Basics - Anfänger-Themen 6
M HILFE JPanel - Graphics Java Basics - Anfänger-Themen 1
D Hilfe bei einer Aufgabe mit for-Schleife Java Basics - Anfänger-Themen 6
Neuling47 Denkfehler? Hilfe Java Basics - Anfänger-Themen 11
S Hilfe bei Umänderung von Java Code Java Basics - Anfänger-Themen 16
Robert_Klaus Hamster java Simulation Hilfe bei einer Aufgabe Java Basics - Anfänger-Themen 5
X Erste Schritte Hilfe bei einem kleinen Spiel. Java Basics - Anfänger-Themen 19
D Bitte um Hilfe muss es schnellstmöglich erledigen Java Basics - Anfänger-Themen 15
L Hilfe bei RegEx Java Basics - Anfänger-Themen 4
I Bitte um Hilfe zu unterstehenden Code Java Basics - Anfänger-Themen 6
B Brauche Hilfe zu einem Code Java Basics - Anfänger-Themen 5

Ähnliche Java Themen

Neue Themen


Oben