Rumah > Java > javaTutorial > Bagaimanakah Saya Boleh Mendapatkan Lebar dan Ketinggian Tetingkap Java Swing Di Luar Kelas dengan Tepat?

Bagaimanakah Saya Boleh Mendapatkan Lebar dan Ketinggian Tetingkap Java Swing Di Luar Kelas dengan Tepat?

Patricia Arquette
Lepaskan: 2024-12-20 09:42:10
asal
754 orang telah melayarinya

How Can I Accurately Get Java Swing Window Width and Height Outside a Class?

Dapatkan Lebar dan Ketinggian Tetingkap Di Luar Kelas

Apabila bekerja dengan Java Swing, selalunya perlu mengambil semula dimensi tetingkap atas pelbagai sebab , seperti mengubah saiz atau meletakkan semula elemen. Walau bagaimanapun, memanggil kaedah getWidth() atau getHeight() di luar kelas yang ditakrifkan boleh mengembalikan hasil yang tidak tepat, terutamanya apabila tetingkap sedang diubah saiznya.

Untuk menangani isu ini, satu pendekatan adalah dengan lulus JPanel contoh kepada kaedah yang memerlukan dimensi tetingkap. Dengan berbuat demikian, anda boleh terus mengakses kaedah getWidth() dan getHeight() dari dalam kaedah itu.

Sebagai contoh, pertimbangkan kod berikut:

public class MyPanel extends JPanel {

    private int jpWidth;
    private int jpHeight;

    @Override
    public void paint(Graphics g) {
        jpWidth = getWidth();
        jpHeight = getHeight();
        // ...
    }

    public void myMethod() {
        // Now you have access to `jpWidth` and `jpHeight` within this method
    }
}
Salin selepas log masuk

Dengan menghantar MyPanel ke myMethod(), anda boleh memastikan bahawa ia mempunyai akses kepada dimensi tetingkap yang dikemas kini, walaupun semasa tetingkap itu diubah saiznya.

public class MyOtherClass {

    public void myMethod(MyPanel panel) {
        int panelWidth = panel.getWidth();
        int panelHeight = panel.getHeight();
        // ...
    }
}
Salin selepas log masuk

Pendekatan ini membolehkan anda mendapatkan dimensi tetingkap yang betul dari luar kelas JPanel, tanpa perlu bergantung pada nilai yang mungkin tidak tepat dari dalam kaedah paint().

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mendapatkan Lebar dan Ketinggian Tetingkap Java Swing Di Luar Kelas dengan Tepat?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan