2017-03-27 19 views
0

私は、ユーザーが注文したい飲み物の数を入力できる何らかの計算プログラムを作っています。そして、彼らが支払う必要がある金額をボタンが計算します。彼らが納品書をチェックした場合、納品費のために$ 30が追加されます。私はisSelectedを使用してチェックボックスをオンにしているかどうかを確認していますが、動作していません。私が得るエラーは、 "メソッドisSelected()はタイプチェックボックスのために定義されていません"です。isSelected()チェックボックスエラー

import java.awt.*; 
import java.awt.event.*; 
public class hwextend{ 

static Frame frm = new Frame("Action Event"); 
static Checkbox ckb1 = new Checkbox("Delivery"); 
static Button btn = new Button("Calculate"); 
static TextField textfield1 = new TextField(); 
static TextField textfield2 = new TextField(); 
static TextField textfield3 = new TextField(); 
static TextField textfield4 = new TextField(); 
static TextField textfield5 = new TextField(); 

public static void main(String[] args) { 
    // TODO Auto-generated method stub 



    GridLayout grid = new GridLayout (7,3); 
    btn.addActionListener(new ActListener()); 
    frm.setLayout(grid); 
    frm.setSize(400,200); 
    frm.setBackground(Color.pink); 


    Label lab1 = new Label ("Tea Series"); 
    Font font1 = new Font(null,Font.BOLD,12); 
    lab1.setFont(font1); 
    frm.add(lab1); 
    frm.add(new Label("")); 
    frm.add(new Label("")); 


    frm.add(new Label("Black Tea")); 
    frm.add(new Label("$70")); 
    frm.add(textfield1); 


    frm.add(new Label("Green Tea")); 
    frm.add(new Label("$70")); 
    frm.add(textfield2); 

    Label lab2 = new Label ("Special Flavor Series"); 
    lab2.setFont(font1); 
    frm.add(lab2); 
    frm.add(new Label("")); 
    frm.add(new Label("")); 


    frm.add(new Label("Alpine Tea")); 
    frm.add(new Label("$80")); 
    frm.add(textfield3); 


    frm.add(new Label("Stewed Oolong Tea")); 
    frm.add(new Label("$80")); 
    frm.add(textfield4); 


    frm.add(btn); 
    frm.add(ckb1); 


    frm.add(textfield5); 
    frm.addWindowListener(new WindowAdapter() 
    { 
      public void windowClosing (WindowEvent Event) { 
      System.exit (0); 
     } 
     } 
     ); 


    frm.setVisible(true); 
} 


static class ActListener implements ActionListener{ 
    public void actionPerformed(ActionEvent e) { 
     int a = Integer.parseInt(textfield1.getText().toString()); 
     int b = Integer.parseInt(textfield2.getText().toString()); 
     int c = Integer.parseInt(textfield3.getText().toString()); 
     int d = Integer.parseInt(textfield4.getText().toString()); 

     if (ckb1).isSelected()){ 
      textfield5.setText(String.valueOf((a+b)*70+(c+b)*80)+30); 
     } 
     else { 
     textfield5.setText(String.valueOf((a+b)*70+(c+b)*80)); 
     } 
      } 


} 

}

答えて

0

を探している

はあなたがconcatinatingた細かい

static Frame frm = new Frame("Action Event"); 
static Checkbox ckb1 = new Checkbox("Delivery"); 
static Button btn = new Button("Calculate"); 
static TextField textfield1 = new TextField(); 
static TextField textfield2 = new TextField(); 
static TextField textfield3 = new TextField(); 
static TextField textfield4 = new TextField(); 
static TextField textfield5 = new TextField(); 

public static void main(String[] args) { 
    // TODO Auto-generated method stub 



    GridLayout grid = new GridLayout (7,3); 
    btn.addActionListener(new ActListener()); 
    frm.setLayout(grid); 
    frm.setSize(400,200); 
    frm.setBackground(Color.pink); 


    Label lab1 = new Label ("Tea Series"); 
    Font font1 = new Font(null,Font.BOLD,12); 
    lab1.setFont(font1); 
    frm.add(lab1); 
    frm.add(new Label("")); 
    frm.add(new Label("")); 


    frm.add(new Label("Black Tea")); 
    frm.add(new Label("$70")); 
    frm.add(textfield1); 


    frm.add(new Label("Green Tea")); 
    frm.add(new Label("$70")); 
    frm.add(textfield2); 

    Label lab2 = new Label ("Special Flavor Series"); 
    lab2.setFont(font1); 
    frm.add(lab2); 
    frm.add(new Label("")); 
    frm.add(new Label("")); 


    frm.add(new Label("Alpine Tea")); 
    frm.add(new Label("$80")); 
    frm.add(textfield3); 


    frm.add(new Label("Stewed Oolong Tea")); 
    frm.add(new Label("$80")); 
    frm.add(textfield4); 


    frm.add(btn); 
    frm.add(ckb1); 


    frm.add(textfield5); 
    frm.addWindowListener(new WindowAdapter() 
    { 
      public void windowClosing (WindowEvent Event) { 
      System.exit (0); 
     } 
     } 
     ); 


    frm.setVisible(true); 
} 


static class ActListener implements ActionListener{ 
    public void actionPerformed(ActionEvent e) { 
     int a = Integer.parseInt(textfield1.getText().toString()); 
     int b = Integer.parseInt(textfield2.getText().toString()); 
     int c = Integer.parseInt(textfield3.getText().toString()); 
     int d = Integer.parseInt(textfield4.getText().toString()); 

     if (ckb1.getState()){ 
      int res=((a+b)*70+(c+b)*80)+30; 
      textfield5.setText(String.valueOf(res)); 
     } 
     else { 
      int res=((a+b)*70+(c+b)*80); 
     textfield5.setText(String.valueOf(res)); 
     } 
      } 


} 

作業更新されたコードを見つけてくださいckb1.getState()の代わりに、ckb1.isselected()を使用してください最終回答、すなわち、配送料 はサンプルを出力しましたConcatinating answer image

と私は、コードを変更し、変更したコードAPIを見て Changed output image

0

https://docs.oracle.com/javase/7/docs/api/java/awt/Checkbox.html

のためのスクリーンショットを見つけてきた、チェックボックスオブジェクトがisSelectedメソッドを持っていないようです。おそらくあなたが探しているのはgetState()です。チェックボックスがオンまたはオフの状態にあるかどうかを判断します。

0

はこれをやってみてください:

ckb1.addItemListener(new ItemListener() { 
@Override 
public void itemStateChanged(ItemEvent e) { 
    if(e.getState()) {//checkbox has been selected 
     //do something... 
    } else {//checkbox has been deselected 
     //do something... 
    }; 
} 

});

アイテムリスナを追加し

getStateを(状態を取得するための最初の必要性)は、ブール値を返します、あなたはあなたの仕事をする場合、他を使用することができます:)

0

SwingAWTチェックボックスは同じではありませんが、JCheckBoxは実際には​​メソッドを持っていますが、AWTは対応していません。

とにかく、私は、追跡の代わりに、直接UIコンポーネントにアクセス状態変化のためのイベントを使用することをお勧めしたい例えば:

checkbox.addItemListener(new ItemListener() { 
    public void itemStateChanged(ItemEvent e) { 
     System.out.printf("%s\n", e.getStateChange() == 1 ? "checked" : "unchecked"); 
    } 
}); 
関連する問題