我想設置JPanel的寬度和高度,但它不工作。 這是代碼。jpanel setSize()不工作
import java.awt.*;
import javax.swing.*;
public class FirstGuiApp extends JFrame {
public static void main(String[] args) {
JFrame frm = new JFrame("first gui app");
JPanel txtPanel = new JPanel();
txtPanel.setBackground(Color.cyan);
txtPanel.setSize(200,50);// **not working**
frm.getContentPane().add(BorderLayout.NORTH,txtPanel);
frm.setVisible(true);
frm.setSize(450, 350);
frm.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frm.setLocationRelativeTo(null);
}
}
無法理解的錯誤..
請勿使用setSize()。每個組件具有佈局管理器用作大小組件大小的指導的首選大小。每個佈局管理器可以根據佈局管理器的規則使用/忽略首選大小。 因此,當您添加組件到面板時,它將自動具有首選大小。 沒有理由玩空板的大小。 – camickr
所以......在當前的情況下..是不可能增加jpanel的大小.. ?? – Pradeep
您可以覆蓋JPanel的'getPreferredSize()'方法。但不要這樣做!瞭解如何正確使用Swing。面板是空的,所以不需要這樣做。問一個現實生活中的問題,然後我可以給你一個合適的解決方案。使用佈局管理器的要點是,您不必猜測面板的合適大小應該是多少。 – camickr