1. ホーム
  2. java

[解決済み] JButton.setBounds(x,y,w,h) が機能しないようです。

2022-02-13 23:50:27

質問

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.SwingUtilities;

public class SimpleExample extends JFrame {

    public SimpleExample() {

        setTitle("Simple example");
        setSize(500, 500);
        setLocationRelativeTo(null);
        setDefaultCloseOperation(EXIT_ON_CLOSE);
        JButton jb = new JButton("TEST");
        jb.setBorderPainted(true);
        jb.setBounds(5, 5, 1, 1); ---> This line
        add(jb);

    }

    public static void main(String[] args) {

        SwingUtilities.invokeLater(new Runnable() {
            @Override
            public void run() {
                SimpleExample ex = new SimpleExample();
                ex.setVisible(true);
            }
        });
    }
}

好みの大きさのシンプルなボタンを作るだけ。その setBounds メソッドは動作しないようです。どこで間違っているのでしょうか?

解決方法は?

フレームはレイアウトマネージャーの制御下にあり、コンポーネントの最適なレイアウト方法を決定し、あなたが setBounds

現代のGUIは、(同じOSであっても)さまざまなDPI、画面サイズ、フォント設定など、異なるグラフィック環境で動作させる必要があります。

レイアウトマネージャを使えば、これらの問題を心配する必要がなくなるので、ぜひ活用してください。

を見てみましょう。

詳細はこちら