-1

ほら、またね…ブランコで勝負!!!そこで、アプレットに表示されるオンライン テストを作成しています。テストの問題数は決まっていないので、テストに合わせて出題する必要があります。質問を表示するために、質問jpanelを作成し、アプレットに表示されるコンテナパネルに追加しました。コンテナー パネルには、質問を積み重ねることができるボックス レイアウトを使用しています。

私の問題は、コンテナー パネルに 5 つ以上の質問を追加すると、質問が重複し始めることです。誰でも私を案内できますか?

まず、重複を避けるにはどうすればよいですか?次に、jpanel の最大サイズは決まっていますか? または、すべてのテスト問題をパネル コンテナに収めるのに十分な大きさにする方法はありますか? パネルをjscrollpaneに埋め込むことを考えました。または、コンテナパネルがアプレットに埋め込まれたら、ブラウザを下にスクロールすると下にスクロールするかどうかわかりません...助けてくれてありがとう

これは、質問があまりないときの様子の写真です...

ここに画像の説明を入力

これがコードです...

 public class Test extends JPanel {

    public Test() {
        setLayout(null);            
        JScrollPane scrollPane = new JScrollPane();
        scrollPane.setBounds(0, 5, 712, 1200);
        add(scrollPane);

        JPanel panel = new JPanel();
        scrollPane.setViewportView(panel);
        panel.setLayout(new BoxLayout(panel, BoxLayout.Y_AXIS));

        MultipleChoice q1 = new MultipleChoice();
        panel.add(q1);
        MultipleChoice q2 = new MultipleChoice();
        panel.add(q2);
        MultipleChoice q3 = new MultipleChoice();
        panel.add(q3);
        MultipleChoice q4 = new MultipleChoice();
        panel.add(q4);
        MultipleChoice q5 = new MultipleChoice();
        panel.add(q5);    
    }    
}
4

1 に答える 1

2

私ができることはsscceなしで推測することだけですが、 MultipleChoice JPanel が null レイアウトを使用している場合、レイアウトマネージャーに適切な preferredSize を与えて、コンポーネントのオーバーラップを許可することはできません。もしそうなら、解決策は null レイアウトを使用しないことです

あなたはコメントで次のように述べています:

バディのことは知っていますが、スイングについてあまり詳しくないのに、どうすればもっと具体的に言えますか? 私は Windowbuilder を使用しています。これは、コンテナー レイアウトを絶対に設定するときに指定されるレイアウトです。

  • 「バディ」?
  • 「スイングがよくわからないとき」については、スイングについて学びましょう。レイアウト マネージャーのチュートリアルに移動し、レイアウト マネージャーについて読んでください。
  • 「私は Windowbuilder を使用しています。これは、コンテナー レイアウトを絶対に設定するときに指定されるレイアウトです。」: あなたの問題の一部は、あなた自身が認めているように、Swing、特にそのレイアウトの使用をまだ完全に理解していないことです。この問題の 1 つの理由は、これを理解しなくても済むようにするツールを使用していることです。WindowBuilder を使用しないことをお勧めします。もう一度レイアウトマネージャーを読んで、それらの使い方を学びましょう。これを行ったことを後悔することはありません。
于 2013-07-13T02:24:44.003 に答える