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();
            }
        });
    }
}

>>>でマークされた行は、EclipseIDEによってエラーとしてフラグが付けられます。
のエラーimport java.awt.GridBagLayout;は、同じファイル内のタイプと競合する可能性があることを示しています
。のエラーはaWin.getContentPane().setLayout(gridBag);、FlowLayoutを試したときに問題がなかったにもかかわらず、GridBagLayoutを適用できないことを示しています。
のエラーはlayout.setConstraints(button,constraints);、メソッドが未定義であることを示しています。
このエラーの原因は何ですか?私がそれを解決するのを手伝ってください。

4

2 に答える 2

2

コンパイルエラーはほとんど問題を説明しています。クラスの名前を、たとえばGridBagLayoutTestに変更するだけです。

于 2012-07-28T10:57:51.200 に答える
2

これらは、クラスに名前を付けたことが原因ですGridBagLayout。クラスの名前を変更するか、クラスのすべての使用に明示的なフルパスをjava.awt.GridBagLayout使用し、インポートを使用しないようにする必要があります。

于 2012-07-28T10:56:33.973 に答える