nullレイアウトを使用する必要はほとんどありません。 LayoutManagers
JLayeredPaneで行うことができます。このように:
import javax.swing.JButton;
import javax.swing.JComponent;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JLayeredPane;
public class Test {
public static void main(String[] args) {
JFrame frame = new JFrame();
frame.add(jLabelOnJButton());
frame.setSize(300, 300);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setVisible(true);
}
private static JComponent jLabelOnJButton(){
JLayeredPane layers = new JLayeredPane();
JLabel label = new JLabel("label");
JButton button = new JButton("button");
label.setBounds(40, 20, 100, 50);
button.setBounds(20, 20, 150, 75);
layers.add(label, new Integer(2));
layers.add(button, new Integer(1));
return layers;
}
}
これは私にとっては良い解決策ではありません。あなたには良い解決策がない場合にのみそれをしてください。
「歪んだ」と定義しますか? – JTeagle
*「レイアウトがNullに設定されているGUIを持っています」*それが問題です。 ***レイアウトを使用する!*** –