Java 在jFrame中的同一x轴上创建两个按钮

Java 在jFrame中的同一x轴上创建两个按钮,java,swing,layout,layout-manager,Java,Swing,Layout,Layout Manager,下面的java代码有一个图像和一个按钮,我只想添加另一个按钮,它与当前按钮所在的x轴相同。我不知道怎么做。我以为我试图操纵abc.weightx并对其进行更改,但没有效果。我在下面附上了一张我想做的事情的照片 将按钮置于中心流布局中。将流布局放在边框布局的页尾 将按钮置于中心流布局中。将流布局放在边框布局的页尾 您没有从GridBagConstraint设置gridx和gridy,因此它们可能不会出现在您想要的位置 我建议遵循并使用BorderLayout,主面板位于BorderLayout.

下面的java代码有一个图像和一个按钮,我只想添加另一个按钮,它与当前按钮所在的x轴相同。我不知道怎么做。我以为我试图操纵abc.weightx并对其进行更改,但没有效果。我在下面附上了一张我想做的事情的照片


将按钮置于中心流布局中。将流布局放在边框布局的页尾

将按钮置于中心流布局中。将流布局放在边框布局的页尾

您没有从
GridBagConstraint
设置
gridx
gridy
,因此它们可能不会出现在您想要的位置

我建议遵循并使用
BorderLayout
,主面板位于
BorderLayout.CENTER
位置,按钮位于单独的
JPanel
位置,默认设置为
FlowLayout
,您将其置于
BorderLayout.SOUTH
位置

如果您想坚持使用
GridBagLayout

  • 主面板:
    gridx=0
    gridy=0
    gridwidth=2
    weightx=1
    weighty=1
  • 左键:
    gridx=0
    gridy=1
  • 右键:
    gridx=1
    gridy=1

我不会发布代码,因为如果您亲自尝试,您将学到更多。

您没有从
gridbag约束设置
gridx
gridy
,因此它们可能不会出现在您想要的位置

我建议遵循并使用
BorderLayout
,主面板位于
BorderLayout.CENTER
位置,按钮位于单独的
JPanel
位置,默认设置为
FlowLayout
,您将其置于
BorderLayout.SOUTH
位置

如果您想坚持使用
GridBagLayout

  • 主面板:
    gridx=0
    gridy=0
    gridwidth=2
    weightx=1
    weighty=1
  • 左键:
    gridx=0
    gridy=1
  • 右键:
    gridx=1
    gridy=1

我不会发布代码,因为如果您亲自尝试,您将学到更多。

我是java新手,不知道如何做到这一点?我真的很感谢你的帮助。“你能用代码给我看吗?”所以这不是代码生成服务。如果你试图实现这个建议&失败了,发布一篇文章,我将进一步研究。我是java新手,不知道如何实现它?我真的很感谢你的帮助。“你能用代码给我看吗?”所以这不是代码生成服务。如果你试图实现这个建议&失败了,发布一篇文章,我会进一步研究。
    import java.awt.GridBagConstraints;
   import java.awt.GridBagLayout;
    import java.io.IOException;
    import java.net.URL;
   import javax.swing.ImageIcon;
    import javax.swing.JButton;
  import javax.swing.JFrame;
  import javax.swing.JLabel;

    class Main extends JFrame {

public static void main(String[] args0) {

    try {
        JFrame frame = new JFrame();
        frame.setDefaultCloseOperation(EXIT_ON_CLOSE);

        frame.getContentPane().setLayout(new GridBagLayout());

        GridBagConstraints gbc = new GridBagConstraints();
        gbc.gridwidth = GridBagConstraints.REMAINDER;
        gbc.weightx = 0.5;
        gbc.weighty = 0.4;
        gbc.fill = GridBagConstraints.BOTH;

        URL url = new URL("http://www.digitalphotoartistry.com/rose1.jpg");
        ImageIcon image = new ImageIcon(url);
        JLabel imageLabel = new JLabel(image);
        frame.add(imageLabel, gbc);

        gbc.weightx = 0.9;
        gbc.weighty = 0.1;
        gbc.fill = GridBagConstraints.NONE;







        JButton b = new JButton("Click Here");
        frame.add(b, gbc);

        frame.pack();
        frame.setVisible(true);

    } catch (IOException e) {
        e.printStackTrace();
    }
}}