[英]Put object in x,y position JFrame
我正在嘗試用Java做某事,在Java中我只是將一個對象放在JFrame
上特定的x, y
坐標上。 我需要知道要使用哪種布局,或者需要做些什么。任何幫助都將是非常有用的。 謝謝
您可以使用null
布局來執行此操作,然后在組件上調用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);
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.