私はフレームにラベルを貼り付けましたが、移動を拒否します。 SetBounds()は動作していません。引数が0、1、または2でない "Result"よりも過去にある場合、不正な位置合わせエラーが発生します。ここで私はラベルを宣言しています:Java AWTでの不適切な配置エラー。私のラベルを移動させることができません
ラベル結果=新しいラベル( "結果。"、3);
ここSetBoundsの文です:
result.setBounds(0、1500、100、20);
私が書いているこのプログラムでは、ユーザーに2つの数字を入力して追加し、GUIコンポーネントを使用して結果を印刷したいだけです。結果は変更を拒否するラベルです。プログラム全体のコードは以下の通りですが、プログラムはまだ実行されていませんが、コンパイルした場合、結果は常に左に詰まり、TextFieldと同じレベルにします。この問題は実際には他のラベル、Help1、Help2で発生しています。私はスイングを使わなければならないと教えてください!私はスイングが嫌いです。
まだイベントをユーザー入力を追加する場所に変更する必要があります。以前の番組のイベントをコピーしました。
コード:(コメントはありません申し訳ありませんが、それは巨大なプログラムはありません)3は、コンストラクタ内のパラメータ「アライメント」のために許可された値ではないため、エラーがある
import java.awt.*;
import java.awt.event.*;
public class MouseClick {
TextField number1;
TextField number2;
public static void main(String[] args) {
MouseClick MC = new MouseClick();
}
public MouseClick() {
Frame f = new Frame("Addition Time!");
Button button = new Button("Click Here To Add The Two Numbers.");
button.setBounds(175, 250, 230, 30);
button.addMouseListener(new MyMouseListener());
f.add(button);
Label help1 = new Label("Enter the first number below.");
Label help2 = new Label("Enter the second number below.");
Label exprsn1 = new Label("+", 0);
Label exprsn2 = new Label("=", 0);
Label result = new Label("Result.", 3);
number1 = new TextField("TextField1", 100);
number2 = new TextField("TextField2", 100);
help1.setBounds(50, 80, 150, 20);
help2.setBounds(250, 80, 150, 20);
exprsn1.setBounds(00, 80, 30, 30);
exprsn2.setBounds(00, 80, 30, 30);
number1.setBounds(50, 100, 100, 20);
number2.setBounds(250, 100, 100, 20);
result.setBounds(0, 1500, 100, 20);
f.add(number1);
f.add(number2);
f.add(help1);
f.add(help2);
f.add(result);
f.addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent we) {
System.exit(0);
}
});
f.setSize(600, 300);
f.setVisible(true);
}
public class MyMouseListener extends MouseAdapter {
public void mouseClicked(MouseEvent me) {
String S = number1.getText();
number2.setText(S);
}
}
}
ただし、絶対レイアウトと純粋なAWTを使用する具体的な理由はありますか?この例は、レイアウトマネージャであるSwing +のほうがずっと簡単です。 – Adam
*「私はスイングを使わなければならないと言わないでください!私はスイングが嫌いです」*ネイティブPLAFを試しましたか?(この回答の最後の3枚のスクリーンショットに見られるように)(http://stackoverflow.com/questions/5621338/about-swing-and-jtable/5630271#5630271)BTW - 誰もスイングやレイアウトを使用する必要はありませんが、助けを受ける機会があれば助かります。 –