在java swing中,我可以將面板插入面板等,而不必爲我的應用程序的每個視圖創建一個全新的窗口,或圍繞刪除和添加控件。winforms面板vs java swing面板
Theres a panel clas sin C#但是我無法看到創建「面板表單」的任何方式,或者基本上只是表單設計器中的一種表單,即面板及其內容。
我該怎麼做,然後按照我使用java swing的方式工作?
在java swing中,我可以將面板插入面板等,而不必爲我的應用程序的每個視圖創建一個全新的窗口,或圍繞刪除和添加控件。winforms面板vs java swing面板
Theres a panel clas sin C#但是我無法看到創建「面板表單」的任何方式,或者基本上只是表單設計器中的一種表單,即面板及其內容。
我該怎麼做,然後按照我使用java swing的方式工作?
通常我只是將不同的表單放在eachother中,在父窗口上將IsMdiContainer屬性設置爲true。然後,我創建了我停靠使用下面的函數子窗體:
static class FormUtil
{
static public void showForm(Form sender, Control reciever)
{
sender.ControlBox = false;
sender.FormBorderStyle = FormBorderStyle.None;
sender.ShowInTaskbar = false;
sender.TopLevel = false;
sender.Visible = true;
sender.Dock = DockStyle.Fill;
reciever.Controls.Clear(); //clear panel first
reciever.Controls.Add(sender);
}
}
然後每當我需要停靠在面板內部表單上家長形成我只是做:
FormUtil.showForm(new SomeForm(), this.splitContainer1.Panel1);
這讓我委派一些表單創作給不同的設計師。對我來說就像是一種魅力,喜歡聽聽是否有更好的方法。
實際上,您可以使用面板控件並將它的Dock屬性設置爲Fill。這樣,您的面板將成爲窗體的整個畫布。然後,您可以根據需要通過後面的代碼或通過表單設計器添加子面板。
用戶控件的概念基本上爲您提供了一個像設計器表面的面板,更不用說您可以創建原子形式(可以重用)並將它們註冊爲可繼承的,這樣您也可以提供繼承。