JPanel, JButtons, Borderlayout

MarsUM

Mitglied
Hallo,
habe an meinem Audioplayer noch ein kleines Problem mit dem Adden der Buttons:


Mein Code im Konstruktor:

Java:
    public Player(PlayList pl){
    	
    	setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    	try {
    		UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
    	}
    	catch (Exception e) {
    		e.printStackTrace();
    	}
    	
    	
    JButton play = new JButton(new ImageIcon("play.png"));
    JButton pause = new JButton(new ImageIcon("pause.png"));
    JButton next = new JButton(new ImageIcon("next.png"));
    JButton stop = new JButton(new ImageIcon("stop.png"));
    JButton pl_editor = new JButton(new ImageIcon("pl_editor.png"));
    
    JPanel oben = new JPanel(new BorderLayout());
    JPanel unten = new JPanel(new BorderLayout());
    

    unten.add(play, BorderLayout.SOUTH);
    unten.add(pause, BorderLayout.SOUTH);
    unten.add(stop, BorderLayout.SOUTH);
    unten.add(next, BorderLayout.SOUTH);
    unten.add(pl_editor, BorderLayout.SOUTH);

    songDescription = new JLabel();
    playTime = new JLabel();
    
    oben.add(songDescription, BorderLayout.NORTH);  
    oben.add(playTime, BorderLayout.NORTH);  
    
    editorVisible = false;
    stopped = true;
    playList = pl;
    playListEditor = new PlayListEditor(this, playList);
	
   
    // (k)
    play.addActionListener(this);
    pause.addActionListener(this);
    stop.addActionListener(this);
    next.addActionListener(this);
    pl_editor.addActionListener(this);
    
    play.setActionCommand("AC_PLAY");
    stop.setActionCommand("AC_STOP");
    pause.setActionCommand("AC_PAUSE");
    next.setActionCommand("AC_NEXT");
    pl_editor.setActionCommand("AC_EDITOR");
	
   
    next.setEnabled(true);
    pl_editor.setEnabled(true);
    play.setEnabled(true);
    pause.setEnabled(false);
    stop.setEnabled(false);


Die Buttons erscheinen allerdings nicht, nur ein kleines leeres fenster öffnet sich beim starten.

Die 5 Buttons möchte ich mit der add-methode einem JPanel hinzufügen.
Anschließend für die zwei JLabel-Attribute Instanzen erzeugen und anschliessend das JPanel (mit den Buttons) und die JLabels wieder mit der add-methode einem JFrame hinzufügen. Das Ganze mit Borderlayout.

Wo habe ich was falsch gemacht?
 
Zuletzt bearbeitet:
S

SlaterB

Gast
die Reihenfolge der Fehler
1.
kein vollständiges Programm gepostet
2.
wenn überhaupt immer nur erstmal ein Button testen,
generell Programme für 1. so klein wie möglich, am besten < 30 Zeilen, unbekannte Klasse wie PlayListEditor raus
3.
keine Icons, die vielleicht nicht gefunden werden, ein Text-Button reicht doch erstmal
(wenn der geht, aber dann mit Icon nicht mehr, dann kann man das natürlich auch fragen, aber dann MIT dieser Information)

jetzt wirds interessanter:
4.
BorderLayout erlaubt nur eine Komponente in Gebieten wie SOUTH, wenn dort mehrere rein sollen
-> neues JPanel
5.
setVisible(true); ist nicht zu sehen, wenn das vor den anderen Befehlen steht, dann wird eh alles schiefgehen (Folge aus Punkt 1.)
(edit: ok, ist ein JFrame-Konstruktor, dann kann es vorher kaum stehen)
 
Zuletzt bearbeitet von einem Moderator:

MarsUM

Mitglied
die Reihenfolge der Fehler
1.
kein vollständiges Programm gepostet
2.
wenn überhaupt immer nur erstmal ein Button testen,
generell Programme für 1. so klein wie möglich, am besten < 30 Zeilen, unbekannte Klasse wie PlayListEditor raus
3.
keine Icons, die vielleicht nicht gefunden werden, ein Text-Button reicht doch erstmal
(wenn der geht, aber dann mit Icon nicht mehr, dann kann man das natürlich auch fragen, aber dann MIT dieser Information)

jetzt wirds interessanter:
4.
BorderLayout erlaubt nur eine Komponente in Gebieten wie SOUTH, wenn dort mehrere rein sollen
-> neues JPanel
5.
setVisible(true); ist nicht zu sehen, wenn das vor den anderen Befehlen steht, dann wird eh alles schiefgehen (Folge aus Punkt 1.)
(edit: ok, ist ein JFrame-Konstruktor, dann kann es vorher kaum stehen)



Dann hier mal die gesamte Player.java:

Java:
package studiplayer.ui;

import javax.swing.*;
import java.io.File;
import java.awt.BorderLayout;
import java.awt.Container;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;

import studiplayer.audio.*;


public class Player extends JFrame implements ActionListener{
	
	//Konstruktor
	
	
    public Player(PlayList pl){
    	
    	setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    	try {
    		UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
    	}
    	catch (Exception e) {
    		e.printStackTrace();
    	}
    	
    	
    JButton play = new JButton(new ImageIcon("play.png"));
    JButton pause = new JButton(new ImageIcon("pause.png"));
    JButton next = new JButton(new ImageIcon("next.png"));
    JButton stop = new JButton(new ImageIcon("stop.png"));
    JButton pl_editor = new JButton(new ImageIcon("pl_editor.png"));
    
    JPanel oben = new JPanel(new BorderLayout());
    JPanel oben2 = new JPanel(new BorderLayout());
    JPanel unten = new JPanel(new BorderLayout());
    JPanel unten2 = new JPanel(new BorderLayout());
    JPanel unten3 = new JPanel(new BorderLayout());
    JPanel unten4 = new JPanel(new BorderLayout());
    JPanel unten5 = new JPanel(new BorderLayout());
    

    unten.add(play, BorderLayout.SOUTH);
    unten2.add(pause, BorderLayout.SOUTH);
    unten3.add(stop, BorderLayout.SOUTH);
    unten4.add(next, BorderLayout.SOUTH);
    unten5.add(pl_editor, BorderLayout.SOUTH);

    songDescription = new JLabel();
    playTime = new JLabel();
    
    oben.add(songDescription, BorderLayout.NORTH);  
    oben2.add(playTime, BorderLayout.NORTH);  
    
    editorVisible = false;
    stopped = true;
    playList = pl;
    playListEditor = new PlayListEditor(this, playList);
	
   
    // (k)
    play.addActionListener(this);
    pause.addActionListener(this);
    stop.addActionListener(this);
    next.addActionListener(this);
    pl_editor.addActionListener(this);
    
    play.setActionCommand("AC_PLAY");
    stop.setActionCommand("AC_STOP");
    pause.setActionCommand("AC_PAUSE");
    next.setActionCommand("AC_NEXT");
    pl_editor.setActionCommand("AC_EDITOR");
	
   
    next.setEnabled(true);
    pl_editor.setEnabled(true);
    play.setEnabled(true);
    pause.setEnabled(false);
    stop.setEnabled(false);
    
    // (f) letzter pkt

    if(playList.isEmpty())
    {
        songDescription.setText("");
        setTitle("");
    } else
    {
        songDescription.setText(playList.getCurrentAudioFile().toString());
        setTitle(playList.getCurrentAudioFile().toString());
    }										
	
    
    
	this.pack();
	this.setVisible(true);
	
}

	
// (d)

    public static void main(String args[])
    {
        PlayList list;
        if(args.length > 0)
            list = new PlayList(args[0]);
        if((new File(DEFAULT_PLAYLIST)).exists())
            list = new PlayList(DEFAULT_PLAYLIST);
        else
            list = new PlayList();
        Player test = new Player(list);
        test.setVisible(true);
    }
	
	
// (g)
    
    public void stopCurrentSong()
    {
        setStopped(true);
        try {
			playList.getCurrentAudioFile().stop();
		} catch (NotPlayableException e) {
			e.printStackTrace();
		}
        playTime.setText("00:00");
    }
	
    
// (h)
    
    private class PlayerThread extends Thread
    {

        public void run()
        {
            while(!stopped) 
            {
                try
                {
                    playList.getCurrentAudioFile().play();
                }
                catch(NotPlayableException e)
                {
                    e.printStackTrace();
                }
                songDescription.setText(playList.getCurrentAudioFile().toString());
                setTitle(playList.getCurrentAudioFile().toString());
            }
        }

        final Player this$0;

        private PlayerThread()
        {
            this$0 = Player.this;
        }

        PlayerThread(PlayerThread playerthread)
        {
            this();
        }
    }

    private class TimerThread extends Thread
    {

        public void run()
        {
            while(!stopped) 
            {
                try
                {
                    playTime.setText(playList.getCurrentAudioFile().getFormattedPosition());
                }
                catch(NotPlayableException e1)
                {
                    e1.printStackTrace();
                }
                try
                {
                    Thread.sleep(1000L);
                }
                catch(InterruptedException e)
                {
                    e.printStackTrace();
                }
            }
        }

        final Player this$0;

        private TimerThread()
        {
            this$0 = Player.this;
        }

        TimerThread(TimerThread timerthread)
        {
            this();
        }
    }
    
    
// (j)
    
    public void playCurrentSong()
    {
        setStopped(false);
        (new PlayerThread(null)).start();
        (new TimerThread(null)).start();
    }


// (L)    
    
public void actionPerformed(ActionEvent e) {
    
	String command = e.getActionCommand();
    if(command.equals("AC_PLAY"))
    {
        playCurrentSong();
        play.setEnabled(false);
        stop.setEnabled(true);
        pause.setEnabled(true);
    } 
   
    else if(command.equals("AC_PAUSE"))
    {
        try {
			playList.getCurrentAudioFile().togglePause();
		} catch (NotPlayableException e1) {
			e1.printStackTrace();
		}
        play.setEnabled(false);
        pause.setEnabled(true);
        stop.setEnabled(true);
    }
    
    else if(command.equals("AC_STOP"))
    {
        stopCurrentSong();
        play.setEnabled(true);
        pause.setEnabled(false);
        stop.setEnabled(false);
    }
   
    else if(command.equals("AC_NEXT"))
    {
        playList.changeCurrent();
        play.setEnabled(false);
        pause.setEnabled(true);
        stop.setEnabled(true);
    	
    	{if(!stopped)
    	{
            stopCurrentSong();
            playCurrentSong();
    	}
    	else
    {
            songDescription.setText(playList.getCurrentAudioFile().toString());
            setTitle(playList.getCurrentAudioFile().toString());
    }	}
    }
    
    else if(command.equals("AC_EDITOR"))
        if(!editorVisible)
        {
            playListEditor.setVisible(true);
            setVisible(true);
        } else
        {
            playListEditor.setVisible(false);
            setVisible(false);
        }
	
}    
    

public void setStopped(boolean stopped)
{
    this.stopped = stopped;
}

public void setEditorStatus(boolean editorVisible)
{
    this.editorVisible = editorVisible;
}

JButton play;
JButton pause;
JButton next;
JButton stop;
JButton pl_editor;
    
private JLabel songDescription;
private JLabel playTime;
private boolean stopped;
private boolean editorVisible;
private PlayList playList;
private PlayListEditor playListEditor;
public static String DEFAULT_PLAYLIST = "playList.m3u";




}

Habe jetz auch mal mehrere JPanels geschaffen. (Falls du das so meintest)

setVisible is wohl auch nicht vor den anderen Befehlen.
 
S

SlaterB

Gast
hmm, gut, das entscheidene habe ich wohl vergessen ;)

die ganzen Panel oben, unten usw. müssen auch in die GUI eingefügt werden

this.add(oben, BorderLayou.NORTH);
usw.


viele EinzelPanel zu erzeugen bringt wenig, du musst doch ein Konzept haben bevor du da was machst,
wie soll es überhaupt aussehen, male ein Bild auf Papier,
für den Anfang lieber nur ein JPanel ohne ein Layout zu setzen (also Standard-FlowLayout)
 

MarsUM

Mitglied
Ein grossartiges Layout brauche ich gar nicht.

Habe mir das schon vorher überlegt, es gibt einfach zwei zeilen:

Die obere beinhaltet Titelinfos, rechts daneben Gesamt-Laufzeit d. Titels.

Untere Zeile (von links nach rechts):
Aktuelle Abspielposition, Start, Pause, Stop, Next, Playlisteditor.


So, hab das Panel nun auch in die GUI eingefügt und die die Buttons mit einfachen Text belegt. das unten2, unten3, etc wieder raus

FYI:
Java:
    JPanel oben = new JPanel(new BorderLayout());
    this.add(oben, BorderLayout.NORTH);
    JPanel unten = new JPanel(new BorderLayout());
    this.add(unten, BorderLayout.SOUTH);

    unten.add(play, BorderLayout.SOUTH);
    unten.add(pause, BorderLayout.SOUTH);
    unten.add(stop, BorderLayout.SOUTH);
    unten.add(next, BorderLayout.SOUTH);
    unten.add(pl_editor, BorderLayout.SOUTH);

    songDescription = new JLabel();
    playTime = new JLabel();
    
    oben.add(songDescription, BorderLayout.NORTH);  
    oben.add(playTime, BorderLayout.NORTH);

Wenn ichs ablaufen lasse, kommt allerdings nur der Button mit PlaylistEditor. Ich schätze dass es eben dann daran liegt, dass nur eine Komponente in South erlaubt ist und er dann eben die letzte nimmt...

Wie kriege ich die dann alle in die zweite untere Zeile?
 
S

SlaterB

Gast
aus
unten = new JPanel(new BorderLayout());
mache
unten = new JPanel();

und aus
unten.add(play, BorderLayout.SOUTH);
wird
unten.add(play);
usw.
 

MarsUM

Mitglied
So der Player startet nun schon entsprechend, sogar mit den passenden image-dateien als Buttons. Musik lässt sich auch schon drüber abspielen.

Allerdings spinnt der Actionlistener/Actionperformer/ActionCommander (die Funktion halt)... Die Buttons sollten laut code deaktiviert bzw aktiviert werden. je nach Zustand. Bin den Code einige mal durchgegegangen und find den fehler mal wieder nicht.

Der Code:

Java:
package studiplayer.ui;

import javax.swing.*;
import java.io.File;
import java.awt.BorderLayout;
import java.awt.Container;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;

import studiplayer.audio.*;


public class Player extends JFrame implements ActionListener{
	
    private class PlayerThread extends Thread
    {

        public void run()
        {
            while(!stopped) 
            {
                try
                {
                    playList.getCurrentAudioFile().play();
                }
                catch(NotPlayableException e)
                {
                    e.printStackTrace();
                }
                songDescription.setText(playList.getCurrentAudioFile().toString());
                setTitle(playList.getCurrentAudioFile().toString());
            }
        }

        final Player this$0;

        private PlayerThread()
        {
            this$0 = Player.this;
        }

        PlayerThread(PlayerThread playerthread)
        {
            this();
        }
    }

    private class TimerThread extends Thread
    {

        public void run()
        {
            while(!stopped) 
            {
                try
                {
                    playTime.setText(playList.getCurrentAudioFile().getFormattedPosition());
                }
                catch(NotPlayableException e1)
                {
                    e1.printStackTrace();
                }
                try
                {
                    Thread.sleep(1000L);
                }
                catch(InterruptedException e)
                {
                    e.printStackTrace();
                }
            }
        }

        final Player this$0;

        private TimerThread()
        {
            this$0 = Player.this;
        }

        TimerThread(TimerThread timerthread)
        {
            this();
        }
    }
    
    	
	
    public void setStopped(boolean stopped)
    {
        this.stopped = stopped;
    }

    public void setEditorStatus(boolean editorVisible)
    {
        this.editorVisible = editorVisible;
    }

	
	//Konstruktor

    public Player(PlayList pl){
    	
    	setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    	try {
    		UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
    	}
    	catch (Exception e) {
    		e.printStackTrace();
    	}
    	
    	
    JButton play = new JButton(new ImageIcon("...play.png"));
    JButton pause = new JButton(new ImageIcon("...\pause.png"));
    JButton next = new JButton(new ImageIcon("...next.png"));
    JButton stop = new JButton(new ImageIcon("...stop.png"));
    JButton pl_editor = new JButton(new ImageIcon("...pl_editor.png"));
    
    JPanel oben = new JPanel();
    this.add(oben, BorderLayout.NORTH);
    JPanel unten = new JPanel();
    this.add(unten, BorderLayout.SOUTH);

    songDescription = new JLabel();
    playTime = new JLabel();
    
    unten.add(playTime);
    
    unten.add(play);
    play.setActionCommand("AC_PLAY");
    play.addActionListener(this);
    
    unten.add(pause);
    pause.setActionCommand("AC_PAUSE");
    pause.addActionListener(this);
    
    unten.add(stop);
    stop.setActionCommand("AC_STOP");
    stop.addActionListener(this);
    
    unten.add(next);
    next.setActionCommand("AC_NEXT");
    next.addActionListener(this);
    
    unten.add(pl_editor);
    pl_editor.setActionCommand("AC_EDITOR");
    pl_editor.addActionListener(this);
    
    oben.add(songDescription);  
  
    
    editorVisible = false;
    stopped = true;
    playList = pl;
    playListEditor = new PlayListEditor(this, playList);
	
  
    
    // (f) letzter pkt

    if(playList.isEmpty())
    {
        songDescription.setText("");
        setTitle("");
    } else
    {
        songDescription.setText(playList.getCurrentAudioFile().toString());
        setTitle(playList.getCurrentAudioFile().toString());
    }										
	
    
    
    // (k)
    
    next.setEnabled(true);
    pl_editor.setEnabled(true);
    play.setEnabled(true);
    pause.setEnabled(false);
    stop.setEnabled(false);
    
	this.pack();
	this.setVisible(true);
	
}

// (L)    
    
public void actionPerformed(ActionEvent e) {
    
	String command = e.getActionCommand();
    if(command.equals("AC_PLAY"))
    {
        playCurrentSong();
        play.setEnabled(false);
        stop.setEnabled(true);
        pause.setEnabled(true);
    } 
   
    else if(command.equals("AC_PAUSE"))
    {
        try {
			playList.getCurrentAudioFile().togglePause();
		} catch (NotPlayableException e1) {
			e1.printStackTrace();
		}
        play.setEnabled(false);
        pause.setEnabled(true);
        stop.setEnabled(true);
    }
    
    else if(command.equals("AC_STOP"))
    {
        stopCurrentSong();
        play.setEnabled(true);
        pause.setEnabled(false);
        stop.setEnabled(false);
    }
   
    else if(command.equals("AC_NEXT"))
    {
        playList.changeCurrent();
        play.setEnabled(false);
        pause.setEnabled(true);
        stop.setEnabled(true);
    	
    	{if(!stopped)
    	{
            stopCurrentSong();
            playCurrentSong();
    	}
    	else
    {
            songDescription.setText(playList.getCurrentAudioFile().toString());
            setTitle(playList.getCurrentAudioFile().toString());
    }	}
    }
    
    else if(command.equals("AC_EDITOR"))
        if(!editorVisible)
        {
            playListEditor.setVisible(true);
            setVisible(true);
        } else
        {
            playListEditor.setVisible(false);
            setVisible(false);
        }
	
}    
    
//(g)

public void stopCurrentSong()
{
    setStopped(true);
    try {
		playList.getCurrentAudioFile().stop();
	} catch (NotPlayableException e) {
		e.printStackTrace();
	}
    playTime.setText("00:00");
}

//(j)

public void playCurrentSong()
{
    setStopped(false);
    (new PlayerThread(null)).start();
    (new TimerThread(null)).start();
}

//(d)

public static void main(String args[])
{
    PlayList list;
    if(args.length > 0)
        list = new PlayList(args[0]);
    if((new File(DEFAULT_PLAYLIST)).exists())
        list = new PlayList(DEFAULT_PLAYLIST);
    else
        list = new PlayList();
    Player test = new Player(list);
    test.setVisible(true);
}

JButton play;
JButton pause;
JButton next;
JButton stop;
JButton pl_editor;
    
private JLabel songDescription;
private JLabel playTime;
private boolean stopped;
private boolean editorVisible;
private PlayList playList;
private PlayListEditor playListEditor;
public static String DEFAULT_PLAYLIST = "playList.m3u";




}

Dadurch dass die Buttons deaktiviert sind, kann ich auch kein lied weiter machen und/oder das Lied stoppen, pausieren, fortsetzen etc...
 

sambalmueslie

Bekanntes Mitglied
mal so paar kleinigkeiten :) am Rande, die es dir und anderen etwas einfacher machen sollten.

Für die ActionCommands nutze doch statische private Strings.

Das hat den Vorteil, dass du nur an einer Stelle den wirklichen String stehen hast und nicht auf Schreibfehler achten musst.

Beispiel

Java:
private static final String AC_PLAY = "AC_PLAY";

...


play.setActionCommand(AC_PLAY)

....


if(command.equals(AC_PLAY))
...


das richtige Schreiben der Konstanten überprüft dir dein Compiler :)

dann noch was anderes.
Deine Playerklasse mutiert gerade zur eierlegenden-woll-milch-Kuh.

Versuch das doch etwas aufzuteilen. (MVC ist dein Freund ;)

Beispielsweise so:

eine Klasse für die Anzeige (View)
eine Klasse für die Funktion (Controller)

damit hast du das ganze etwas getrennt.

Dann noch eine persönliche Vorliebe ist das verwenden von Gettern für die Gui-Elemente
die müssen nicht privat sein und erstellen den Button wenn er nicht existiert.

Dadurch wird dein Konstruktor etwas übersichtlicher :)

Beispiel

Java:
public Player(){
 setLayout(new BorderLayout(5,5));
 add(getTopPanel(), BorderLayout.NORTH);
....
}

private void JPanel getTopPanel(){
 if(topPanel == null){
  topPanel = new JPanel();
 }
 return topPanel;
}

private JPanel topPanel;

ok war viel und etwas OffTopic :)

Aber vielleicht hilft es dir etwas

Gruß Oli
 
S

SlaterB

Gast
im Konstruktor

play = new JButton(new ImageIcon("...play.png"));
statt
JButton play = new JButton(new ImageIcon("...play.png"));
usw.

sonst erzeugst du neue lokale Variablen, die wie die Klassenattribute heißen
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
richis-fragen Optisch JPanel BorderLayout vertikaler Rand dicker als horizontaler Rand Java Basics - Anfänger-Themen 4
N Klassen Hintergrundfarbe in JPanel ändert sich nicht Java Basics - Anfänger-Themen 3
J JSON mit einem JPanel Java Basics - Anfänger-Themen 3
J Ein mit UI-Designer erstelltes JPanel einblenden Java Basics - Anfänger-Themen 0
J Eine theoretische Frage zur Praxis - JPanel oder Canvas Java Basics - Anfänger-Themen 5
J Beim Start des Programms zB. eine Linie in JPanel ausgeben Java Basics - Anfänger-Themen 4
C mehrere JPanel in ein JFrame bringen Java Basics - Anfänger-Themen 9
M HILFE JPanel - Graphics Java Basics - Anfänger-Themen 1
B Scrollbares Fenster (JScrollPane) mit JPanel scrollt nicht Java Basics - Anfänger-Themen 3
Zeppi JPanel responsive Grid Java Basics - Anfänger-Themen 0
J JPanel in JScrollPanel Java Basics - Anfänger-Themen 4
Elyt JPanel als HintergrundBild Java Basics - Anfänger-Themen 7
W 2 JPanel in einem JFrame Java Basics - Anfänger-Themen 4
B Wie kann man an ein JPanel eine Scrollbar anheften? Java Basics - Anfänger-Themen 8
O Swing JPanel Java Basics - Anfänger-Themen 4
CptK Klassen JPanel nach Ablauf der Spielzeit neuladen Java Basics - Anfänger-Themen 2
S JPanel wird nicht angezeigt Java Basics - Anfänger-Themen 1
D Animation JPanel Java Basics - Anfänger-Themen 1
M JLabels "verrutschen" beim übergeben von JPanel Java Basics - Anfänger-Themen 2
D Auf angeklicktes JPanel zugreifen Java Basics - Anfänger-Themen 5
D JPanel mehrere Formen zeichnen Java Basics - Anfänger-Themen 5
D JPanel passt die Größe nicht an Java Basics - Anfänger-Themen 22
Y Webinhalt JPanel Java Basics - Anfänger-Themen 6
D Erste Schritte JPanel verschiebt Fenster via setVisible Java Basics - Anfänger-Themen 5
Dechasa Interface JFrame mit mehreren Übereinander liegenden JPanel Java Basics - Anfänger-Themen 5
S JPanel variablenabhängig erstellen Java Basics - Anfänger-Themen 13
J Methoden Dinge auf einem JPanel paltzieren Java Basics - Anfänger-Themen 1
Z JPanel wird zweimal hinterinander gezeichnet.. Wieso? Java Basics - Anfänger-Themen 4
F JFrame resize verschiebt JPanel Java Basics - Anfänger-Themen 3
A altes JPanel entfernen und neues öffnen Java Basics - Anfänger-Themen 5
I A0-Format in jpanel anzeigen Java Basics - Anfänger-Themen 1
R NullPointerException wegen JPanel oder doch nicht ? Java Basics - Anfänger-Themen 7
J Probleme mit eigenem JPanel (IDE Eclipse) Java Basics - Anfänger-Themen 4
S JPanel wird versetzt auf JFrame gelegt Java Basics - Anfänger-Themen 2
V jab ich eclipse verrückt gemacht :D ? array Jpanel, Jlabel Grafik Fehler / Frage Java Basics - Anfänger-Themen 5
R Focus auf JPanel im Thread Java Basics - Anfänger-Themen 9
I Problem mit JPanel Java Basics - Anfänger-Themen 0
B JPanel ändert die Hintergrundfarbe nicht Java Basics - Anfänger-Themen 2
F Threads funktionieren auf JPanel nicht Java Basics - Anfänger-Themen 1
C JPanel in MessageDialog Java Basics - Anfänger-Themen 1
B JPanel/JFrame in ein Applet umwandeln (Webfähig) Java Basics - Anfänger-Themen 7
S Inhalt von JPanel erst nach Resize sichtbar Java Basics - Anfänger-Themen 2
M Listener einerm JPanel hinzufuegen Java Basics - Anfänger-Themen 3
gamebreiti Methoden JPanel nach clearAll() und add neu zeichnen Java Basics - Anfänger-Themen 1
S vom JPanel aus durch Mouselistener Internet aufrufen Java Basics - Anfänger-Themen 6
Z JPanel bleibt leer Java Basics - Anfänger-Themen 2
E Bild per Verzeichnis/JFileChooser auf JPanel laden Java Basics - Anfänger-Themen 13
Q JPanel Java Basics - Anfänger-Themen 2
K Erste Schritte jpanel in einer klasse auslagern Java Basics - Anfänger-Themen 3
I Anfängerfrage JPanel repaint() Java Basics - Anfänger-Themen 6
N String auf JPanel bewegen Java Basics - Anfänger-Themen 6
K Erste Schritte Jframe Im Jpanel Java Basics - Anfänger-Themen 4
S Layout mit JPanel in JScrollPanel funktioniert nicht Java Basics - Anfänger-Themen 3
S JPanel drucken -> PrinterException Java Basics - Anfänger-Themen 2
B JPanel -JTable Java Basics - Anfänger-Themen 2
H JPanel Hintergrund transparent setzen? Java Basics - Anfänger-Themen 10
A Input/Output Hashmap in einem JPanel via JList anzeigen Java Basics - Anfänger-Themen 8
L zoomen aus jpanel Java Basics - Anfänger-Themen 7
P Bekomme in meinen JPanel nur eine JComponente angezeigt Java Basics - Anfänger-Themen 7
A Methoden repaint() zeichnet JPanel falsch Java Basics - Anfänger-Themen 3
R JFrame über einen JPanel Java Basics - Anfänger-Themen 5
I Veränderungen am JPanel vom JDialog aus Java Basics - Anfänger-Themen 6
F JPanel zu klein Java Basics - Anfänger-Themen 5
D GUI - Objekte in JPanel nach oben schieben Java Basics - Anfänger-Themen 2
S JPanel wird nicht eingefügt Java Basics - Anfänger-Themen 3
P Netbeans Platform - JLabel und JPanel setLocation Problem Java Basics - Anfänger-Themen 2
Kenan89 JPanel mit JTable Java Basics - Anfänger-Themen 9
I JPanel in JPanel Java Basics - Anfänger-Themen 2
A Zugriff auf Komponente innerhalb einer JPanel Java Basics - Anfänger-Themen 8
J Auf einem JPanel ein JFrame platzieren Java Basics - Anfänger-Themen 10
S JPanel anzeige Java Basics - Anfänger-Themen 2
propra Wie mache ich einem JPanel mein bereits instanziertes Model bekannt Java Basics - Anfänger-Themen 9
T Zugreifen auf JPanel Java Basics - Anfänger-Themen 4
K JPanel auslagern Java Basics - Anfänger-Themen 9
J Paint Methode von JPanel aufrufen Java Basics - Anfänger-Themen 15
T Tastendruck simulieren in JPanel Java Basics - Anfänger-Themen 3
P JPanel in JTable einfügen Java Basics - Anfänger-Themen 23
E Erste Schritte Objekte werden in JPanel angedockt und maximiert Java Basics - Anfänger-Themen 7
M Componenten auf JPanel anzeigen Java Basics - Anfänger-Themen 2
F JPanel als JPG - weisse Fläche Java Basics - Anfänger-Themen 9
L Image laden und auf jPanel ausgeben Java Basics - Anfänger-Themen 7
M JLabel auf JPanel positionieren Java Basics - Anfänger-Themen 8
M Verständnisfrage zu JPanel Java Basics - Anfänger-Themen 3
M MouseListener funkioniert auf JPanel nicht Java Basics - Anfänger-Themen 8
D JPanel + ein JLabel Java Basics - Anfänger-Themen 8
B JPanel-Oberfläche speichern Java Basics - Anfänger-Themen 9
X JTable in JPanel in JTabbedPane mouseevent von jtable kommt nicht durch Java Basics - Anfänger-Themen 3
P GUI, JPanel Java Basics - Anfänger-Themen 7
H JPanel in andere Klasse übergeben Java Basics - Anfänger-Themen 7
D Grösse eines JPanel hinsichtlich LayoutManager festlegen Java Basics - Anfänger-Themen 4
B JPanel über anderem JPanel Java Basics - Anfänger-Themen 6
F zeichnen in JPanel Java Basics - Anfänger-Themen 7
F Unterschied JPanel und JFrame Java Basics - Anfänger-Themen 5
U JPanel dynamisch gestalten Java Basics - Anfänger-Themen 7
H Zeichnen in JPanel Java Basics - Anfänger-Themen 8
K Auf JPanel Zeichnen Java Basics - Anfänger-Themen 8
C jPanel im jPanel verändern Java Basics - Anfänger-Themen 15
B JPanel nachträglich verändern Java Basics - Anfänger-Themen 20
C JPanel erhält sporadisch keinen Fokus Java Basics - Anfänger-Themen 3
I repaint bei jpanel Java Basics - Anfänger-Themen 10

Ähnliche Java Themen

Neue Themen


Oben