GridBagLayout被标记为错误

时间:2012-07-28 10:49:31

标签: java swing layout awt layout-manager

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);的错误表明该方法未定义。
导致此错误的原因是什么?请帮我解决一下。

2 个答案:

答案 0 :(得分:2)

这是因为您将班级命名为GridBagLayout。您需要更改类的名称或使用显式完整路径来使用java.awt.GridBagLayout类的所有用途,而不是使用导入。

答案 1 :(得分:2)

编译错误几乎描述了这个问题。只需将您的课程重命名为GridBagLayoutTest。