Swing JPasswordField wird nicht angezeigt

Chloroplast

Bekanntes Mitglied
Ich programmier gerad ein JApplet wo man sich einloggen kann. Das Problem ist, dass ich wenn ich mit JTextField oder JPasswordField arbeite sie nicht oder kaum zu sehen sind. Man sieht vom JTextField
nur den ersten teil und vom JPasswordField erstmal garnicht. erst wenn man sie anklickt sieht man sie komplett hier der Code

Java:
import java.awt.*;
import java.applet.*;
import javax.swing.*;

public class LoginApplet extends JApplet {

	JButton A= new JButton("anfang");
	Image back,login;
	JTextField Bn = new JTextField(20);
	JPasswordField Pw = new JPasswordField(20);

	String logg=null;

	public void init() {

		setSize(1200,800);
		back = getImage(getCodeBase(),"backgrounds/hintergrund2.png");
		login = getImage(getCodeBase(),"menu/Login.png");
		this.getContentPane().setLayout(null);

		//this.initWindow();

		//add(A);
	//add(Bn);
	this.getContentPane().add(Bn);
	this.getContentPane().add(Pw);

		Bn.setBounds(65,110,100,30);
		Pw.setBounds(190,110,100,30);


	//	repaint();
	}

//	public void ini(){	//	if(logg==null)	}


//	public void update(Graphics g){	paint(g);	}



	public void setgroesse(int gr){
		setFont(new Font("Arial", Font.PLAIN, gr));
	}

	public void paint(Graphics g) {


		g.drawImage(back,0,0,this);
		if(logg==null)

			//setFont(new Font("Arial", Font.PLAIN, 30));
			g.drawImage(login,65,50,this);


			//g.drawString("Benutzername                    Passwort",70,90);
	}
}
 
Zuletzt bearbeitet:

HoaX

Top Contributor
So als Tipp: Ich sehe im Code weder ein JTextField noch ein JPasswordField ...

Ansonsten verwende doch mal einen LayoutManager. Ohne machst du dir eh mehr Probleme als nötig.
 

Chloroplast

Bekanntes Mitglied
ups falscher code, da hab iich versucht obs klappt wenn ich TextField oder PasswordField benutze; beim TextField gehts, das PassWordField gibts nicht
 
G

Gast2

Gast
Dann zeig mal deinen Code mit dem JPasswordField.
Hast du dir schonmal LayoutManager angeschaut?
 

HoaX

Top Contributor
Kommentier doch mal den Code in der paint-Methode aus, denn ich vermute du überzeichnest dort die Felder, und ich sehe dort nirgends den super-Aufruf.
 

Chloroplast

Bekanntes Mitglied
super? soweit ich weis braucht ein apllet kein super aufruf

Java:
import java.awt.*;
import java.applet.*;
import javax.swing.*;
 
public class LoginApplet extends JApplet {
 
    JButton A= new JButton("anfang");
    Image back,login;
    JTextField Bn = new JTextField(20);
    JPasswordField Pw = new JPasswordField(20);
 
    String logg=null;
 
    public void init() {

        back = getImage(getCodeBase(),"backgrounds/hintergrund2.png");
        login = getImage(getCodeBase(),"menu/Login.png");
        this.getContentPane().setLayout(null);
 
       
        this.getContentPane().add(Bn);
        this.getContentPane().add(Pw);
 
        Bn.setBounds(65,110,100,30);
        Pw.setBounds(190,110,100,30);
    }
 
//  public void ini(){  //  if(logg==null)  }//hier sollen später die Textfelder versteckt werden, wenn //logg!=null ist.
 
 

 
 
 
    public void setgroesse(int gr){
        setFont(new Font("Arial", Font.PLAIN, gr));
    }
 
    public void paint(Graphics g) {
 
 
        g.drawImage(back,0,0,this);//das hintergrund bild auf dem gezeichnet wird
        if(logg==null)
 
            g.drawImage(login,65,50,this);//wenn sich noch nicht eigeloggt wurde also logg==null dann //wird das fenster zum login angezeigt(loggg soll danach == Benutzername sein) login == Logi.png //sihe oben

    }
}
 

HoaX

Top Contributor
Was willst du uns jetzt mit dem neuen Code sagen, den du gänzlich ohne Kommentar postest und der scheinbar immernoch der gleiche ist wie vorher? Dass du gerne Antworten ignorierst nur weil du sie nicht verstehst?
 

Chloroplast

Bekanntes Mitglied
das ist der gesamte code, fehlermeldung gibts keine

die bilder liegen natürlich in dem entsprechendem ordner

keine ahnung wieso die jetzt hier als jpg hochgeladen sind, eigentlich ist es png
 

Anhänge

  • Hintergrund2.jpg
    Hintergrund2.jpg
    81 KB · Aufrufe: 37
  • Login.png
    Login.png
    7 KB · Aufrufe: 33
G

Gast2

Gast
Wenn du ein Panel zwischen das Applet und deine Komponenten legst dann schaut das ganze schon etwas besser aus:
Java:
public class LoginApplet extends JApplet {
	@Override
	public void init() {
		Image back = getImage(getCodeBase(), "Hintergrund2.jpg");
		Image login = getImage(getCodeBase(), "Login.png");
		
		LoginPanel loginPanel = new LoginPanel(back, login);
		
		setLayout(new BorderLayout());
		add(loginPanel, BorderLayout.CENTER);
		setSize(new Dimension(1200, 800));
	}

	private static class LoginPanel extends JPanel {
		Image back, login;
		JTextField Bn = new JTextField(20);
		JPasswordField Pw = new JPasswordField(20);

		public LoginPanel(Image back, Image login) {
			setLayout(null);
			this.back = back;
			this.login = login;
			setPreferredSize(new Dimension(1200, 800));
			
			add(Bn);
			add(Pw);

			Bn.setBounds(65, 110, 100, 30);
			Pw.setBounds(190, 110, 100, 30);			
		}
		
		@Override
		protected void paintComponent(Graphics g) {
			super.paintComponent(g);
			
			g.drawImage(back, 0, 0, this);
			g.drawImage(login,65,50,this);
		}
	}
}
Mag vielleicht auch eleganter gehen... aber es geht ;)
 
G

Gast2

Gast
Anstatt alles direkt aufs Applet zu malen wird stattdessen alles auf einem JPanel erledigt. Das JPanel wird dann auf das Applet gelegt.
 
G

Gast2

Gast
Zum super Aufruf:
Using the Keyword super (The Java™ Tutorials > Learning the Java Language > Interfaces and Inheritance)
Java Swing Tutorial

Zum @Override:
z.b. When do you use Java's @Override annotation and why? - Stack Overflow

Zu der neuen Klasse:
Die Klasse könntest du genauso gut in eine eigene Java Datei auslagern. Die Klasse ist einfach nur dafür da deine Komponenten zu tragen und sorgt für den Background. In die paint bzw. paintComponent Methode von Applets und (J)Frames sollte man idr nicht eingreifen. Mit nem Panel ist das ganze auch wesentlich einfacher und weniger Fehleranfällig.
 
G

Gast2

Gast
Das HintergrundBild ist doch jetzt immer zu sehen, oder was meinst du?
Das Bild aktuell direkt auf das JPanel gemalt.
 
G

Gast2

Gast
Ja richtig, weil auf dem Panel alle Komponenten sowie die zwei Bilder liegen.
Was willst du denn machen?
 
G

Gast2

Gast
Da würde ich dann das alte Panel rausschmeißen und nen neues Panel reinsetzen wo dann der neue Screen drauf aufgebildet ist.
Sowas lässt sich leicht mit dem CardLayout realisieren:
Das CardLayout
 

Chloroplast

Bekanntes Mitglied
das funktioniert immer noch nicht, ich überschreibe jetzt im Center das panel mit dem neuen und er zeigt es mir nicht an

Java:
import java.awt.*;
import java.applet.*;
import javax.swing.*;
import java.io.*;
import java.awt.event.*;

public class LoginApplet extends JApplet implements ActionListener{
		String logg="";
		Image back;
        Image login;
         JTextField Bn = new JTextField(20);
        JPasswordField Pw = new JPasswordField(20);

        LoginPanel loginPanel;
        UserGUI userGUI;

    public void init() {
        Image back = getImage(getCodeBase(), "backgrounds/Hintergrund2.png");
        Image login = getImage(getCodeBase(), "Menu/Login.png");

		loginPanel = new LoginPanel(back, login);


        loginPanel.add(Bn);
        loginPanel.add(Pw);

        Bn.addActionListener(this);
        Pw.addActionListener(this);

        Bn.setBounds(65, 110, 100, 30);
        Pw.setBounds(190, 110, 100, 30);



        setLayout(new BorderLayout());
		userGUI = new UserGUI(back,logg);

        if(logg=="")add(loginPanel,"Center");
        setSize(new Dimension(1200, 800));

    }

    public void akt(){

		System.out.println("logg: "+logg);

    	//else


    		add(userGUI,"Center");
    		System.out.println("eingeloggt");


    }

    public void actionPerformed(ActionEvent event){
    	Object obj = event.getSource();

    	System.out.println("Benutzer: "+Bn.getText());
    	System.out.println("Passwort: "+Pw.getText());

   if (obj instanceof JTextField) {
   	if(obj.equals(Pw)){
   		System.out.println("set Benutzer");
   		if((Pw.getText()).equalsIgnoreCase("sandammeer")&&(Bn.getText()).equalsIgnoreCase("Chloroplast")){logg="Chloroplast";akt();}}}

   	 if (obj instanceof JPasswordField) {
   	if(obj.equals(Bn)){
   		System.out.println("set Passwort");
   		if((Pw.getText()).equalsIgnoreCase("sandammeer")&&(Bn.getText()).equalsIgnoreCase("Chloroplast"))System.out.println("geglückt");}

   }
  }



    private static class LoginPanel extends JPanel {
        Image back, login;


        public LoginPanel(Image back, Image login) {
            setLayout(null);
            this.back = back;
            this.login = login;
            setPreferredSize(new Dimension(1200, 800));







        }

        @Override
        protected void paintComponent(Graphics g) {
            super.paintComponent(g);

            g.drawImage(back, 0, 0, this);
            g.drawImage(login,65,50,this);
        }
    }




private static class UserGUI extends JPanel {
        Image back;
        Font f;
        String logg;



        public UserGUI(Image back,String logg) {

            setLayout(null);
            this.back = back;

            //f = new Font("Times.Roman",Font.PLAIN,30);
            //setFont(f);
			System.out.println("überhaupt?m");
            setPreferredSize(new Dimension(1200, 800));



        }

        @Override
        protected void paintComponent(Graphics g) {
            super.paintComponent(g);

System.out.println("überhaupt?p");

            g.drawImage(back, 0, 0, this);
            if((logg)==null)System.out.println("logg == "+logg);
            else g.drawString("Hallo "+logg,50,50);

        }
    }


}
 
G

Gast2

Gast
Schau dir bitte erstmal die Java Grundlagen an...
Das CardLayout hast du dir auch noch nicht angeschaut oder?
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
G Swing JPasswordField AWT, Swing, JavaFX & SWT 12
K Probleme beim JPasswordField AWT, Swing, JavaFX & SWT 11
OlafHD JPasswordField mit Button eingeben AWT, Swing, JavaFX & SWT 4
J JPasswordField kodiertes Passwort AWT, Swing, JavaFX & SWT 3
W JPasswordField AWT, Swing, JavaFX & SWT 5
VfL_Freak Swing Frage zu "new JPasswordField( 10 )" AWT, Swing, JavaFX & SWT 6
B Text im JPasswordField AWT, Swing, JavaFX & SWT 5
C Swing JPasswordField Password auslesen AWT, Swing, JavaFX & SWT 7
Y Swing JPasswordField Fehler AWT, Swing, JavaFX & SWT 14
M Swing jPasswordField getPassword() entschlüsseln AWT, Swing, JavaFX & SWT 9
W Swing JPasswordField "leeren" AWT, Swing, JavaFX & SWT 3
H JPasswordField AWT, Swing, JavaFX & SWT 27
M JPasswordfield.getpassword() char[] nicht codiert auslesen? AWT, Swing, JavaFX & SWT 2
G JPopMenu und JPasswordField? AWT, Swing, JavaFX & SWT 7
K JPasswordField AWT, Swing, JavaFX & SWT 3
A Aus einem JPasswordField das Passwort auslesen AWT, Swing, JavaFX & SWT 3
Z Probleme mit JtextField und JPasswordField AWT, Swing, JavaFX & SWT 4
S JPasswordField warning : deprecation AWT, Swing, JavaFX & SWT 10
T Suche Methode zum anzeigen eines Textteils im JPasswordfield AWT, Swing, JavaFX & SWT 2
M JPasswordField AWT, Swing, JavaFX & SWT 7
F Eingabe in JPasswordField auf vier Zeichen beschränken AWT, Swing, JavaFX & SWT 3
W JPasswordField AWT, Swing, JavaFX & SWT 6
J JavaFX Timer wird nicht angetriggert... AWT, Swing, JavaFX & SWT 9
H JavaFX Background-Bild wird in .exe nicht angezeigt AWT, Swing, JavaFX & SWT 6
B im JFrame gesetzte Hintergrundfarbe wird beim Ausführen nicht gezeigt AWT, Swing, JavaFX & SWT 2
P Methode wird nicht überprüft AWT, Swing, JavaFX & SWT 4
P paintComponent-Methode wird dauernd neu aufgerufen AWT, Swing, JavaFX & SWT 2
G JavaFX LineChart Datenpunkte Markierung wird abgeschnitten AWT, Swing, JavaFX & SWT 1
P JTextField wird nur sehr klein angezeigt und verändert die Größe nicht AWT, Swing, JavaFX & SWT 3
Telisti Javafx Image wird nicht richtig integiert AWT, Swing, JavaFX & SWT 8
J Netbeans die JavaFX-Anwendung wird nicht ausgeführt AWT, Swing, JavaFX & SWT 16
N €-Zeichen wird nicht akzeptiert AWT, Swing, JavaFX & SWT 4
G Problem mit der Anzeige von jLabel. Unlesbar wenn der Text geändert wird. AWT, Swing, JavaFX & SWT 28
berserkerdq2 Wie füge ich ein Bild in javafx mit dem Scenebuilder ein, das automatisch mitgezogen wird, wenn das Fenster vergrößert wird oder Vollbildmodus AWT, Swing, JavaFX & SWT 6
L jComboBox Actionlistener wird beim erstmaligen Befüllen getriggert AWT, Swing, JavaFX & SWT 7
G Objekt.setSelected(false), wenn es nicht mehr fokussiert wird AWT, Swing, JavaFX & SWT 2
S Javafx getResource-Pfad wird nicht erkannt AWT, Swing, JavaFX & SWT 7
U Warum wird zweimal die Affinetransformation estellt (2Dgraphics, Java)? AWT, Swing, JavaFX & SWT 31
DonBronson Gezeichnetes Objekt verschwindet nachdem erneut gezeichnet wird AWT, Swing, JavaFX & SWT 8
ProggersWorld JavaFX TextArea BackgroundImage wird nicht angezeigt AWT, Swing, JavaFX & SWT 3
M Bild wird nicht geladen obwohl sie gefunden wird AWT, Swing, JavaFX & SWT 0
M Nach Export als Runnable Jar wird css nicht merh gefunden AWT, Swing, JavaFX & SWT 22
izoards Outlook Mail erstellen - Signatur wird nicht angezeigt. AWT, Swing, JavaFX & SWT 3
J actionperformed wird nicht aufgerufen/ repaint() AWT, Swing, JavaFX & SWT 6
J Swing Komponente wird unpassend angepasst in der Größe AWT, Swing, JavaFX & SWT 35
J Java FX NullPointerException, ObservableList wird in View nicht angezeigt.. AWT, Swing, JavaFX & SWT 34
S Next_Button wird nicht ausgeführt. AWT, Swing, JavaFX & SWT 6
FrittenFritze Ein Problem mit der CSSBox, die Größe wird nicht angepasst AWT, Swing, JavaFX & SWT 5
CptK windowClosed() nur aufrufen, wenn Fenster nicht über Button geschlossen wird AWT, Swing, JavaFX & SWT 1
J Komponente wird manchmal falsch gezeichnet AWT, Swing, JavaFX & SWT 0
J Swing JList wird nicht angezeigt AWT, Swing, JavaFX & SWT 6
JMölleri Swing Image wird unscharf dargestellt AWT, Swing, JavaFX & SWT 2
JojoSand Java Programm wird nicht gestartet - keinen Fehlerhinweis AWT, Swing, JavaFX & SWT 9
R Text vom Jlabel wird nicht angezeigt AWT, Swing, JavaFX & SWT 2
D JavaFX Bearbeitetes Bild wird nicht gespeichert AWT, Swing, JavaFX & SWT 9
J setOnCloseRequest wird nicht ausgelöst AWT, Swing, JavaFX & SWT 3
P JavaFX Fenster wird nicht angezeigt (Mac) AWT, Swing, JavaFX & SWT 13
B JavaFX Bei Scenen-Wechsel im primaryStage wird aktuelle Fenstergröße nicht mit übernommen AWT, Swing, JavaFX & SWT 16
B JavaFX Warum wird hier eine NullPointer-Exception geworfen? AWT, Swing, JavaFX & SWT 7
M JavaFX javaFX Label-Text wird nicht gesetzt AWT, Swing, JavaFX & SWT 3
O Swing "Eigenes" JPanel wird dem JScrollPane nicht hinzugefügt AWT, Swing, JavaFX & SWT 5
L Swing JLabel wird beim ändern der Schriftart immer neu gezeichnet. AWT, Swing, JavaFX & SWT 2
R Layout Manager null und Component wird nicht hinzugefügt AWT, Swing, JavaFX & SWT 3
Zrebna JavaFX-Projekt mit Bildern funktioniert nicht - um Hilfe wird gebeten AWT, Swing, JavaFX & SWT 14
kodela BufferStrategy wird nicht gefunden AWT, Swing, JavaFX & SWT 5
J JPanel wird nicht angezeigt AWT, Swing, JavaFX & SWT 2
S ImageView wird dem Gridpane nicht zugefügt AWT, Swing, JavaFX & SWT 1
G Repaint wird nicht durchgeführt AWT, Swing, JavaFX & SWT 8
E Warum wird Text im JTextArea erst am Programmende angezeigt ? AWT, Swing, JavaFX & SWT 1
S Swing Panel wird nicht neu gezeichnet AWT, Swing, JavaFX & SWT 3
M Swing GUI wird nach invokeLater() langsam AWT, Swing, JavaFX & SWT 19
Bluedaishi TableView mit Combox wert wird nicht in die TableView gesetzt AWT, Swing, JavaFX & SWT 38
L JFrame wird zu klein erstellt AWT, Swing, JavaFX & SWT 7
G JavaFX Nach Zoomen wird an falscher Stelle gezeichnet AWT, Swing, JavaFX & SWT 0
kodela Swing Letzte Änderung in der Tabelle wird nicht gespeichert AWT, Swing, JavaFX & SWT 5
cool_brivk24 AWT BufferedImage wird nicht geladen AWT, Swing, JavaFX & SWT 17
S JavaFX Wird es überhaupt genutzt? AWT, Swing, JavaFX & SWT 3
FRI3ND GUI wird nicht angezeigt AWT, Swing, JavaFX & SWT 2
J Canvas wird nicht angezeigt AWT, Swing, JavaFX & SWT 10
K Swing JScrollPane wird nicht angezeigt wenn man Components darstellt. AWT, Swing, JavaFX & SWT 2
ralfb1105 Swing Wert in JTextField wird falsch ausgegeben AWT, Swing, JavaFX & SWT 2
B JavaFX Text wird nicht angezeigt, kein Fehler AWT, Swing, JavaFX & SWT 2
J Aus welchen Grund wird der Button nicht angezeigt im GridPane? AWT, Swing, JavaFX & SWT 1
J MouseListener wird nicht ausgeführt. AWT, Swing, JavaFX & SWT 4
E Swing Liste in Scrollpane wird nicht angezeigt AWT, Swing, JavaFX & SWT 2
J Controller wird zu groß, was tun ? AWT, Swing, JavaFX & SWT 5
CptK Wieso wird nur ein Teil meiner Buttons angezeigt? AWT, Swing, JavaFX & SWT 1
T Label wird nicht angezeigt AWT, Swing, JavaFX & SWT 4
M Aktion ausführen wenn ein JRadiobutton deselektiert wird. AWT, Swing, JavaFX & SWT 3
DaCrazyJavaExpert Swing JPanel "ContentPane" wird nicht gesetzt/angezeigt AWT, Swing, JavaFX & SWT 16
I JavaFX Fenster wird auf einem anderen Rechner anders dargestellt AWT, Swing, JavaFX & SWT 5
zhermann FX Label text wird nicht richtig angezeigt AWT, Swing, JavaFX & SWT 12
zhermann TableView wird nicht gefüllt AWT, Swing, JavaFX & SWT 14
it_is_all Warum wird die JTable im JDialog nicht angezeigt? AWT, Swing, JavaFX & SWT 1
zhermann JavaFX Main App wird nicht geöffnet AWT, Swing, JavaFX & SWT 6
Naxon89 JavaFX Image wird nicht korrekt geladen AWT, Swing, JavaFX & SWT 3
4 Swing JLabel wird ,,abgehackt" AWT, Swing, JavaFX & SWT 3
DaCrazyJavaExpert Swing Größe des JPanel ändern/wird nicht geändert. AWT, Swing, JavaFX & SWT 3
DaCrazyJavaExpert Swing JPanel wird in JScollPane nicht angezeigt AWT, Swing, JavaFX & SWT 2
D JFrame wird nicht richtig angezeigt AWT, Swing, JavaFX & SWT 1

Ähnliche Java Themen

Neue Themen


Oben