2011-03-13 164 views
0

我不知道如何初始化JFrame窗口。我需要寫入init im?需要初始化JFrame

我已經在主這創造:

Panel Panel=new Panel(); 

Panel.init(); 

JFrame frame = new JFrame("Shape Project"); 
frame.add(Panel); 
frame.setResizable(false); 
frame.setSize(new Dimension(1200, 650)); 
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 
frame.setVisible(true); 

,並在JPanel類我有寫:

public class Panel extends JFrame 
{ 
    public void init() 
    { 
    } 
} 

但是,當我主動它的框架並不活躍。我需要在init func上編寫窗口才能打開?

+1

你是什麼意思,由初始化框架?另外,爲什麼你要爲變量和類使用相同的名稱('Panel Panel = new Panel()')? – MByD 2011-03-13 16:51:06

+0

我想設計那裏的窗口,所以我初始化該類的框架,稱爲面板 – user650679 2011-03-13 17:15:23

回答

1

你已經有一個JFrame(框架)。所以現在你應該爲你的面板添加組件(你也可以在主類中添加它)。這些組件是JTextField,JButton等(甚至是另一個JPanel),您可以使用panel.add(component_name);將每個組件添加到面板中,因此建議您按照教程Erkan提到。

+0

,但如果我想從面板類中添加它們,我該怎麼做? – user650679 2011-03-13 17:29:31

+0

當你在面板類中時,你可以創建每個元素,並添加它,因爲我寫下面,而不是寫'panel.add(component)'只使用'add(component)'或'this.add(component )'[因爲你已經在對象中]例如: 'public void init(){ JButton new_button = new JButton(「Press」); this.add(new_button); JTextArea new_text_area = new JTextArea(「Text」); add(new_text_area); }' – MByD 2011-03-13 21:04:02

1

您的panel類應擴展爲JPanel,而不是JFrame。 您可以添加到JPanelJButton, JList, etc

這是你需要初始化一個JFrame,如果你沒有創建自己的類的實例代碼組件:

public class LogMain 
{ 
    public static void main(String[] args) 
    { 
     JFrame window = new JFrame("Log"); 
     window.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 
     window.setSize(300,300); 
     window.setResizable(false); 
     JPanel panel = new JPanel(); 
     JButton openFile = new JButton("Btn1"); 
     JButton openDir = new JButton("Btn2"); 
     panel.add(openFile); 
     panel.add(openDir); 
     window.add(panel); 
     window.setLocationRelativeTo(null); 
     window.setVisible(true); 

    } 
} 
1

這是我對JFrame的初始化實例:

public class Windows{ 

    public static void main(String args[]){ 

    SJFrame window = new SJFrame("NEWNEWNEW"); 
    window.init(); 

    } 
} 


public class SJFrame extends JFrame(){ 

    public SJFrame(String s){ 

    super(s); 
    } 
    void init(){ 

    Container panel = this.getContentPane(); 

    panel.setBackground(Color.green); 
    panel.setLayout(new GridLayout(5,1)); 
    JLabel jl1 = new JLabel("UserName"); 
    JLabel jl2 = new JLabel("PassWord"); 

    this.add(jl1); 
    this.add(jl2); 
    this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE) ; 
    this.setSize(300,100); 
    this.pack(); 
    this.setVisible(true); 
} 
}