2017-05-15 80 views
0

我有一個擴展JFrame的類,它有一個菜單欄和菜單項。在菜單欄下,我想添加一個JPanel,在其中添加組件並繪製形狀。如何在此類中添加JPanel?對不起,如果這是一個簡單的問題,我是一個初學者。如何在Jframe中創建一個JPanel?

import java.awt.FlowLayout; 

import javax.swing.*; 

public class theMenu extends JFrame { 

    static JMenuBar menubar; 
    JMenu shape, color; 
    JCheckBox fill; 
    JButton btn1,btn2; 
    JMenuItem circle, rectangle, line,triangle; 
    JMenuItem red, green, blue, yellow; 

public theMenu(){ 
    super("Using JMenus");  
    menubar=new JMenuBar(); 
    shape=new JMenu ("Shape"); 
    add(menubar); 
    setJMenuBar(menubar); // add menu bar to application 
    shape=new JMenu ("Shape"); 
    color=new JMenu ("Color"); 
    fill=new JCheckBox("fill"); 
    btn1=new JButton("save"); 
    btn2=new JButton("import"); 
    circle=new JMenuItem ("Circle"); 
    rectangle=new JMenuItem ("Rectangle"); 
    line=new JMenuItem ("Line"); 
    triangle = new JMenuItem ("Triangle"); 
    red=new JMenuItem ("Red"); 
    green=new JMenuItem ("Green"); 
    blue=new JMenuItem ("Blue"); 
    yellow=new JMenuItem ("Yellow"); 

    shape.add (circle); 
    shape.add (rectangle); 
    shape.add (line); 
    shape.add (triangle); 

    color.add (red); 
    color.add (green); 
    color.add (blue); 
    color.add (yellow); 

    menubar.add (shape); 
    menubar.add(color); 
    menubar.add(fill); 
    menubar.add(btn1); 
    menubar.add(btn2); 
} 
} 
+0

原理與你目前一樣...... –

+0

快速的方法是在netbeans或eclipse中使用gui builder –

+0

除此之外:閱讀關於java命名約定。類名稱爲CamelCase。總是。 – GhostCat

回答

4

簡單:

  • 創建面板
  • 你將它添加到框架

像:

JPanel p = new JPanel(); 
f.getContentPane().add(p); 

欲瞭解更多信息,開始閱讀here

除此之外:您應該首先瞭解靜態和非靜態字段之間的區別。在你的班級的實例中共享所有靜態字段是一種簡單的做法。然後在構造函數中將它們用作「普通」字段。

換句話說:在編寫Swing UI應用程序之前,您可能首先要研究Java的基本知識。查找示例以瞭解Java時,Swing不應成爲您的「第一站」。如果你仍然想從Java開始 - 那麼現在的教程 - 「試錯」並不是學習像Swing這樣的框架的有效策略。有許多細微的細節你必須知道 - 不知道它們轉化爲:從一個問題運行到另一個問題。