Ich habe versucht, ein Textfeld und eine Schaltfläche und Beschriftung mit Swing in Java.Ich habe erfolgreich die Beschriftung und die Schaltfläche hinzugefügt, aber wenn ich versuche, das Textfeld hinzuzufügen, ist der Lochrahmen leer, Es taucht also nichts auf, nicht einmal der Knopf oder das Etikett. Was mache ich falsch?Mit JTextField wird alles andere verschwinden
import java.awt.Dimension;
import java.awt.Toolkit;
import javax.swing.*;
public class SwingPartOne extends JFrame {
public static void main(String[] args) {
new SwingPartOne();
}
public SwingPartOne(){
this.setSize(800,800);
this.setLocationRelativeTo(null);
this.setVisible(true);
Toolkit tk = Toolkit.getDefaultToolkit();
Dimension dim = tk.getScreenSize();
int xPos = (dim.height/2) - (this.getHeight()/2);
int yPos = (dim.width/2) - (this.getWidth()/2);
this.setResizable(false);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setTitle("First Jframe");
JPanel thePanel = new JPanel();
JLabel label1 = new JLabel("Some random text .");
label1.setText("New text.");
label1.setToolTipText("Surprize!");
JButton thebutton1 = new JButton("BOOM!");
JTextField textField = new JTextField("Some text" , 15);
textField.setColumns(5);
textField.setSize(200,200);
textField.setText("Some random text");
thePanel.add(label1);
thePanel.add(textField);
thePanel.add(thebutton1);
this.add(thePanel);
}
}
zu berechnen Rufen Sie 'this.setVisible (true)' am Ende des Konstruktors auf, damit es 'validieren' kann. Auch einige andere Anmerkungen: 1) 'textField.setSize (200,200);' wird nicht viel tun, überschreiben es 'getPreferredSize' Methode stattdessen (nur wenn Sie wirklich müssen). 2) Um den Rahmen zu zentrieren, können Sie einfach 'setLocationRelativeTo (null)' aufrufen. Es gibt keine Notwendigkeit, 'xPos' und' yPos' zu berechnen –
danke, dass es gelöst hat. – JohnnyOnPc
[Vorsicht] (http://stackoverflow.com/a/12532237/230513) 'setResizable (false)'. – trashgod