String in JFrame ausgeben

Rockfreak

Mitglied
Wie schon in der Überschrift gesagt, möchte ich Texte in meinem JFrame ausgeben.
Ich habe einen kleinen MusicPlayer gebastelt und möchte jetzt die Knöpfe beschriften.
Habe alles soweit ich wusste gemacht aber die Schrift wird nicht ausgegeben und Fehlermeldungen gibt es auch nciht.

Hier mal der Code
Java:
import javax.swing.*;
import javax.swing.JTextField;
import java.awt.*;

public class NewWindow extends JFrame  
{
    protected static final long serialVersionUID = 1;
    protected ImageIcon play = new ImageIcon(NewWindow.class.getResource("play.png"));
    protected ImageIcon stop = new ImageIcon(NewWindow.class.getResource("stop.png"));
    protected ImageIcon pause = new ImageIcon(NewWindow.class.getResource("pause.png"));
    protected ImageIcon eject = new ImageIcon(NewWindow.class.getResource("eject.png"));
    private JButton buttonplay = new JButton (play);
    private JButton buttonstop = new JButton (stop);
    private JButton buttonpause = new JButton (pause);
    private JButton buttoneject = new JButton (eject);
    JLayeredPane ebene;
    
    // Schrift über/unter den Buttons
     private String ausgabeText="Play";
	 private JTextField ausgabe= new JTextField(ausgabeText, 10);
 	// Textfelder Font definieren
  	Font textFont = new Font ("Square 721 BT", NORMAL, 20);
    
      public NewWindow()                                                                    
        {
                 super("MusicPlayer");      						// Text oben in der Leiste                                                     
                 setSize(700,200);                                  // Fenster Größe
                 setLocation(300,300);                              // Wo sich das Fenster beim starten befinden soll                     
                 setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);    // Schließe Fenster und Programm beim beenden 
                 setBackground(Color.LIGHT_GRAY);
                 setLayout(null);
                 
                 MyJPanel mp = new MyJPanel();						// initialisiert das Panel für den Hintergrund
                 mp.setLayout(null);
                 
                 ebene = this.getLayeredPane();
                 ebene.add(mp, JLayeredPane.FRAME_CONTENT_LAYER, 0);
                 
                 int buttonx=100;									// x-Koordinate für die Buttons
                 int buttony=110;									// y-Koordinate für die Buttons
                 int buttonw=48;									// größe der Buttons
                 int buttonh=48;									// größe der Buttons
                 mp.setBounds(0,0,700,200);
                 buttonstop.setBounds(200, buttony, buttonw, buttonh);
                 buttonstop.setBorder(null);
                 buttoneject.setBounds(50, buttony, buttonw, buttonh);
                 buttoneject.setBorder(null);
                 buttonplay.setBounds(buttonx, buttony, buttonw, buttonh);
                 buttonplay.setBorder(null);
                 buttonpause.setBounds(150, buttony, buttonw, buttonh);
                 buttonpause.setBorder(null);
                 mp.add(buttoneject);
                 mp.add(buttonstop);
                 mp.add(buttonplay);
                 mp.add(buttonpause);    
                 buttonstop.setActionCommand("Stop");                               
                 buttoneject.setActionCommand("Öffnen");                                
                 buttonplay.setActionCommand("Start");
                 buttonpause.setActionCommand("Pause");

             	//Groesse, Positionen und Fonts der randlosen Textfelder
         	   int textx=100;
         	   int texty=250;
         	   int textw=100;
         	   int texth=100;
              
         	  // textx=butx+butw;
         	  // textw=200;
         	   ausgabe.setBounds(textx,texty,textw,texth);
         	   ausgabe.setFont(textFont);
         	   ausgabe.setBackground(Color.black);
              //  ausgabe.setHorizontalAlignment(JTextField.LEFT); 
         	  //  ausgabe.setHorizontalAlignment(JTextField.RIGHT); 
         	   ausgabe.setBorder(null);
               ausgabe.setOpaque(false);
               
               add(ausgabe);  // Textausgeben "play"
                                
                 // Menü-Leiste
                 MenuBar mb = new MenuBar();    
                        
                 // Ein Menü
                 Menu m1 = new Menu("Datei");
                 mb.add(m1);
 
                 // Menüeinträge
                 MenuItem oeff = new MenuItem("Öffnen");
                 MenuItem schl = new MenuItem("Schließen");
                 
                 // Menue Action
                 MenueSchliessenService menueSchliessen = new MenueSchliessenService(this);
                 schl.addActionListener(menueSchliessen);
                 // Datai auswählen
                 OeffnenDialogClass odc = new OeffnenDialogClass();
                 oeff.addActionListener(odc);
                 // Datei abspielen
                 setMenuBar(mb);
                 m1.add(schl);  
                 m1.add(oeff); 
                 // Actionlistener für die Buttons   
                 buttoneject.addActionListener(odc);
                 buttonplay.addActionListener(odc);
                 buttonstop.addActionListener(odc);
                 buttonpause.addActionListener(odc); 
        }

}
 

tfa

Top Contributor
Schrift bekommt man in Buttons mit setText(String).
Aber wozu noch Schrift, wenn du doch schon Icons hast?
 

Rockfreak

Mitglied
mache ich das nicht genau hier:
Java:
// Schrift über/unter den Buttons
     private String ausgabeText="Play";
	 private JTextField ausgabe= new JTextField(ausgabeText, 10);
 
S

SlaterB

Gast
such doch mal ne Stunde lang im Internet nach JLabel mit Icon,
in Tutorials oder Beispielen kommst du vielleicht an deinem gesuchten Ergebnis vorbei..

zum JTextField:
du fügst es direkt in das JFrame ein, während die Buttons im MyPanel landen,
darin passt die Höhe von 250 auch nicht besonders gut

jetzt sehe ich dass du das JTextField vielleicht extra unter das MyPanel platzieren willst,
auch dafür ist es zu tief bzw. da ist gar kein Platz vorhanden,
Play wird anscheinend im unteren möglichen Bereich gemalt,
bei y = 250 und Höhe 100 musst du schon bis zu Position 350 runterschauen, dein JFrame ist aber auch wieder in der Höhe auf 200 begrenzt..
 

Rockfreak

Mitglied
na so langsam wirds :)
Wenn ich das JFrame auf den Wert y= 400 setze und text y auf 170 dann seh ich schon mal den text im nicht sichtbaren bereich, wie du sagtest. Wenn ich ihn jetzt hoch setzte sehe ich noch kurz beim Start den Text und dann wird er wohl vom hintergrund übermalt, wo setzte ich den text denn am besten an, so dass er auch gezeigt wird?


Ach so, ich will nicht wissen wieviel stunden ich schon gegoogelt hab aber wenn man die richtigen stichworte nicht kennt...

danke schon mal
 
S

SlaterB

Gast
wieso 170 wenn MyPanel bis 200 reicht? ich würde darunter anfangen, z.B. 210 und erstmal als Höhe nur 30 oder so, für eine Zeile reicht das vielleicht,

> Ach so, ich will nicht wissen wieviel stunden ich schon gegoogelt hab aber wenn man die richtigen stichworte nicht kennt...

deswegen sage ich ja jetzt, suche nach 'JLabel mit Icon',
Google

erster Link
Adding an Icon to a JLabel Component | Example Depot
dort steht
Java:
// Create a label with text and an icon; the icon appears to the left of the text 
JLabel label = new JLabel("Text Label", icon, JLabel.CENTER);
schon könnte dir eine vielleicht bisher unbekannte Art von Platzierung innerhalb des JLabels auffallen,
spätestens jetzt den zugehörigen Konstruktor nachschlagen (schon vorher hätte in der API nach Möglichkeiten gesucht werden können),
führt zum Begriff 'horizontalAlignment', da ist bestimmt vertical auch nicht fern, das sind mindestens neue gute Suchbegriffe

ich sage noch nicht dass das gleich dein Problem löst, nur dass du mit wenig Arbeit selber viel erreichen kannst,
wenn du dann immer noch fragen musst klingt
'ich habe JLabel mit verschiedenen Alignment-Optionen ausprobieren, aber wie genau erreicht man xy?'
schon viel angenehmer als nur 'wie macht man [eines von tausend Problemen an diesem Tag]?'
 

Rockfreak

Mitglied
Habe alles so gemacht, wie du es empfohlen hast. Aber ich bekomme nur Fehlermeldungen.

Bei:
Java:
   JLabel buttonstop = new JLabel("STOP", stop, JLabel.CENTER);
macht er zwar den Button aber neben dem Button ist nur ein schwarzer punkt (rechts daneben)
Bei:
Java:
buttonstop.setVerticalTextPosition(JLabel.BOTTOM);
buttonstop.setHorizontalTextPosition(JLabel.CENTER);
kommen nur noch Fehlermeldungen in Eclipse.
Und so steht es in allen Anleitungen...
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
R Swing Ein gezeichneten String aus dem JFrame löschen AWT, Swing, JavaFX & SWT 5
C Swing Übergabe von String an JLabel AWT, Swing, JavaFX & SWT 9
2 JavaFX die ChoiceBox leitet den String nicht weiter oder es komm zu einem NullPointer AWT, Swing, JavaFX & SWT 8
officialmaxl JavaFX Textfield getTextfield() in String speichern AWT, Swing, JavaFX & SWT 1
H String zu int/long AWT, Swing, JavaFX & SWT 8
D String als Textdatei in ausgewähltem Speicherplatz speichern AWT, Swing, JavaFX & SWT 32
H String teilen, damit bei JLabel keine Punkte am Ende angezeigt werden AWT, Swing, JavaFX & SWT 4
J SWT Search string highlite AWT, Swing, JavaFX & SWT 5
M JavaFX String aus TextField reagiert nicht wie erwartet AWT, Swing, JavaFX & SWT 3
F RGB-Werte aus einem String einlesen AWT, Swing, JavaFX & SWT 26
J Event Handling Input auf String testen, Fehlermeldung ausgeben AWT, Swing, JavaFX & SWT 4
D JavaFX ComboBox String setzen AWT, Swing, JavaFX & SWT 20
Y Darstellung und MouseHover bei bestimmten Wörtern in einem String AWT, Swing, JavaFX & SWT 2
X Zeilen aus einer Textdatei einzelnd als String abrufen AWT, Swing, JavaFX & SWT 8
KilledByCheese Event Handling Vom ActionEvent auf String zugreifen - genaueres in der Beschreibung AWT, Swing, JavaFX & SWT 3
T replace string AWT, Swing, JavaFX & SWT 1
D String zu StringProperty Konvertieren AWT, Swing, JavaFX & SWT 4
T jTextField mit String befüllen AWT, Swing, JavaFX & SWT 1
E Eigenes TableModel für ArrayList<String[]> AWT, Swing, JavaFX & SWT 5
F Swing String[] in JTextArea ausgeben. Jeder Eintrag in neue Zeile, aber ohne "\n"- Geht das? AWT, Swing, JavaFX & SWT 3
L Zwei String Array in eine Spalte einfügen AWT, Swing, JavaFX & SWT 1
P DefaultStyledDocument eingegebenen String durchsuchen und bestimmte Sachen einfärben AWT, Swing, JavaFX & SWT 1
B 2D-Grafik String drehen/platzieren/formatieren in bestimmten Bereich AWT, Swing, JavaFX & SWT 1
A Swing Logikaufgabe: Zeilenanzahl einer JTable mit 3d String dynamisch anpassen AWT, Swing, JavaFX & SWT 2
S XML Output String Format AWT, Swing, JavaFX & SWT 2
R Swing JTextField getText() liefert leeren String AWT, Swing, JavaFX & SWT 6
P Swing String mit unterschiedlichen Formaten zusammenbauen AWT, Swing, JavaFX & SWT 14
T Swing HTML Text aus JLabel ohne "HTML-Tags" in String einlesen AWT, Swing, JavaFX & SWT 5
J 2D-Grafik String aus array wird nicht angezeigt AWT, Swing, JavaFX & SWT 2
L Swing JToogleButton Vordergrundfarbe bei HTML String AWT, Swing, JavaFX & SWT 4
T Swing JProgressBar mit String unschön AWT, Swing, JavaFX & SWT 5
M Swing String zerlegen AWT, Swing, JavaFX & SWT 2
J Swing String soll als Variable dienen AWT, Swing, JavaFX & SWT 11
A Text (String) zu einer Box hinzufügen AWT, Swing, JavaFX & SWT 16
D textfeld string zu float AWT, Swing, JavaFX & SWT 5
B Color String Code AWT, Swing, JavaFX & SWT 3
C JTextArea scrollt bei append(String) aus Threads nicht ans Ende AWT, Swing, JavaFX & SWT 7
E selektierter Datensatz in JList als String Datentyp AWT, Swing, JavaFX & SWT 23
S String is null Fehler AWT, Swing, JavaFX & SWT 2
M SomeClass.class.getResourceAsStream(String filename) funktioniert nicht in jar) AWT, Swing, JavaFX & SWT 32
B JTable Component mit String? AWT, Swing, JavaFX & SWT 4
S String Array Ausgabe im JLabel ??? AWT, Swing, JavaFX & SWT 8
D JSplitPane, Jtree, CardLayout (constraint must be a string) AWT, Swing, JavaFX & SWT 9
L SWT Text SelectionText ersetzen durch anderen String AWT, Swing, JavaFX & SWT 6
B Color.BLUE in String umwandeln AWT, Swing, JavaFX & SWT 4
H String auf Knopfdruck in JPanel zeichnen. AWT, Swing, JavaFX & SWT 6
P 2D-Grafik String übergeben, PNG soll rauskommen AWT, Swing, JavaFX & SWT 9
A Formatierten String ausgeben (drawString) AWT, Swing, JavaFX & SWT 5
S Swing Grundprinzip String ausgeben, aber wie? AWT, Swing, JavaFX & SWT 6
R JComboBox Ausgabe in String speichern AWT, Swing, JavaFX & SWT 3
TiME-SPLiNTER Swing JListModel: String rendern AWT, Swing, JavaFX & SWT 2
D Zwei String Attribute über eine Methode als Zeilen in einer Tabelle darstellen AWT, Swing, JavaFX & SWT 9
C Swing Text eines JButton mit String definieren? Reihenfolge? AWT, Swing, JavaFX & SWT 6
S [Button] setText("String") AWT, Swing, JavaFX & SWT 5
1 BufferedImage in byte[], dann in String und zurück AWT, Swing, JavaFX & SWT 7
I String lowercase, uppercase und umdrehen AWT, Swing, JavaFX & SWT 3
D Swing JTextField String anhängen AWT, Swing, JavaFX & SWT 7
F Swing String Array mit JTextArea anzeigen AWT, Swing, JavaFX & SWT 13
P Canvas: String wird nicht gezeichnet AWT, Swing, JavaFX & SWT 5
D SWT String aus Textfeld auslesen und in eine Tabelle speichern AWT, Swing, JavaFX & SWT 5
T SWT String mitten ins Textfeld einfügen + richtige Cursorposition AWT, Swing, JavaFX & SWT 3
T Swing Wie kann ich einen String in ein TreePath umwandeln? AWT, Swing, JavaFX & SWT 5
H String ausführen und damit weiterarbeiten AWT, Swing, JavaFX & SWT 4
radiac AWT Mausposition als String ausgeben??? AWT, Swing, JavaFX & SWT 5
U Swing Eingabe von JTextField in einen String übergeben. AWT, Swing, JavaFX & SWT 3
N SWT Ende vom String in Text anzeigen AWT, Swing, JavaFX & SWT 5
B ActionEvent Dateipfad als String übergeben AWT, Swing, JavaFX & SWT 11
bugmenot JTextPane String stimmt nicht mit übergebenem String überein AWT, Swing, JavaFX & SWT 9
G JTextArea: String formatieren AWT, Swing, JavaFX & SWT 2
G Ein Wort in einem String färben in einer Canvas AWT, Swing, JavaFX & SWT 10
S List<String> in JTextArea! AWT, Swing, JavaFX & SWT 4
F kleines problem beim suchen in einem String AWT, Swing, JavaFX & SWT 15
G in JTextField wie in der Console Ein String ein lesen AWT, Swing, JavaFX & SWT 8
G Date in einen String umwandeln AWT, Swing, JavaFX & SWT 4
S schauen ob ein string leer ist AWT, Swing, JavaFX & SWT 4
B JTextPane und Image importieren in HTML String. AWT, Swing, JavaFX & SWT 2
S Suchen im String-Array AWT, Swing, JavaFX & SWT 3
mabe83 Swing: jTableCellRenderer -> Klappt nur bei String-Spalte AWT, Swing, JavaFX & SWT 2
O String aus Klasse X in Klasse Y befördern AWT, Swing, JavaFX & SWT 12
M leerzeichen aus string entfernen AWT, Swing, JavaFX & SWT 3
S String an eine andere Klasse im anderem package übergeben AWT, Swing, JavaFX & SWT 3
B NullPointerException bei String vergleich AWT, Swing, JavaFX & SWT 5
T String in String [] umwandeln?? AWT, Swing, JavaFX & SWT 4
S Checkbox oder String in JTable-Spalte AWT, Swing, JavaFX & SWT 4
E Frage zum String AWT, Swing, JavaFX & SWT 6
M BufferedImage mit html interpretierten String beschriften AWT, Swing, JavaFX & SWT 3
K Choice auswahl und String in Int AWT, Swing, JavaFX & SWT 8
Y entfernten String einer JTextPane per DocumentListener AWT, Swing, JavaFX & SWT 5
C string wird mehr fach gezeichnet AWT, Swing, JavaFX & SWT 3
S String aus JTextField AWT, Swing, JavaFX & SWT 11
B JTable String übergeben AWT, Swing, JavaFX & SWT 3
C string spiegeln AWT, Swing, JavaFX & SWT 14
M jEditorPane String to html AWT, Swing, JavaFX & SWT 2
A String aus einem JTextField an ein JLabel übergeben AWT, Swing, JavaFX & SWT 10
S double in String umwandeln AWT, Swing, JavaFX & SWT 6
R Double in der Tabelle statt String und Integer AWT, Swing, JavaFX & SWT 3
G ActionListener zu String hinzufügen AWT, Swing, JavaFX & SWT 2
I JProgressBar String anzeigen, danach wieder normale Ansicht AWT, Swing, JavaFX & SWT 3
G Quadratmeter im String darstellen AWT, Swing, JavaFX & SWT 2
F String aus JTextField AWT, Swing, JavaFX & SWT 5

Ähnliche Java Themen

Neue Themen


Oben