一個快速而簡單的問題我似乎無法找到答案。 是否可以繪製一個形狀(矩形,橢圓形等)並添加到JPanel中,然後將此JPanel添加到JFrame中?我在網上找到的圖形繪製示例直接將形狀添加到JFrame中。例如:將圖形添加到JPanel
public class DShape extends JPanel
{
public void paintComponent(Graphics g)
{
super.paintComponent(g);
g.setColor(Color.GREEN);
g.drawRect(10,10,100,30);
}
public class Test {
public static void main(String[] args)
{
JFrame frame = new JFrame();
DShape shape = new DShape();
JPanel panel = new JPanel();
panel.add(shape);
frame.add(panel);
frame.setSize(200,200);
frame.setVisible(true);
}
}
此代碼將只顯示一個空白的JFrame。如果將DShape類對象直接添加到JFrame,則會顯示綠色的矩形。是否可以首先將形狀添加到JPanel,然後將JPanel添加到JFrame中?謝謝。
您忘記了默認情況下JFrame的contentPane使用BorderLayout,並且您需要閱讀Swing佈局管理器,因爲這是解決您的問題的關鍵。現在如果你想在另一個JPanel之上顯示一個JPanel,那麼這是一個不同的問題,並且需要一個不同的解決方案,包括只使用一個JPanel來繪圖,並且保存子組件而不是兩個JPanel。 –
這是原始封閉的副本:https://stackoverflow.com/questions/13057836/using-two-jpanels-in-one-jframe。但是,這不是添加多個面板的問題。我相信這是一個繪畫問題,所以我重新提出了這個問題。 – camickr