Java 将对象置于x、y位置JFrame
我试图在Java中做一些事情,我只是简单地将一个对象放置在JFrame上特定的x,y坐标处。我需要知道要使用什么布局,或者我需要做什么来做到这一点。。任何帮助都会很好。谢谢您可以使用空布局执行此操作,然后调用组件上的setLocation或setBounds。但一般来说,您不应该这样做,因为这会导致非常不灵活的GUI,在一个平台上看起来很好,在另一个平台上很糟糕,并且很难更新和维护。别这样 本例使用空边框提供“空白”或“绿色”。当然,如果帧中有其他组件,所有这些“特定坐标”会变得更加复杂,但同样的技术可以用于为特定组件提供空白 请注意,在提供空白时,通常最好将组件包装在面板中,以保留组件的现有边界Java 将对象置于x、y位置JFrame,java,swing,jframe,coordinates,layout-manager,Java,Swing,Jframe,Coordinates,Layout Manager,我试图在Java中做一些事情,我只是简单地将一个对象放置在JFrame上特定的x,y坐标处。我需要知道要使用什么布局,或者我需要做什么来做到这一点。。任何帮助都会很好。谢谢您可以使用空布局执行此操作,然后调用组件上的setLocation或setBounds。但一般来说,您不应该这样做,因为这会导致非常不灵活的GUI,在一个平台上看起来很好,在另一个平台上很糟糕,并且很难更新和维护。别这样 本例使用空边框提供“空白”或“绿色”。当然,如果帧中有其他组件,所有这些“特定坐标”会变得更加复杂,但同样
import java.awt.*;
import javax.swing.*;
import javax.swing.border.EmptyBorder;
class SpecificCoords {
public static void main(String[] args) {
final int specificX = 40;
final int specificY = 20;
Runnable r = new Runnable() {
@Override
public void run() {
// imagine this is our 'frame'
JPanel gui = new JPanel(new BorderLayout());
JTextField tf = new JTextField(10);
JPanel borderPanel = new JPanel(new GridLayout());
borderPanel.add(tf);
borderPanel.setBorder(new EmptyBorder(
specificX, specificY,
specificX, specificY));
borderPanel.setBackground(Color.GREEN);
gui.add(borderPanel);
JOptionPane.showMessageDialog(null, gui);
}
};
// Swing GUIs should be created and updated on the EDT
// http://docs.oracle.com/javase/tutorial/uiswing/concurrency/initial.html
SwingUtilities.invokeLater(r);
}
}
调整帧大小时会发生什么情况?组件是否应该扩展?当框架缩小到无法显示组件时,会发生什么情况?是否应该截断它、显示滚动条、隐藏它。。?“特定坐标”是否相对于框架左上角?请不要这样做。总有一个选择,就是不要提及这个,我认为这是最好的,当它不能以现实或现实的方式解决问题时。嗯,框架不会重新调整大小,并且只有一个组件。@FISCSTER510:似乎不起作用,没有给我们足够的信息来提供详细的帮助。考虑编辑原始帖子并添加可编译的可运行代码来显示您的问题。