JFrameの特定の場所(x、y)にオブジェクトを配置するにはどうすればよいですか?
66325 次
4 に答える
10
ここで絶対測位チュートリアルを見つけてください。このアプローチがLayoutManagerの使用よりも推奨されない理由については、注意深くお読みください。
たとえばJButtonをJPanelに追加するには、次を使用できます。
JButton button = new JButton("Click Me");
button.setBounds(5, 5, 50, 30);
panel.add(button);
ここでこのサンプルプログラムを試してください:
import java.awt.*;
import javax.swing.*;
public class AbsoluteLayoutExample
{
private void displayGUI()
{
JFrame frame = new JFrame("Absolute Layout Example");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
JPanel contentPane = new JPanel();
contentPane.setOpaque(true);
contentPane.setBackground(Color.WHITE);
contentPane.setLayout(null);
JLabel label = new JLabel(
"This JPanel uses Absolute Positioning"
, JLabel.CENTER);
label.setSize(300, 30);
label.setLocation(5, 5);
JButton button = new JButton("USELESS");
button.setSize(100, 30);
button.setLocation(95, 45);
contentPane.add(label);
contentPane.add(button);
frame.setContentPane(contentPane);
frame.setSize(310, 125);
frame.setLocationByPlatform(true);
frame.setVisible(true);
}
public static void main(String... args)
{
SwingUtilities.invokeLater(new Runnable()
{
public void run()
{
new AbsoluteLayoutExample().displayGUI();
}
});
}
}
于 2012-06-09T16:27:37.467 に答える
3
これら2つを試してみてください...互いに組み合わせて...
setLocation()
とsetBounds()
2005年にNetBeansチームによって開発されたGroupLayoutを使用する方がさらに優れています。WindowsBuilderProは、JavaでGUIを構築するための優れたツールです。
于 2012-06-09T17:08:35.817 に答える
2
この絶対レイアウトコードサンプルを確認してください。
于 2012-06-09T16:29:43.823 に答える
2
フレームを継承するクラス:
setLayout(null);
コンポーネント内:
setLocation(x,y);
于 2012-06-09T16:32:37.060 に答える