1

私は BoxLayout マネージャーのこの非常に単純なテストをコンパイルしようとしていますが、このエラーが発生し続けています:「タイプ Container のメソッド setLayout(LayoutManager) は引数 (Layouttest) には適用できません」私の行 panel.setLayout(new Layouttest(パネル、Layouttest.Y_AXIS));. これが非常に単純な質問である場合は申し訳ありませんが、私はまだこれのコツをつかもうとしています.

import java.awt.BorderLayout;
import java.awt.Color;

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
public class Layouttest extends JFrame {

public static void main(String[] args) {
    SimpleGui1B gui = new SimpleGui1B();
    gui.go();

}

public void go(){


    JFrame frame = new JFrame();
    JPanel panel = new JPanel();

    panel.setBackground(Color.darkGray);
    panel.setLayout(new Layouttest(panel, Layouttest.Y_AXIS));

    JButton button = new JButton ("Button A");
    JButton buttonTwo = new JButton ("Button B");

    panel.add(button);
    panel.add(buttonTwo);

    frame.getContentPane().add(BorderLayout.EAST, panel);
    frame.setSize(250,200);
    frame.setVisible(true);
    }
}

助けてくれてありがとう。

4

2 に答える 2

4

交換

panel.setLayout(new Layouttest(panel, Layouttest.Y_AXIS));

panel.setLayout(new BoxLayout(panel, BoxLayout.Y_AXIS));

BoxLayout非修飾クラス名をアプリケーションで使用できるようにインポートします

import javax.swing.BoxLayout;
于 2013-09-13T13:42:11.613 に答える
3

ALayoutManagerは ではありませんJFrame。あなたのクラスLayouttestは拡張JFrameされており、それを に渡そうとしていsetLayout()ます。

独自の を作成しようとしている場合LayoutManagerは、そのためのチュートリアルを利用できます。

于 2013-09-13T13:42:50.257 に答える