我试图添加一个JPanel到我现有的JPanel,所以我可以有一个JTextField的小窗口顶部带有一个名称和一个可滚动的JTextArea下面有一些描述。我做了如下构造函数扩展JPanel类:将面板添加到面板
import javax.swing.*;
import javax.swing.border.EtchedBorder;
import javax.swing.border.TitledBorder;
import java.awt.*;
public class LocationWindow extends JPanel {
public JTextField name;
public JTextArea desc;
public JScrollPane scroll;
public LocationWindow(){
super();
setBorder (new TitledBorder(new EtchedBorder(), "Display Area"));
setLayout(new BorderLayout());
setVisible(true);
setBounds(30, 40, 700, 290);
name = new JTextField(10);
name.setText("name");
desc = new JTextArea(5,10);
scroll = new JScrollPane(desc);
scroll.setVerticalScrollBarPolicy (ScrollPaneConstants.VERTICAL_SCROLLBAR_ALWAYS);
desc.setEditable (true);
desc.setLineWrap(true);
desc.setText("random text");
add(name);
add(desc);
add(scroll);
validate();
}
}
它几乎适用,因为它给我的边框和滚动窗口,但无论是的JTextField和JTextArea中失踪。
为了更好地帮助越早,张贴[MCVE(http://stackoverflow.com/help/mcve)(最小完备可验证例)或[SSCCE(HTTP:// WWW .sscce.org /)(简短,独立,正确的例子)。 'setBounds(30,40,700,290);'不要这样做。在GUI中使用布局填充和边框作为空白区域。 –