Java 如何使用JTextField、JButton和JLabel构建带有图形区域paintComponent的JFrame窗口?

Java 如何使用JTextField、JButton和JLabel构建带有图形区域paintComponent的JFrame窗口?,java,swing,jbutton,jtextfield,paintcomponent,Java,Swing,Jbutton,Jtextfield,Paintcomponent,我一直在谷歌上搜索如何构建图像中的东西。文本框、标签、带有动作的按钮和图形区域都在一个JFrame中,但我只能发现它们是分开的。我的意思是,我知道如何将它们分开构建,但不知道如何将它们组合在一起。 我一直在读关于使用GridBagConstraints的书,但很让人困惑。 如果有任何提示,我将不胜感激 最简单的方法是使用,并在所需区域(北部、南部、东部、西部或中部)包含面板(“分离组件”) JFrame frame = new JFrame(); JPanel actions

我一直在谷歌上搜索如何构建图像中的东西。文本框、标签、带有动作的按钮和图形区域都在一个JFrame中,但我只能发现它们是分开的。我的意思是,我知道如何将它们分开构建,但不知道如何将它们组合在一起。 我一直在读关于使用GridBagConstraints的书,但很让人困惑。 如果有任何提示,我将不胜感激


最简单的方法是使用,并在所需区域(北部、南部、东部、西部或中部)包含面板(“分离组件”)

    JFrame frame = new JFrame();

    JPanel actions = new JPanel();
    JPanel graph = new JPanel();

    frame.setLayout(new BorderLayout());
    frame.getContentPane().add(actions, BorderLayout.SOUTH);
    frame.getContentPane().add(graph, BorderLayout.CENTER);

但不知道如何把它们放在一起使用面板对组件进行逻辑分组。在您的情况下,顶部可能有一个组件面板。JPanel使用FlowLayout,因此您将在一行中看到所有内容。顶部面板添加到边框的BorderLayout.PAGE_START,图形面板添加到边框的BorderLayout.CENTER。有关工作示例,请阅读上的Swing教程。但这很令人困惑——这不是一个问题。你不了解教程中演示代码的哪一部分。中间的JPanel是一个绘图JPanel。请参阅Oracle教程以查看构建图形JPanel的工作示例。JFrame的默认布局是BorderLayout。