Grafische Anordnung der Elemente

Status
Nicht offen für weitere Antworten.

blackson1c

Mitglied
Hi, hab was programmiert........aber ich krieg es nicht hin die Grafischen Objekte richtig darzustellen. und zwar das die Elemente JTextField unter einander dargestellt werden.

Code:
import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.File;



public class Abgabe extends JPanel implements ActionListener{
	
	//Variablen für die Gui
	JButton openButton,hashButton,codButton,vergButton;
	JTextField hashausg,codiertaus,ergebniss;
	JFileChooser fc;
	JPanel buttonPanel;
	
	
	
	//Variable für die Methoden
	File file;
	
	/**Konstruktur für die Initialisirung
	 * 
	 */
	public Abgabe(){
		super(new BorderLayout());
		buttonPanel = new JPanel();
		fc = new JFileChooser();
		
		
		hashausg =  new JTextField("Hash ",50);
		hashausg.setMargin(new Insets(5,5,5,5));
		
		
		codiertaus =  new JTextField("Codiert ",50);
		codiertaus.setMargin(new Insets(5,5,5,5));
		
		
		ergebniss =  new JTextField("Ergebniss ",50);
		ergebniss.setMargin(new Insets(5,5,5,5));
		
		
		openButton = new JButton("Datei Öffnen");
        openButton.addActionListener(this);
        openButton.setToolTipText("Eine belibige Datei laden");
          
        hashButton = new JButton("Hash");
        hashButton.addActionListener(this);
        hashButton.setToolTipText("Hash ausrechnen");
        
        codButton = new JButton("Codieren");
        codButton.addActionListener(this);
        codButton.setToolTipText("Den Hash codieren");
        
        vergButton = new JButton("Vergleichen");
        vergButton.addActionListener(this);
        vergButton.setToolTipText("Hashes vergleichen");
        

        //Buttons in zu einem Panel zu fügen
        
        buttonPanel.add(openButton);
        buttonPanel.add(hashButton);
        buttonPanel.add(codButton);
        buttonPanel.add(vergButton);

        
        
        add(buttonPanel, BorderLayout.PAGE_START);
        
        
        add(hashausg,BorderLayout.NORTH);
        add(codiertaus,BorderLayout.CENTER);
        add(ergebniss,BorderLayout.PAGE_END);
        
        
		
		
	}
	/** Erstellung der GUI ELEMENTE
	 * 
	 */
	private static void GUI() {

        JFrame frame = new JFrame("Abschlussaufgabe");
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

        //Add content to the window.
        frame.add(new Abgabe());

        //Display the window.
        frame.pack();
        frame.setVisible(true);
	}
	
	public static void main(String[] args) {
		SwingUtilities.invokeLater(new Runnable() {
            public void run() {
              
            UIManager.put("swing.boldMetal", Boolean.FALSE); 
            GUI();
            }
        });
		
	}

	
	public void actionPerformed(ActionEvent e) {
		 if (e.getSource() == openButton) {
	            int returnVal = fc.showOpenDialog(Abgabe.this);

	            if (returnVal == JFileChooser.APPROVE_OPTION) {
	                 file = fc.getSelectedFile();
	               
	                ergebniss.setText("Geöffnete Datei: " + file.getName());
	            } else {
	            	ergebniss.setText("Vom Benutzer abgebrochen.");
	            }
	           
		 }
	}
}


Kann mir einer sagen wie ich die Elemente in der richtigen Reinfolge darstelle
 
BorderLayout.NORTH und BorderLayout.PAGE_START sind (wenn ich nicht irre ???:L ) das gleiche. Du müßtest ggf. zwei davon nochmal zusammenfassen. Also nicht
Code:
add(buttonPanel, BorderLayout.PAGE_START);
add(hashausg,BorderLayout.NORTH);
add(codiertaus,BorderLayout.CENTER);
add(ergebniss,BorderLayout.PAGE_END);
sondern
Code:
JPanel temp = new JPanel(new BorderLayout());
temp.add(buttonPanel, BorderLayout.NORTH);
temp.add(hashausg,BorderLayout.CENTER);
add(temp,BorderLayout.NORTH);
add(codiertaus,BorderLayout.CENTER);
add(ergebniss,BorderLayout.SOUTH);
 
Status
Nicht offen für weitere Antworten.

Neue Themen


Zurück
Oben