kostenloser Webspace werbefrei: lima-city


Sachen laufen von selbst weg D:

lima-cityForumProgrammiersprachenJava

  1. Autor dieses Themas

    vime

    vime hat kostenlosen Webspace.

    Hallo alle zusamm...
    Ich hab ein kleines Problem. Bei meiner Oberfläche verschwinden die eingefügten sachen sobald ich die JTextArea´s bearbeite...


    QT:
    package füllung;
    import java.awt.Choice;
    import java.awt.Color;
    import java.awt.Dimension;
    import java.awt.TextField;
    
    import javax.swing.Icon;
    import javax.swing.ImageIcon;
    import javax.swing.JFrame;
    import javax.swing.JLabel;
    import javax.swing.JPanel;
    import javax.swing.JScrollPane;
    import javax.swing.JTextArea;
    
    import vimeStandartPack.fenstereinstellungen;
    import MainPack.AdressBuchOberflaeche;
    
    
    public class Suche {
    	public Choice choiceSuche = new Choice();
    	Icon suchenHintergrundICON = new ImageIcon("bin\\pics\\SuchenHintergrund.png");
    	public JLabel hintergrund = new JLabel(suchenHintergrundICON);
    	public TextField eingabe =new TextField("");
    	public JTextArea vornamenanzeige = new JTextArea(" ");
    	public JTextArea nachnamenanzeige = new JTextArea();
    	public JTextArea telefonnummeranzeige = new JTextArea();
    	public JTextArea emailanzeige = new JTextArea();
    	public JTextArea adresse = new JTextArea();
    	public static JPanel SuchePanel = new JPanel();
    	public JFrame suchenFrame = new JFrame();
    	public Suche(AdressBuchOberflaeche sabo) {
    		System.out.println("Class: Suche");
    		suchenFrame.setLayout(null);
    		suchenFrame.setUndecorated(true);
    		new fenstereinstellungen(suchenFrame,null,700,500,true);
    		
    		
    		SuchePanel.setLocation(0, 0);
    		SuchePanel.setSize(10000, 10000);
    		SuchePanel.setOpaque(true);
    		SuchePanel.setBackground(Color.DARK_GRAY);
    //		abo.setEmpty(abo);
    //		abo.setAllPanelsEmpty();
    		
    		
    
    		SuchePanel.add(choiceSuche);
    		choiceSuche.add("-------");
    		choiceSuche.add("Vorname");
    		choiceSuche.add("Nachname");
    		choiceSuche.add("Telefonnummer");
    		choiceSuche.add("EMail");
    		choiceSuche.setSize(100, 50);
    		choiceSuche.setLocation(100, 100);
    		SuchePanel.add(eingabe);
    		eingabe.setSize(200, 26);
    		eingabe.setLocation(85, 200);
    
    		SuchePanel.add(adresse);
    		adresse.setLocation(385,253);
    		adresse.setSize(85, 300);
    		
    
    		SuchePanel.add(emailanzeige);
    		emailanzeige.setLocation(297,253);
    		emailanzeige.setSize(85, 300);
    
    		SuchePanel.add(telefonnummeranzeige);
    		telefonnummeranzeige.setLocation(209,253);
    		telefonnummeranzeige.setSize(85, 300);
    
    		SuchePanel.add(nachnamenanzeige);
    		nachnamenanzeige.setLocation(121,253);
    		nachnamenanzeige.setSize(85, 300);
    //nachnamenanzeige.setEditable(false);
    		SuchePanel.add(vornamenanzeige);
    		vornamenanzeige.setLocation(33,253);
    		vornamenanzeige.setSize(85, 300);
    		
    
    		hintergrund.setSize(suchenHintergrundICON.getIconWidth(),suchenHintergrundICON.getIconHeight());
    		hintergrund.setLocation(0, 0);
    //		suchenFrame.add(hintergrund);
    
    
    		 
    		 
    //		vornamenanzeige.setLineWrap(true);
    //		vornamenanzeige .setWrapStyleWord(true);
    
    
    
    		suchenFrame.add(SuchePanel);
    //		SuchePanel.setVisible(true);
    
    Aktualisierung a = new Aktualisierung(this);
    a.start();
    	}
    
    }


    Sobald ich das editable oben z.b. einschalte das lad das fenster und ein paar millisec später ist es leer... auch wen ich etwas reinschreibe...über das Frame oder im qt über .settext("text"); läd es das fenster wie beschrieben... mache ich nichts kommt das fenster wie gewollt...
    Wen ich das TextField etwas schreibe das geht es.... auch wen ich anstat JTextarea textarea verwende...aber wie get das mit J?

    Danke für eine Antwort

    Rechtschreibeung bitte ignorieren...

    Beitrag zuletzt geändert: 28.6.2011 16:37:55 von vime
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. Hallo vime,
    zunächst einmal klingt das alles sehr verwirrend für mich, da Du hier einfach ein Stück Code präsentierst, den Du mit mehr oder weniger verständlichen Sätzen kommentierst.:confused:
    Hilfreich wäre zum Beispiel noch eine knappe Beschreibung, was dein Programm macht und wozu diese spezielle Klasse benötigt wird.

    Ich habe mir aus deinen Ausführungen folgendes hergeleitet (verbessere mich, wenn ich hier etwas Falsches behaupte):
    Du programmierst ein Adressbuch.
    Diese Klasse soll eine Suche einblenden, die folgendes beinhaltet:
    - Eine Auswahl, nach was gesucht werden soll
    - Ein Textfeld, zur Eingabe des Suchbegriffs
    - verschiedene Textbereiche, zur Anzeige der Suchergebnisse (? oder zur Eingabe ?)

    Als allererstes würde ich Dir die Benutzung eines LayoutManagers empfehlen, damit Du die Components nicht absolut positionieren musst. Hier würde sich wohl ein BorderLayout anbieten. Ins "Center" packst Du mithilfe des FlowLayouts die Auswahl und das Suchfeld. In den "South" ebenfalls mit dem FlowLayout die Ergebnisfelder.

    Außerdem solltest Du, wenn Du schon Swing verwendest, alle AWT-Komponenten in Swing-Komponenten umwandeln. Bspw. solltest Du statt Choice die Klasse JComboBox verwenden.

    Um das JFrame überhaupt anzuzeigen, solltest Du irgendwo in Deinen Code auch suchenFrame.setVisible(true); einbauen, sowie entweder .pack() oder .setSize().

    Die Grundvorgehensweise sollte sein:
    - Du instanzierst die Komponenten (Suchfeld, ComboBox, JButton, die JTextAreas und JTextFields), die JPanels, die die Komponenten später aufnehmen, sowie das JFrame, das die JPanels später aufnimmt.
    - Die Komponenten fügst du mit .add() einem oder mehreren JPanels hinzu, die zuvor einen LayoutManager zugewiesen bekommen haben.
    - Du weist dem ContentPane des JFrames einen LayoutManager zu (frame.getContentPane().setLayout(...)) und fügst dem JFrame die JPanels hinzu.
    - Du weist dem JFrame eine Größe und Position zu und setzt es sichtbar.
    Fertig ist dein JFrame!

    Hier mal ein Beispiel, wie man ein JFrame aufruft, das hoffentlich Deiner Vorstellung nahekommt:
    import java.awt.BorderLayout;
    import java.awt.FlowLayout;
    import javax.swing.JButton;
    import javax.swing.JComboBox;
    import javax.swing.JFrame;
    import javax.swing.JPanel;
    import javax.swing.JTextArea;
    import javax.swing.JTextField;
    
    public class Suche{
    	public static void main(String[]args){
    		new Suche();
    	}
    	JFrame suchFrame = new JFrame();
    	public Suche(){
    		JPanel eingabe = new JPanel(new FlowLayout(FlowLayout.CENTER,10,10));
    		JPanel ausgabe = new JPanel(new FlowLayout(FlowLayout.CENTER,10,10));
    		
    		JComboBox auswahl = new JComboBox(new String[]{"-----","Vorname","Nachname","Telefonnummer","E-Mail"});
    		JTextField suchfeld = new JTextField(30);
    		JButton suchbutton = new JButton("Suche");
    		
    		JTextArea adresse = new JTextArea("Adresse",10,10);
    		JTextArea vorname = new JTextArea("Vorname",10,10);
    		JTextArea nachname = new JTextArea("Nachname",10,10);
    		JTextArea tel = new JTextArea("Telefonnummer",10,10);
    		JTextArea mail = new JTextArea("Mailadresse",10,10);
    		
    		
    		suchFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    		suchFrame.setLocation(100,100);
    		suchFrame.setLayout(new BorderLayout());
    		
    		eingabe.add(auswahl);
    		eingabe.add(suchfeld);
    		eingabe.add(suchbutton);
    		ausgabe.add(adresse);
    		ausgabe.add(vorname);
    		ausgabe.add(nachname);
    		ausgabe.add(tel);
    		ausgabe.add(mail);
    		
    		suchFrame.getContentPane().add(BorderLayout.CENTER,eingabe);
    		suchFrame.getContentPane().add(BorderLayout.SOUTH,ausgabe);
    		
    		suchFrame.pack();
    		suchFrame.setVisible(true);
    	}
    }


    Gruß,
    floscher

    Und nächstes Mal bitte in besserer Rechtschreibung, besser strukturiert und detaillierter beschrieben. Deine Frage war ja stellenweise kaum verständlich!
  4. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!