這是我正在處理的代碼:http://pastie.org/1501054當你運行這個,出於某種原因,這兩個面板重疊。這是爲什麼?任何方式我可以解決它?兩個JPanels重疊?
作爲參數提供的ActionListener與該程序的這部分無關。
另外,我在哪裏可以找到一個很好的使用Eclipse的swing教程?
這是我正在處理的代碼:http://pastie.org/1501054當你運行這個,出於某種原因,這兩個面板重疊。這是爲什麼?任何方式我可以解決它?兩個JPanels重疊?
作爲參數提供的ActionListener與該程序的這部分無關。
另外,我在哪裏可以找到一個很好的使用Eclipse的swing教程?
當你說你想要一個很好的Eclipse日誌教程時,你需要一個GUI構建器還是Swing教程? Swing是關於佈局的。一旦你明白了,那簡直就是小菜一碟。從流佈局開始。 如果您需要GUI構建器,請使用Netbeans。真不可思議!
至於重疊,它不是重疊,而是重寫。您只能在默認位置BorderLayout.CENTER
中有一個面板。 如果你希望他們肩並肩,做getContentPane().setLayout(new FlowLayout());
或者只是add(panel, BorderLayout.SOUTH)
雖然我不知道你想要的最終結果是什麼樣子,下面是我的一些建議什麼。
在你的警告面板添加到JFrame
warningPanel.add(warningLabel);
contentPane.add(warningPanel);
pack();
的contentPane是
JFrames默認由JFrame.getContentPane()返回的容器使用BorderLayout的片段,因此,
contentPane.add(<someComponent>)
相同
contentPane.add(<someComponent>, BorderLayout.CENTER)
您還添加mainPanel中以同樣的方式,你不能有相同的約束兩個組件,所以代替warningPanel設置爲BorderLayout.NORTH
contentPane.add(warningPanel, BorderLayout.NORTH)
而且還刪除通話在代碼片段中打包(),因爲您稍後在代碼中調用它。
希望這會有所幫助。
PS
至於GUI構建在Eclipse上Eclipse GUI Builder plugins可能利用這一先前的問題。我不能說在Eclipse中使用Swing的教程,但快速谷歌搜索挖起來this tutorial using the Eclipse Visual Editor project
我沒有看到重疊的窗格,當我運行你的代碼。我想知道你是否可以發佈你看到的效果截圖。
至於Eclipse中的教程。我建議在Eclipse中使用Windows Builder pro來構建Java GUI。這是一個優秀的產品(免費),並在網站上非常好的文檔。
是的,我看到警告標籤在研磨的第一行
那是因爲你沒有指定你的contentPane的佈局。 繼承人你如何解決它
contentPane.setLayout(new GridLayout(2,1));
加入這一行下
Container contentPane = getContentPane();
,我想你應該改變你的警告面板網格佈局1和1不是0和1,因爲你還有1行1列
在論壇中發佈代碼。包含main()方法,以便我們可以執行代碼。 – camickr 2011-01-27 01:17:42
警告標籤是否應該位於標籤和文本字段之上? – 2011-01-27 02:25:41