M
Mumpelwutz
Gast
Im folgenden Programm habe ich ein Problem Mit der Darstellung von BorderLayout. Meines Wissens sollte es so, wie es da steht nicht zu so übertriebenen Überlappungen kommen. Wäre schön wenn mir dabei jmd helfen kann 
Danke im vorraus schonmal
Danke im vorraus schonmal
Java:
import java.awt.BorderLayout;
import java.awt.Container;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.*;
import java.awt.*;
import java.text.*;
import java.util.*;
import javax.swing.JFrame;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;
import javax.swing.event.*;
import javax.swing.*;
public class Schuhkalkulator extends JFrame implements Runnable{
SimpleDateFormat sdf, sdf1;
JMenu jm_uhr;
private int anzeige = 0;
private JProgressBar jpb_prozent;
private JTextField jtf_fusslaengecm1;
private JTextField jtf_schuhgroesse1;
private JTextField jtf_schuhgroesse2;
private JTextField jtf_fusslaengecm2;
public Schuhkalkulator(String title) {
JLabel jl_ueberschrift = new JLabel("Schuhkalkulator");
jl_ueberschrift.setFont(new Font("Sans_Serif", Font.BOLD, 20));
JLabel jl_text1 = new JLabel("Fußlänge in Centimeter: ");
JLabel jl_text2 = new JLabel("Schuhgröße: ");
JLabel jl_text3 = new JLabel("Schuhgröße: ");
JLabel jl_text4 = new JLabel("Fußlänge in Centimeter: ");
JButton jb_berechne1 = new JButton(" Berechne 1 ");
jb_berechne1.addActionListener(new Lauscher());
JButton jb_clear = new JButton(" neustart ");
jb_clear.addActionListener(new Lauscher());
JButton jb_berechne2 = new JButton(" Berechne 2 ");
jb_berechne2.addActionListener(new Lauscher());
jtf_schuhgroesse2= new JTextField(13);
jtf_fusslaengecm2= new JTextField(8);
jpb_prozent = new JProgressBar(0,100);
jpb_prozent.setValue(anzeige);
jtf_schuhgroesse1= new JTextField(13);
jtf_fusslaengecm1= new JTextField(8);
sdf = new SimpleDateFormat("dd.MM.yyyy");
sdf1 = new SimpleDateFormat("HH:mm:ss");
JMenu jm_datei = new JMenu("Datei");
jm_uhr = new JMenu();
JMenuItem jmi_teil1 = new JMenuItem(" Teil 1 ");
jmi_teil1.addActionListener(new Lauscher());
jm_datei.add(jmi_teil1);
JMenuItem jmi_teil2 = new JMenuItem(" Teil 2 ");
jmi_teil2.addActionListener(new Lauscher());
jm_datei.add(jmi_teil2);
JMenuItem jmi_beenden = new JMenuItem(" Ende ");
jmi_beenden.addActionListener(new Lauscher());
jm_datei.add(jmi_beenden);
JMenuBar jmb_time = new JMenuBar();
jmb_time.setLayout(new BorderLayout());
jmb_time.add(jm_datei, BorderLayout.WEST);
jmb_time.add(jm_uhr, BorderLayout.EAST);
setJMenuBar (jmb_time);
//***************************************
JPanel teil1 = new JPanel();
teil1.setLayout(new FlowLayout());
teil1.add(jl_text1);
teil1.add(jtf_fusslaengecm1);
teil1.add(jl_text2);
teil1.add(jtf_schuhgroesse1);
teil1.add(jb_berechne1);
//***************************************
JPanel teil2 = new JPanel();
teil2.setLayout(new FlowLayout());
teil2.add(jl_text3);
teil2.add(jtf_schuhgroesse2);
teil2.add(jl_text4);
teil2.add(jtf_fusslaengecm2);
teil2.add(jb_berechne2);
//***************************************
JPanel top = new JPanel();
top.setLayout(new BorderLayout());
top.add(jmb_time, BorderLayout.NORTH);
top.add(jl_ueberschrift, BorderLayout.SOUTH);
JPanel left = new JPanel();
left.setLayout(new BorderLayout());
JPanel right = new JPanel();
right.setLayout(new BorderLayout());
JPanel middle = new JPanel();
middle.setLayout(new BorderLayout());
middle.add(teil1, BorderLayout.NORTH);
middle.add(teil2, BorderLayout.SOUTH);
JPanel bottom = new JPanel();
bottom.setLayout(new BorderLayout());
bottom.add(jpb_prozent, BorderLayout.NORTH);
bottom.add(jb_clear, BorderLayout.SOUTH);
//***************************************
Container cp = getContentPane();
cp.setLayout(new BorderLayout());
cp.add(top, BorderLayout.NORTH);
cp.add(left, BorderLayout.WEST);
cp.add(right, BorderLayout.EAST);
cp.add(middle, BorderLayout.CENTER);
cp.add(bottom, BorderLayout.SOUTH);
}
public void run() {
while(true) {
Date zeit = new Date();
jm_uhr.setText("Datum: "+sdf.format(zeit)+" Uhrzeit: "+sdf1.format(zeit));
try {
Thread.sleep(1000);
}
catch(InterruptedException e) {}
}
}
class Lauscher implements ActionListener {
public void actionPerformed(ActionEvent e) {
String button = e.getActionCommand();
if (button.equals(" Berechne 1 ")) {
anzeige = anzeige+50;
jpb_prozent.setValue(anzeige);
double fusslaenge1 = Double.parseDouble(jtf_fusslaengecm1.getText());
double schuhgroesse1 = fusslaenge1*11/7;
jtf_schuhgroesse1.setText("" + schuhgroesse1);
}
//*******************************
if(button.equals(" Berechne 2 ")) {
anzeige = anzeige+50;
jpb_prozent.setValue(anzeige);
double schuhgroesse2 = Double.parseDouble(jtf_schuhgroesse2.getText());
double fusslaenge2 = schuhgroesse2*7/11;
jtf_fusslaengecm2.setText("" + fusslaenge2);
}
//*******************************
if(button.equals(" Ende ")) {
setVisible(false);
setDefaultCloseOperation(EXIT_ON_CLOSE);
}
//*******************************
if(button.equals(" Teil 1 ")) {
}
//*******************************
if(button.equals(" Teil 2 ")) {
}
//*******************************
if(button.equals(" neustart1 ")) {
jtf_fusslaengecm1.setText("");
jtf_schuhgroesse1.setText("");
jtf_fusslaengecm2.setText("");
jtf_schuhgroesse2.setText("");
anzeige = 0;
jpb_prozent.setValue(anzeige);
}
}
}
public static void main(String[] args) {
Schuhkalkulator fenster = new Schuhkalkulator(" Schuhgrößenkalkulator v. 1.0 ");
fenster.setSize(270,400);
fenster.setLocation(200,300);
fenster.setVisible(true);
fenster.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
Thread uhr = new Thread(fenster);
uhr.start();
}
}