2016-11-03 3 views
0

Verhindern schrumpfende JPanel, die nur JFormattedTextFields enthält.JPanel besteht aus textFields

JFormattedTextField textF1; 
JFormattedTextField textF2; 

     textF1 = new JFormattedTextField(numberFormat); 
     textF2  = new JFormattedTextField(numberFormat); 

JPanel labelPane = new JPanel(new GridLayout(0,1)); 
     labelPane.add(textF1) 
     labelPane.add(textF2) 



     setBorder(BorderFactory.createEmptyBorder(50, 50, 50, 50)); 

     add(labelPane, BorderLayout.LINE_START); 
     add(fieldPane, BorderLayout.CENTER); 
     add(imagePane, BorderLayout.LINE_END); 

Problem ist mit FieldPane. Es schrumpft immer. Ich habe versucht, Textfield auf minimale Größe zu setzen, manuell Dimensionen festzulegen. Stellen Sie die bevorzugte Größe ein, setMaximumSize. Nicht davon funktioniert. LabelPane und imagePane funktionieren gut.

+2

1) Für bessere Hilfe, früher, ein [MCVE] oder [kurze, selbständige, korrekte Beispiel] (http://www.sscce.org/). 2) Siehe [Soll ich die Verwendung von festgelegten (Preferred | Maximum | Minimum) Size-Methoden in Java Swing vermeiden?] (Http://Stackoverflow.com/q/7229226/418556) (Ja.) 3) Verwenden Sie eine logische und konsistente Form der Einrückung von Codezeilen und -blöcken. Die Einrückung soll den Codefluss leichter nachvollziehen lassen! 4) Versuche mit [setColumns (int) '] (http://docs.oracle.com/javase/8/docs/api/javax/swing/JTextField.html#setColumns-int-) eine Größe anzugeben. –

Antwort

2

Methode setColumns(int) gearbeitet. Vielen Dank.

+0

Manchmal die einfachsten Methoden (gefunden mit einer sorgfältigen Überprüfung der Java-Dokumente, ** einschließlich [geerbten Methoden] (http://docs.oracle.com/javase/8/docs/api/javax/swing/JFormattedTextField.html#) methods.inherited.from.class.javax.swing.JTextField) **) ist der beste Weg, dies zu tun. ;) –