Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/392.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
无法设置java小部件的位置_Java_Swing - Fatal编程技术网

无法设置java小部件的位置

无法设置java小部件的位置,java,swing,Java,Swing,问题是我无法将按钮定位到我想要的位置。所以我写了这段代码来再次设置位置: button.setLocation(new Point(100, 60)); import javax.swing.*; import java.awt.*; public class gui { public static void main(String [] args){ JFrame frame = new JFrame(); JPanel panel = new J

问题是我无法将按钮定位到我想要的位置。所以我写了这段代码来再次设置位置:

button.setLocation(new Point(100, 60));

import javax.swing.*;
import java.awt.*;

public class gui {

    public static void main(String [] args){
        JFrame frame = new JFrame();
        JPanel panel = new JPanel();
        panel.setBackground(Color.ORANGE);
        frame.add(panel);

        JButton button = new JButton("Button");
        button.setPreferredSize(new Dimension(200,25));
        button.setLocation(new Point(100, 60));
        panel.add(button);

        frame.setSize(new Dimension(500,400));
        frame.setLocationRelativeTo(null);
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.setTitle("GUI App");
        frame.setResizable(false);
        frame.setVisible(true);


    }
}

您必须使用setBounds()方法!此方法需要4个参数:x&y坐标以及按钮应有的宽度和高度。此外,您还必须将布局设置为空。。。所以试试这个:
button.setBounds(100,60,100,50)//只是一个例子

frame.setLayout(null)

您必须使用setBounds()方法!此方法需要4个参数:x&y坐标以及按钮应有的宽度和高度。此外,您还必须将布局设置为空。。。所以试试这个:
button.setBounds(100,60,100,50)//只是一个例子

frame.setLayout(null)

将以下内容添加到组件中:

  //JPanel layout
    panel.setLayout(null);
  // postioning
    button.setLocation(100,60);
作为
panel.setLayout(null)
将内容面板设置为使用绝对布局。您必须始终使用
setBounds
方法显式设置组件的边界

选择最合适的布局比使用绝对布局更好。

例如:
panel.setLayout(新的FlowLayout())

将以下内容添加到组件中:

  //JPanel layout
    panel.setLayout(null);
  // postioning
    button.setLocation(100,60);
作为
panel.setLayout(null)
将内容面板设置为使用绝对布局。您必须始终使用
setBounds
方法显式设置组件的边界

选择最合适的布局比使用绝对布局更好。

例如:
panel.setLayout(新的FlowLayout())

虽然此代码可以回答问题,但提供有关如何和/或为什么解决问题的附加上下文将提高答案的长期价值。虽然此代码可以解决问题,但如何和为什么解决问题将真正有助于提高您的帖子质量,并可能导致更多的投票。请记住,你是在将来回答读者的问题,而不仅仅是现在提问的人。请在您的答案中添加解释,并说明适用的限制和假设。虽然本准则可以回答问题,但提供关于如何和/或为什么解决问题的附加上下文将提高答案的长期价值。虽然本准则可以解决问题,如何以及为什么解决这个问题将真正有助于提高您的帖子质量,并可能导致更多的投票。请记住,你是在将来回答读者的问题,而不仅仅是现在提问的人。请在回答中添加解释,并说明适用的限制和假设。