JButton wird nicht angezeigt

S

sk72

Gast
Kann mir wer sagen, wieso mein JButton nicht angezeigt werden ? :eek:

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

public class Fenster extends JFrame
{
//	Container c;
	
	Fenster() 
	{
		Container c;
		JFrame fenster = new JFrame();
		fenster.setTitle("Plotter2");
		fenster.setSize(500,350);
		fenster.setVisible(true);
		fenster.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);		
		
		c = getContentPane();
		c.setLayout(new FlowLayout());
		
		JButton b = new JButton("Test");
		c.add(b);	
	}
		
	
	public static void main(String[] args) {
		Fenster test = new Fenster();
	}
}
 
M

Marcinek

Gast
Wenn du das nach setVisible(true) machst und dann die Oberfläche änders (durch hinzufügen von Buttons) musst die Oberfläche einmal repaint() (en).

Ich würde setVisible() nach dem Hinzufügen machen.

Ebenfalls kommt dieses Thema min. 1x Pro woche.
 
S

sk72

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

public class Fenster extends JFrame
{
	Container c;

	
	Fenster() 
	{
		JFrame fenster = new JFrame();
		fenster.setTitle("Plotter");
		fenster.setSize(500,350);
		
		c = getContentPane();
		c.setLayout(new FlowLayout());
		
		JButton b = new JButton("Test");
		c.add(b);
	
		fenster.setVisible(true);
	
	}
	
	
	public static void main(String[] args) {
		Fenster test = new Fenster();
	}

}


sorry, aber das ändert nichts ?
 
M

Marcinek

Gast
Zusätzlich fügst du die JButtons nicht an deinem Fensterobjekt sondern am Frame.

Mach mal das extends Frame weg, dann siehst du es.

Ist ein wenig doppelt gemoppelt.
 

damtre

Aktives Mitglied
Dir fehlt die Übergabe deines Containers an den JFrame:

Java:
fenster.add(c);

Gruß

Ausserdem erzeugst du dir einen JFrame fenster, obwohl du von JFrame erbst? Für eines musst du dich entscheiden! ;)
 
Q

Quantenbit

Gast
Vielleicht könnte man dies auch abändern.

Java:
c = getContentPane();
c.setLayout(new FlowLayout());

in
Java:
getContentPane().add(FlowLayout.SOUTH, c);

?
 

TKausL

Top Contributor
Totaler murks xD

Java:
import java.awt.*;
import javax.swing.*;
 
public class Fenster extends JFrame
{
    Container c;
 
    
    Fenster() 
    {
        setTitle("Plotter");
        setSize(500,350);
        
        c = getContentPane();
        c.setLayout(new FlowLayout());
        
        JButton b = new JButton("Test");
        c.add(b);
    
        setVisible(true);
    
    }
    
    
    public static void main(String[] args) {
        Fenster test = new Fenster();
    }
 
}

So sollte es funktionieren
 

damtre

Aktives Mitglied
@TKausL
Also wenn wir jetzt von "Alles Murks" reden, dann bedarf es hier noch einiger Anpassungen.


1. AWT und SWING sollte man trennen:
- Hier ist das nicht der Fall da ein JFrame (Swing) einen Container (AWT) beinhaltet, welcher wiederrum einen JButton(SWING) beinhaltet.

Es gibt für dich 2 Möglichkeiten:

1. Deine Klasse erbt von JFrame und du positionierst deine Elemente alle auf diesem JFrame.

Java:
public class Fenster extends JFrame {

	public static void main(String[] args) {
		new Fenster();
	}

	Fenster() {

		setTitle("Plotter2");
		setSize(500, 350);
		setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		setLayout(new FlowLayout());

		JButton b = new JButton("Test");
		add(b);
		setVisible(true);

	}
}


2. Du erzeugst innerhalb deiner Klasse eine Instanz von JFrame und positionierst dort alle Elemente, mit dem Unterschied dass du als Container nicht mit der Klasse Container sondern mit der Klasse JPanel arbeitest.

Java:
public class Fenster {

	public static void main(String[] args) {
		new Fenster();
	}

	Fenster() {

		JFrame fenster = new JFrame();
		JPanel fensterContainer = new JPanel();
		fenster.setTitle("Plotter2");
		fenster.setSize(500, 350);
		fenster.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		fensterContainer.setLayout(new FlowLayout());

		JButton b = new JButton("Test");
		fensterContainer.add(b);
		fenster.add(fensterContainer);
		fenster.setVisible(true);

	}
}

Du hattest vorhin in deinem Code quasi eine Mischung aus beidem gemacht. Für eine Vorgehensweise sollte man sich dann entscheiden.

Gruß
 
S

sk72

Gast
Okay, vielen Dank euch allen ! :)

Wahrscheinlich ist meine Frage jetzt doof, aber welche der beiden o.g. Varianten ist "schöner" bzw. besserer Programmierstil ?


Lg sk'
 
S

sk72

Gast
Zusätzlich noch eine weitere Frage:

Ich möchte ein Koordinatensystem zeichnen. Muss ich das auf meinen JFrame erzeugen bzw. wird das seperat erzeugt ? Mit welcher Klasse muss ich da arbeiten ?
 

Michael...

Top Contributor
Wahrscheinlich ist meine Frage jetzt doof, aber welche der beiden o.g. Varianten ist "schöner" bzw. besserer Programmierstil ?
Letztere, da man nur von anderen Klassen erben sollte, wenn man diese auch tatsächlich in Ihrer Funktionalität erweitern will. Hier soll aber nur ein JFrame verwendet werden.

Für solche Spielereien verwende ich aber auch meistens die erste Variante.
Ich möchte ein Koordinatensystem zeichnen. Muss ich das auf meinen JFrame erzeugen bzw. wird das seperat erzeugt ? Mit welcher Klasse muss ich da arbeiten ?
Dafür gibt es - zumindest in der Standard API - keine fertige Komponente. Generell kann man mit Swing solche Sachen selbst zeichnen, in dem man z.B. von JComponent erbt und deren
Code:
paintComponent(Graphics g)
überschreibt.
 
S

sk72

Gast
Ich hoffe, ich bin auf dem richtigen Weg .. :D

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

public class Fenster
{
	
	Fenster() 
	{
		JFrame fenster = new JFrame();		
		JPanel fensterContainer = new JPanel();
		fenster.setTitle("Plotter");
		fenster.setSize(500,350);
		fenster.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		fensterContainer.setLayout(new FlowLayout());	
		fenster.setVisible(true);	
	}
	
	public void paint(Graphics g) 
	{	
		g.drawLine(0,0,0,100);
		g.drawLine(0,0,100,0);
	}

	
	
	public static void main(String[] args) {
		 new Fenster();
	}

}


Wie füge ich das Koordinatensysten meinem JPanel hinzu ?
 
S

SlaterB

Gast
benenne bitte keine Variablen genau wie Klassen, nur kleingeschrieben, wenn sie nicht vom selben Typ sind

> Fenster fenster;
naja, gibts oft

aber
> class Fenster
und dann
> JFrame fenster;
das ist nicht gut..


--------

die paint-Methode in der Nicht-GUI-Klasse Fenster ist komplett belanglos,
wenn du von JFrame erben würdest, dann wärs ja denkbar, aber auch nicht geeignet,

wie man 'Zeichen in Swing' anfängt liefern die markieren Begriffe in einer Suchmaschine endlos,
bzw. jedes Lehrbuch komplett sauber in eigenen Kapiteln, unmöglich nicht zu finden..

Galileo Computing :: Java ist auch eine Insel - 14 Einführung in grafische Oberflächen
14.9.3 Zeichnen von Inhalten auf ein JFrame
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
S Interface JButton etc. wird in JFrame mit paint() nicht angezeigt Java Basics - Anfänger-Themen 6
E JButton-Text wird in Schleife nicht geändert Java Basics - Anfänger-Themen 4
V wie kann ich eine Schleife pausieren, bis ein Jbutton gedrückt wird ? Java Basics - Anfänger-Themen 17
A JButton wird kleiner mit Border Java Basics - Anfänger-Themen 3
G JButton wird riesig angezeigt ! Java Basics - Anfänger-Themen 7
Hilde22 Neu Start JButton einfügen Java Basics - Anfänger-Themen 2
W GUI - JButton ohne Funktion? Java Basics - Anfänger-Themen 24
M JButton setBackground() färbt nicht den ganzen Knopf Java Basics - Anfänger-Themen 4
C JButton reagiert nicht auf actionListener Java Basics - Anfänger-Themen 15
G jButton führt Main Methode nicht richtig aus Java Basics - Anfänger-Themen 3
J Jbutton blinkt Java Basics - Anfänger-Themen 5
C JButton Text 2 Mal ändern funktioniert nicht Java Basics - Anfänger-Themen 8
E JButton und JTextField Java Basics - Anfänger-Themen 1
V_Fynn03 Erste Schritte JButton funktioniert nicht trotz richtiger Methode. Java Basics - Anfänger-Themen 17
J Erste Schritte if Abfrage von JButton in 2. Klasse Java Basics - Anfänger-Themen 27
J Erste Schritte Actionlistener für tbar/ JButton Java Basics - Anfänger-Themen 15
krgewb Icon von JButton ändern Java Basics - Anfänger-Themen 1
P JButton -Arrays Java Basics - Anfänger-Themen 4
A JButton in anderer Klasse bearbeiten. Java Basics - Anfänger-Themen 2
L Erste Schritte JButton reagiert nicht Java Basics - Anfänger-Themen 5
S Bild über JButton legen Java Basics - Anfänger-Themen 3
V Einem JButton anweisungen geben Java Basics - Anfänger-Themen 4
D Methoden JButton und JLabel in einer Methode erstellen Java Basics - Anfänger-Themen 5
F Interface JButton von anderer Klasse hinzufügen Java Basics - Anfänger-Themen 2
J JButton macht was er will Java Basics - Anfänger-Themen 3
D JButton soll Farbe von JTextfield ändern Java Basics - Anfänger-Themen 5
H JButton - Wechsel der Textfarbe alle 500ms Java Basics - Anfänger-Themen 10
G KeyListener und JButton vertragen sich nicht Java Basics - Anfänger-Themen 1
N JButton anpassen Java Basics - Anfänger-Themen 3
S JButton soll für bestimmte Zeit verschwinden Java Basics - Anfänger-Themen 5
schoenosrockos JButton füllt immer das ganze frame Java Basics - Anfänger-Themen 1
D JButton in JDialog mit Action belgen Java Basics - Anfänger-Themen 6
V JButton einer anderen Klasse übergeben? Java Basics - Anfänger-Themen 6
F JButton [] mit Werten hinterlegen Java Basics - Anfänger-Themen 10
M Code um per jButton ein neues Fenster zu öffnen Java Basics - Anfänger-Themen 3
A weiter JButton Fehler Java Basics - Anfänger-Themen 3
W JTable mit einem JButton-Array füllen Java Basics - Anfänger-Themen 4
S JCombobox und JButton verknüpfen Java Basics - Anfänger-Themen 6
N Erste Schritte JButton reagiert nur einmal. Java Basics - Anfänger-Themen 12
S JButton Java Basics - Anfänger-Themen 2
A Farben wechseln mit JButton Java Basics - Anfänger-Themen 2
S Farbe eine Zeile in JTable ändern, wenn JButton geklickt wurd Java Basics - Anfänger-Themen 4
F Funktion eines JButton in einen Vektor verlagern Java Basics - Anfänger-Themen 4
A Labels Inner JButton Event Erstellbar? Java Basics - Anfänger-Themen 3
K JButton alles zurücksetzen Java Basics - Anfänger-Themen 1
U JButton: Beschriftung ueber Variable zuweisen Java Basics - Anfänger-Themen 6
S JButton erscheint erst bei Mouseover Java Basics - Anfänger-Themen 10
S JButton mit ActionListener Java Basics - Anfänger-Themen 5
S JDK installieren JButton BorderPoints?! Java Basics - Anfänger-Themen 7
E Problem mit erben von JButton Java Basics - Anfänger-Themen 7
J Bei Hinzufügen von JButton Programm langsam Java Basics - Anfänger-Themen 3
J Verknüpfung von JButton to JTextField Java Basics - Anfänger-Themen 4
S Jbutton per Passworteingabe aktivieren Java Basics - Anfänger-Themen 2
G über JButton Action einen anderen Button verändern Java Basics - Anfänger-Themen 7
H JButton - Icon(.png) aus resources laden Java Basics - Anfänger-Themen 23
M Hintergrundbild für JButton Java Basics - Anfänger-Themen 6
A jbutton - icon linksbündig, text zentriert Java Basics - Anfänger-Themen 10
M Input/Output JFrame mit JButton und JTextfield Java Basics - Anfänger-Themen 114
J Hilfe bei JButton Java Basics - Anfänger-Themen 6
A JButton[] und String[] in doppelter For-Schleife Java Basics - Anfänger-Themen 4
W JButton in gleiche Größe bringen Java Basics - Anfänger-Themen 4
pg1337 JButton zuschneiden Java Basics - Anfänger-Themen 3
T Modales JDialog schliessen mit JButton Java Basics - Anfänger-Themen 2
D JButton Array setBackground Java Basics - Anfänger-Themen 2
F JButton wie selektierter JTabbebPane-Header Java Basics - Anfänger-Themen 7
G jButton bei Klick String +1 Java Basics - Anfänger-Themen 5
C OOP Java JButton mit Funktion belegen Java Basics - Anfänger-Themen 3
C JButton.getIcon() != null Java Basics - Anfänger-Themen 3
F welches Layout für JButton-Liste verwenden Java Basics - Anfänger-Themen 6
T JButton Text ändern Java Basics - Anfänger-Themen 4
L JButton erscheint nur mit pack() Java Basics - Anfänger-Themen 3
U Passwort auf JButton setzen. Java Basics - Anfänger-Themen 2
E JButton Hintergrund / Rahmen entfernen? Java Basics - Anfänger-Themen 4
L Bild auf einem JButton Java Basics - Anfänger-Themen 4
K JButton.setText Problem Java Basics - Anfänger-Themen 6
M JButton und DisabledIcon Java Basics - Anfänger-Themen 2
K jButton zur Laufzeit hinzufügen Java Basics - Anfänger-Themen 22
A GUI - JButton problem! Java Basics - Anfänger-Themen 5
M JButton selbst nachprogrammieren Java Basics - Anfänger-Themen 3
A JButton Textrahmen Java Basics - Anfänger-Themen 7
A Platzierung eines JButton Java Basics - Anfänger-Themen 4
D JButton oder ImageIcon klickt "langsam" Java Basics - Anfänger-Themen 5
E JButton klassenübergreifend nutzen? Java Basics - Anfänger-Themen 6
R Liste graphischer Objekte z.B. JButton dynamisch erstellen Java Basics - Anfänger-Themen 13
J JList Inhalt nach JButton Klick aktualisieren Java Basics - Anfänger-Themen 8
S JButton trotz Box-Layout skalieren Java Basics - Anfänger-Themen 6
P JButton identifizieren Java Basics - Anfänger-Themen 8
K Funktion zu einem JButton hinzufügen Java Basics - Anfänger-Themen 27
D HTML Text von jButton disablen Java Basics - Anfänger-Themen 2
E Auf JButton in Arraylist zugreifen Java Basics - Anfänger-Themen 6
E Andere Form eines JButton Java Basics - Anfänger-Themen 17
A JButton ActionListener nach einmaligem Ausführen zurücksetzen Java Basics - Anfänger-Themen 13
B JButton Größe einstellen? Java Basics - Anfänger-Themen 3
E Zeilenumbruch in JButton mit Variable Java Basics - Anfänger-Themen 2
A JButton erscheint nicht (BlueJ) Java Basics - Anfänger-Themen 2
M JButton sieht komisch aus :-) Java Basics - Anfänger-Themen 5
B JPanel über JButton umändern Java Basics - Anfänger-Themen 9
D JButton transparent bekommen? Java Basics - Anfänger-Themen 5
H JButton Unsichtbar Java Basics - Anfänger-Themen 7
R JTextField mittels JButton in Konsole ausgeben Java Basics - Anfänger-Themen 2

Ähnliche Java Themen

Neue Themen


Oben