Java 如何设置组件的坐标?

Java 如何设置组件的坐标?,java,swing,jframe,jpanel,layout-manager,Java,Swing,Jframe,Jpanel,Layout Manager,我是Swing的新用户,在按坐标绘制组件时遇到问题。请看下面的代码: JFrame frame=new JFrame(); frame.setBounds(new Rectangle(0, 0, 700, 600)); frame.getContentPane().setBackground(Color.yellow); frame.setVisible(true); JPanel graph=new JPanel(); graph.setBou

我是Swing的新用户,在按坐标绘制组件时遇到问题。请看下面的代码:

    JFrame frame=new JFrame();
    frame.setBounds(new Rectangle(0, 0, 700, 600));
    frame.getContentPane().setBackground(Color.yellow);
    frame.setVisible(true);

    JPanel graph=new JPanel();
    graph.setBounds(new Rectangle(0, 0, 700, 300));
    graph.setBackground(Color.white);
    graph.setOpaque(true);
    frame.getContentPane().add(graph);

我需要JPanel从JFrame关闭50%,但现在它关闭100%,JFrame有白色作为背景。我该如何纠正这个错误?此外,是否有任何使用百分比设置宽度和高度的方法?例如,宽度为50%。或者可能存在任何容器来回答我的问题?谢谢你

不要使用
无论什么#setBound()
,使用,在这种情况下是最好的方法,你和它将在两个方向上调整大小

不要使用
无论什么#setBound()
,使用,在这种情况下是最好的方法,您的和其在两个方向上都可以调整大小

如果确实需要绝对定位,可以尝试禁用默认布局管理器,如中所示。但是,大多数情况下,最好(取决于容器要显示的内容)选择适当的布局管理器。

如果确实需要绝对定位,可以尝试禁用默认布局管理器,如中所示。但是,大多数情况下,最好(取决于您的容器打算显示什么)选择一个合适的布局管理器。

+1对于信息,建议始终使用frame.setVisible(true);最后,在完成向容器添加组件后:-)谢谢。但是,如果我需要为两个面板设置30/70%的百分比-我应该怎么做?那么你必须使用or(现代和自定义布局管理器),请给我一个简单的例子,说明我应该如何使用GridBagLayout进行布局it@user1166635阅读链接到的简单教程mKorbel,尝试使用此处提供的信息实现您的目标,如果您还有问题,请返回:-)+1对于信息,建议始终使用frame.setVisible(true);最后,在完成向容器添加组件后:-)谢谢。但是,如果我需要为两个面板设置30/70%的百分比-我应该怎么做?那么你必须使用or(现代和自定义布局管理器),请给我一个简单的例子,说明我应该如何使用GridBagLayout进行布局it@user1166635阅读链接到的简单教程mKorbel,尝试使用此处提供的信息实现您的目标,如果您还有问题,请返回:-)解决布局问题的答案始终是使用适当的布局管理器。要找出哪一个是合适的,你必须。。。好在@mKorbel链接到:-)的教程中,f.i.了解所有这些问题解决布局问题的答案始终是使用适当的布局管理器。要找出哪一个是合适的,你必须。。。好在@mKorbel链接到:-)的教程中了解所有关于它们的信息,f.i.)