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);
的错误表明该方法未定义。
导致此错误的原因是什么?请帮我解决一下。
答案 0 :(得分:2)
这是因为您将班级命名为GridBagLayout
。您需要更改类的名称或使用显式完整路径来使用java.awt.GridBagLayout
类的所有用途,而不是使用导入。
答案 1 :(得分:2)
编译错误几乎描述了这个问题。只需将您的课程重命名为GridBagLayoutTest。