2012-07-28 31 views
2
import javax.swing.JFrame; 
import javax.swing.SwingUtilities; 
>>>import java.awt.GridBagLayout; 
import java.awt.GridBagConstraints; 
import javax.swing.JButton; 
import javax.swing.BorderFactory; 
public class GridBagLayout { 
    public static void createWindow(){ 
     JFrame aWin = new JFrame("Title"); 
     aWin.setBounds(0,0,200,200); 
     aWin.setVisible(true); 

     GridBagLayout gridBag = new GridBagLayout(); 
     GridBagConstraints constraints = new GridBagConstraints(); 
     >>>aWin.getContentPane().setLayout(gridBag); 


     constraints.weightx = constraints.weighty = 10.0; 
     constraints.fill = GridBagConstraints.BOTH; 
     addButton(" Press ",constraints,gridBag,aWin); 
     constraints.gridwidth=GridBagConstraints.REMAINDER; 
    } 
    static void addButton(String label,GridBagConstraints constraints,GridBagLayout layout,JFrame window){ 
     JButton button = new JButton(label); 
     button.setBorder(BorderFactory.createEtchedBorder()); 
     >>>layout.setConstraints(button,constraints); 
     window.getContentPane().add(button); 
    } 
    public static void main(String[] args){ 
     SwingUtilities.invokeLater(new Runnable(){ 
      public void run(){ 
       createWindow(); 
      } 
     }); 
    } 
} 

標有>>>的行被Eclipse IDE標記爲錯誤。
import java.awt.GridBagLayout;的錯誤表明與同一文件中的類型可能存在衝突
aWin.getContentPane().setLayout(gridBag);的錯誤表明GridBagLayout無法應用,儘管當我嘗試使用FlowLayout時,它沒有問題。
layout.setConstraints(button,constraints);的錯誤表明該方法未定義。
這個錯誤的原因是什麼?請幫我解決它。GridBagLayout被標記爲錯誤

回答

2

編譯錯誤非常多地描述了這個問題。簡單地將您的課程重命名爲GridBagLayoutTest。

2

這些是由於您將您的類命名爲GridBagLayout而造成的。您需要更改班級的名稱,或者對java.awt.GridBagLayout類的所有用途使用明確的完整路徑,並且不要爲其使用導入。