2016-04-14 69 views
0

我們有一個大學項目,該項目是一個爲講習班完成的講義和反饋的程序。根據用戶選擇填充JTabbed窗格和JScroll窗格

我們已經想到的是跌斷了整個事情成小塊,例如: 你需要編寫一個程序和結果等 報表中的課程因此,用戶將創建一個新課程通過選擇「代碼」和「報告」選項,因爲這是必需的。然後我們需要在程序中創建相應的選項卡,以便用戶可以輸入需要的內容。

我已經創建了所有必要的窗體和窗口,這只是我不確定如何繼續前進。 a)我應該在哪裏放置我的代碼?我應該在「創建」事件上使用它嗎? b)我如何做這整個定製人口的事情?

顯然,我並沒有要求在代碼中的整個事情。我甚至不知道要讀什麼和要搜索什麼。

以下是ui的一些截圖,以幫助解釋我的意思。

新建項目窗口 New project window

如何在主窗口應該是創建一個新謨之後。注意各個標籤。 How the main window should be after creating a new projet. Notice the various tabs.

一個報表反饋 A form for report feedback

回答

1

在您的 「創建」 按鈕,單擊檢查的checkbox.isSelected(),並使用下面的方法:

if(reportCheckbox.isSelected()){ 
    addonScreen(new reportFrame(),"Report Submission"); 
    addonScreen(new reportFeedbackFrame(),"Report Feedback"); 
} 

使用桌面窗格作爲容器...將您的標籤窗格添加到它

public static JTabbedPane tabbedPane = new JTabbedPane(); 
jDesktopPane1.add(tabbedPane); 

使用此方法在運行時將佈局添加到佈局

public static void addOnScreen(JInternalFrame inFrame, String title) { 
    //border for the internal frame   

    javax.swing.plaf.InternalFrameUI ifu = inFrame.getUI(); 
    ((javax.swing.plaf.basic.BasicInternalFrameUI) ifu).setNorthPane(null); 
    Border b1 = new LineBorder(new Color(114, 139, 173), 3, true) { 
    }; 

    tabbedPane.setBounds(0, 0, jDesktopPane1.getWidth(), jDesktopPane1.getHeight()); 
    inFrame.setLocation(0, 0); 
    inFrame.setSize(jDesktopPane1.getWidth(), jDesktopPane1.getHeight()); 
    inFrame.setBorder(b1); 
    JPanel jp = new JPanel(); 
    jp.setLayout(new GridLayout()); 
    jp.setOpaque(true); 
    jp.add(inFrame); 
    tabbedPane.addTab(title, jp); 
    tabbedPane.setSelectedComponent(jp); 
    inFrame.requestFocusInWindow(); 
    inFrame.setVisible(true); 
    tabbedPane.setVisible(true); 
} 
相關問題