java - 如何将 JTextField 添加到具有 JButton 的 Jpanel

标签 java swing jpanel jbutton jtextfield

我添加了 JtextField 行,但在输出中仅显示按钮。我错过了什么,请用 java 代码写下你的答案以便清楚。谢谢!

 public JPanel createContentPane (){
JButton Button1
buttonPanel = new JPanel();
buttonPanel.setLayout(null);
buttonPanel.setLocation(10, 50);
buttonPanel.setSize(1370, 770);
totalGUI.add(buttonPanel);

    Button1 = new JButton("Button 1");
    Button1.setLocation(0, 0);
    Button1.setSize(120, 30);
    Button1.addActionListener(this);
    buttonPanel.add(Button1);

  JLabel l;
  l= new JLabel;
  JTextField a = new JTextField();
    a.setVisible(true);
    a.setLocation(1000,200);
    l.add(a);
}

这是主要方法和createAndShowGUI

private  void createAndShowGUI() {


        JFrame.setDefaultLookAndFeelDecorated(true);
        JFrame frame = new JFrame("[=] JButton Scores! [=]");



        //Create and set up the content pane.
        ButtonExample_Extended demo = new ButtonExample_Extended();
        frame.setContentPane(demo.createContentPane());

        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.setSize(1370, 770);
        frame.setVisible(true);
    }

    public static void main(String[] args) {
        //Schedule a job for the event-dispatching thread:
        //creating and showing this application's GUI.
        SwingUtilities.invokeLater(new Runnable() {
            public void run() {
                new ButtonExample_Extended().createAndShowGUI();
            }
        });
    }

最佳答案

我认为您正在寻找类似的东西:

public JPanel createContentPane() {
    buttonPanel = new JPanel();
    buttonPanel.setLayout(null);
    buttonPanel.setLocation(10, 50);
    buttonPanel.setSize(1370, 770);

    JButton Button1 = new JButton("Button 1");
    Button1.setLocation(0, 0);
    Button1.setSize(120, 30);
    buttonPanel.add(Button1);

    JTextField a = new JTextField(20);
    a.setLocation(125, 0);
    a.setSize(120, 30);
    buttonPanel.add(a);

    return buttonPanel;
}

1) 尝试使用LayoutManager而不是 buttonPanel.setLayout(null);setLocation()setSize()

2) a.setVisible(true); 这里不是必须的,默认是true

3) 您无需将 JTextField 添加到 JLabel。将组件添加到容器,例如 JPanel

4)我推荐您阅读swing tutorial about components

5) 发布 SSCCE将来。

关于java - 如何将 JTextField 添加到具有 JButton 的 Jpanel,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20042365/

相关文章:

java - 多个 JPanel 一个在另一个之上

java - Lua脚本将空数组转换为对象

java - 如何实现观察者以从监听器获取数据?

java - 推荐用于两个相同大小的表格和按钮的 Java Swing 布局

java jbox2d swing 绘制和移动形状

java - 添加 JTextArea 会使 JFrame 变得巨大,为什么?

java - jre 7u45 访问本地文件系统

java - 使用 Java 8 中的供应商用泛型列表填充数组抛出删除类型的 ClassCastEx b/c

java - JPanel 中的不可见 JButton

java - 使用 JPanel 在 Java 中绘图