Erste Schritte Titel

Dave It

Mitglied
Hallo,
ich habe nur ein kleines problem.
muss hier am quelltext arbeiten das jemand anderes geschrieben hat und ich bin java anfänger.
daher wollte ich erst einmal klein anfangen und auf dem bereits vorhandenen fenster einen titel ausgeben.

hier der code
Java:
package messdatenauswertung;

import java.awt.*;
import java.awt.event.*;
import java.awt.image.BufferedImage;
import javax.swing.*;
import static messdatenauswertung.Messpunkt.*;
import static messdatenauswertung.Legende_Daten.*;
 
public class Start implements ActionListener{                                   //Interface ActionListener implementieren
    static BufferedImage img_plan = null;                                       //Bild(Lageplan)festlegen
    static JFrame frame_hauptfenster = new JFrame();                            //Hauptfenster festlegen
    static JPanel panel_buttons = new JPanel();                                 //3 Buttons festlegen
    static JButton btn_gebaeudeplan = new JButton("Gebäudeplan");
    static JButton btn_messpunkt = new JButton("Messpunkt");
    static JButton btn_auswertung = new JButton("Auswertung");
        
    static JPanel panel_darstellung= new JPanel() {                             //Darstellungspanel festlegen
        
        @Override
       public void paintComponent(Graphics g) 
            {
             g.drawImage(img_plan, 0, 0, (int) (Math.sqrt(2)*getHeight()), getHeight(), this);   //Bild "img_plan" darstellen ->
              }                                                                                  //(pos.2u3 Koord.,4u5Kasten für Bild,6 Observer für wann Bild gezeigt)
    };
    JMenuBar menuebar = new JMenuBar();                                         // Menüleiste erstellen
    JMenu menue_datei = new JMenu("Datei");
    JMenuItem item_beenden;
    
    public static void main(String[] args) {
        new Start().design();
             
    }
    private float CENTER_ALIGNMENT;
    
    private void design() {                                                      //Benutzeroberfläche erstellen
        frame_hauptfenster.setExtendedState(JFrame.MAXIMIZED_BOTH);
        frame_hauptfenster.setUndecorated(true);
        
        panel_darstellung.setLayout(null);
        frame_hauptfenster.getContentPane().add(panel_darstellung);  
        
        panel_buttons.setLayout(new BoxLayout(panel_buttons, BoxLayout.Y_AXIS));
        frame_hauptfenster.add(panel_buttons, BorderLayout.EAST);
        
        btn_gebaeudeplan.setToolTipText("Gebäudeplan laden");
        panel_buttons.add(btn_gebaeudeplan);
        btn_messpunkt.setToolTipText("Messpunkt festlegen");
        panel_buttons.add(btn_messpunkt);
        btn_auswertung.setToolTipText("Auswertung anzeigen");
        panel_buttons.add(btn_auswertung);
        btn_gebaeudeplan.setAlignmentX(CENTER_ALIGNMENT);
        btn_gebaeudeplan.setMaximumSize(new Dimension(Integer.MAX_VALUE, btn_gebaeudeplan.getMaximumSize().height));
        btn_messpunkt.setAlignmentX(CENTER_ALIGNMENT);
        btn_messpunkt.setMaximumSize(new Dimension(Integer.MAX_VALUE, btn_messpunkt.getMaximumSize().height));
        btn_auswertung.setAlignmentX(CENTER_ALIGNMENT);
        btn_auswertung.setMaximumSize(new Dimension(Integer.MAX_VALUE, btn_auswertung.getMaximumSize().height));
        btn_gebaeudeplan.addActionListener(this);
        btn_messpunkt.addActionListener(this);
        btn_auswertung.addActionListener(this);
                
        item_beenden = new JMenuItem("Beenden");
        item_beenden.addActionListener(this);
        menue_datei.add(item_beenden);
        menuebar.add(menue_datei);
        frame_hauptfenster.add(menuebar,BorderLayout.NORTH);
        frame_hauptfenster.setVisible(true);
        
        
    }

    @Override
    public void actionPerformed(ActionEvent e) {                                //Aufruf der einzelnen Klasse bei Betätigung der Buttons oder Items
        if (e.getSource() == btn_gebaeudeplan){
            if (img_plan == null){
                new Gebaeudeplan();
            }else{
                Object[] options = {"JA", "Nein"};
                int result = JOptionPane.showOptionDialog(null, "Neuen Bauplan laden?\nAlle Bearbeitungen gehen verloren!", "Warnung", JOptionPane.YES_NO_OPTION, JOptionPane.WARNING_MESSAGE,null, options, options[0]);
                if (result == JOptionPane.YES_OPTION){
                    hm_messpunkt.clear();
                    hm_pegeldarstellung.clear();
                    panel_darstellung.removeAll();
                    panel_darstellung.repaint();
                    new Gebaeudeplan();
                } 
            }
        }
        if (e.getSource() == btn_messpunkt){
            if (img_plan == null){
                JOptionPane.showMessageDialog(null, "Bitte erst Gebäudeplan laden!", "Fehler", JOptionPane.ERROR_MESSAGE);
            }else{
                panel_darstellung.setCursor(new Cursor(Cursor.HAND_CURSOR));
                btn_gebaeudeplan.setEnabled(false);
                btn_messpunkt.setEnabled(false);
                btn_auswertung.setEnabled(false);
                new Messpunkt();
            }
        }
        if (e.getSource() == btn_auswertung){
            if(hm_messpunkt.isEmpty()){
                JOptionPane.showMessageDialog(null, "Keine Auswertung möglich!\nBitte Messwerte hinzufügen!", "Fehler", JOptionPane.ERROR_MESSAGE);
            }else{
                new Auswertung();
            }
        }
        if (e.getSource() == item_beenden){
            Object[] options = {"JA", "Nein"};
            int result = JOptionPane.showOptionDialog(null, 
                    "Wollen sie die Anwendung wirklich beenden?\n"
                    + "Alle Bearbeitungen gehen verloren!", "Warnung", 
                    JOptionPane.YES_NO_OPTION, JOptionPane.WARNING_MESSAGE,null, 
                    options, options[0]);
            if (result == JOptionPane.YES_OPTION){
                System.exit(0);   
            } 
         
        }   
    }
    
   }
das ist nur ein teil..es bestehen noch mehrere andere klassen
ich dachte das ich einfach

frame_hauptfenster.setTitle("Messwertauswertung");

ergänzen kann..

bin über jede hilfe dankbar
 
Zuletzt bearbeitet:

X5-599

Top Contributor
Kannst du auch. Allerdings hast du ja durch die Zeile hier:
Java:
frame_hauptfenster.setUndecorated(true);
keine Titelleiste mehr.
 

Dave It

Mitglied
ja so einfach kann es manchmal sein
wenn ich einmal dabei bin.
ich bin wirklich blutiger anfänger mit java.
C hatte ich vor jahren mal.
ich muss jetzt an einem projekt weiter arbeiten an dem wirklich nix auskommentiert wurde.
könnt ihr mir tipps geben wie ich am besten lerne mit java umzugehen?

jetzt stellt sich mir die frage wie kann ich das programm mit dem x rechts oben richtig schließen und nicht das es nur verschwindet?

frame_hauptfenster.setDefaultCloseOperation(WindowsConstants.Exit_ON_CLOSE);

??
 
Zuletzt bearbeitet:

X5-599

Top Contributor
Schwierig. Es gibt natürlich ne Menge Tutorials im Netz. Die könntest du dir natürlich anschauen. Hier im Forum gibt's die FAQs. Da steht auch ne Menge drin.

Die Grundlagen sind halt wichtig. Klassen, Methoden, Objekte etc. für den Anfang.
Ansonsten lernt man auch viel wenn man einfach selber programmiert. Kleine Progrämmchen für überschaubare Problemstellungen.

Bei Fragen hier posten.


Zu deinem Edit:
frame_hauptfenster.setDefaultCloseOperation(WindowsConstants.Exit_ON_CLOSE);
sollte funktionieren. Ich nehme aber immer den JFrame.EXIT_ON_CLOSE. Ist genau dasselbe, aber man braucht nicht extra die WindowConstants Klasse importieren...
 

Ähnliche Java Themen

Neue Themen


Oben