-5

これは宿題のためのものであり、助けていただければ幸いです。

私はEclipse(Juno)を使用して、フレームを作成し、フレームの上部にボールを配置し、境界フレームの「南」にボタンの列を配置するプログラムを作成しています。私が抱えている問題は、Btns.javaと呼ばれるボタンを追加するクラスにあり、いくつかのエラーが発生します。

エラー1:変数に追加を解決できませんエラー2:コンストラクター呼び出しはコンストラクターの最初のステートメントである必要がありますエラー3:トークン "。"の構文エラー、このトークンの後に非常に期待されます

コードは私には正しく見えます。

Btnsクラスのコードは以下のとおりです。

import java.awt.BorderLayout;
import java.awt.FlowLayout;
import java.awt.*;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;

public class  Btns extends JFrame
{
    public Btns()
    {
        JButton jbtL = new JButton("Left");
        JButton jbtR = new JButton("Right");
        JButton jbtU = new JButton("Up");
        JButton jbtD = new JButton("Down");
        JButton jbtRd = new JButton("Red");
        JButton jbtG = new JButton("Green");
        add.(jbtL);
        add.(jbtR);
        add.(jbtU);
        add.(jbtD);
        add.(jbtRd);
        add.(jbtG);

    }

 }

Lab2.javaコード:

import javax.swing.*; 
import java.awt.*;
import java.awt.event.*;

public class Lab2 extends JFrame { 

        public Lab2()
        {
        setLayout(new BorderLayout());

        add(new Ball(), BorderLayout.CENTER);
        add(new Btns(), BorderLayout.SOUTH);
        }



public static void main (String[] args) { 

    Lab2 frame = new Lab2();
    frame.setTitle("Move The Ball");
    frame.setSize(450, 700);
    frame.setLocationRelativeTo(null);
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    frame.setVisible(true);

    }   
}
4

3 に答える 3

5

メソッドの括弧の前に、ここに余分なドットがあります。

交換:

add.(jbtL);
add.(jbtR);
add.(jbtU);
 ...

add(jbtL);
add(jbtR);
add(jbtU);
...
于 2013-01-30T22:13:20.800 に答える
4
add()

ComponentContainerクラスから継承されたメソッドであるため、ドットを削除して、ケースに適した実装を選択します。javadocsを参照してください。

于 2013-01-30T22:14:33.487 に答える
0

Java コードを書いたことはありますか?

    public Btns()
    {
        JButton jbtL = new JButton("Left");
        JButton jbtR = new JButton("Right");
        JButton jbtU = new JButton("Up");
        JButton jbtD = new JButton("Down");
        JButton jbtRd = new JButton("Red");
        JButton jbtG = new JButton("Green");
        super.add(jbtL);
        super.add(jbtR);
        this.add(jbtU);
        super.add(jbtD);
        add(jbtRd);
        add(jbtG);
    }

ドットは解決スコープ演算子として使用され、何かがクラスのメンバーであることを示します。super上記は、から派生しJFrameたメソッドを持つスーパークラスを示しています。は、から派生したメソッドも持つ型の現在のオブジェクトを示します。addComponentthisBtnsaddJFrame

thisほとんどの場合、必要な修飾子でsuperはないため、最後の 2 つの呼び出しでは使用しません。super.

Btnsまた、タイプのオブジェクトをメイン フレームに追加する場合は、JInternalFrameの代わりに拡張する必要がありJFrameます。

public class Btns extends javax.swing.JInternalFrame {

次にコンストラクタです。

public Lab2() {
   JDesktopPane p = new JDesktopPane();
   add(p);
   p.add(new Btns());
}
于 2013-01-30T22:18:38.467 に答える