java-JPanel setSize und setLocation
Hey dies ist mein zweiter Beitrag also bitte nicht Sauer auf mich, aber ich habe Probleme mit dem JPanel in java. Ich bin versucht, in der Größe und der Lage, aber es wird nicht funktionieren, ich habe versucht repaint();
aber das funktioniert nicht. Keine Hilfe?
hier ist mein code:
package test.test.test;
import java.awt.Color;
import java.awt.FlowLayout;
import java.awt.TextField;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
public class Test extends JFrame {
JPanel colorPanel = new JPanel();
public Display(){
super("JPanel test");
setLayout(new FlowLayout());
add(colorPanel);
colorPanel.setBackground(Color.CYAN);
colorPanel.setSize(300, 300);
repaint();
}
}
- Dies sieht nicht wie es wirklich kompiliert. Haben Sie versucht, kompilieren? Wenn Sie sagen, dass es nicht funktioniert, was meinst du genau? Was ist passiert und was soll passieren?
- nicht einmal denken, der Einstellung der Komponenten die Größe/Position manuell - das ist die exklusive Aufgabe eines geeigneten LayoutManager
Du musst angemeldet sein, um einen Kommentar abzugeben.
Für den Vorteil, wer liest diese Frage später, hier ist eine kurze, in sich abgeschlossen, korrigieren Beispiel für die Definition ein JPanel mit der Hintergrundfarbe.
Fast die ganze Zeit, sollten Sie lassen die Swing-Komponenten layout-manager bestimmen Sie die Größe der Swing-Komponenten. In diesem Fall definieren wir die bevorzugte Größe des JPanel, weil die JPanel enthält keine anderen Swing-Komponenten.
Standard-layout-manager der JFrame ist das BorderLayout. Das JPanel in der Mitte positioniert ist der BorderLayout.
Bei der Verwendung von Flowlayout, sollten Sie die bevorzugte Größe (der Komponente, die Sie hinzufügen, um Ihre panel) anstelle der Größe, weil der layoutmanager übernimmt die Größe einer location für Sie.
und vergessen Sie nicht, stellen Sie Ihr JFrame sichtbar und die Größe (der Verwendung von pack()) 😉