<div>import java.awt.*;</div> <div>import java.awt.event.*;</div> <div><br></div> <div>import javax.swing.*;</div> <div>import javax.swing.event.*;</div> <div><br></div> <div><br></div> <div>public class IdealWeight extends JFrame implements ChangeListener {</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>JRadioButton genderM, genderF;</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>ButtonGroup genderGroup;</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>JPanel genderPanel;</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span></div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>JRadioButton heightA, heightB, heightC, heightD, heightE;</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>ButtonGroup heightGroup;</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>JPanel heightPanel;</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span></div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>JTextField resultText;</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>JLabel resultLabl;</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>JPanel resultPanel;</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span></div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>int Result1 = 35;</div> <div> int Result2 = 55;</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>int Result3 = 65;</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>int Result4 = 75;</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>int Result5 = 85;</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>int result = 0;</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span></div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span></div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>public IdealWeight() {</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>setTitle("Your Ideal Weight");</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>setDefaultCloseOperation(EXIT_ON_CLOSE);</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span></div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>//genderGroup</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>genderM = new JRadioButton("MALE", true);</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>genderF = new JRadioButton("Female", false);</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>genderGroup = new ButtonGroup();</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>genderGroup.add(genderM);genderGroup.add(genderF);</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>genderM.addChangeListener(this);</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>genderF.addChangeListener(this);</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span></div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span></div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span></div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>genderPanel = new JPanel();</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>genderPanel.setLayout( new BoxLayout(genderPanel, BoxLayout.Y_AXIS));</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>genderPanel.add( new JLabel("Your Gender"));</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>genderPanel.add(genderM);genderPanel.add(genderF);</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span></div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>//heightGroup</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>heightA = new JRadioButton("60 to 64 inches", true );</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span> heightB = new JRadioButton("64 to 68 inches", false );</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span> heightC = new JRadioButton("68 to 72 inches", false );</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span> heightD = new JRadioButton("72 to 76 inches", false );</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span> heightE = new JRadioButton("76 to 80 inches", false );</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span> </div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span> heightGroup = new ButtonGroup();</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span> heightGroup.add( heightA ); heightGroup.add( heightB );</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span> heightGroup.add( heightC ); heightGroup.add( heightD );</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span> heightGroup.add( heightE );</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span> </div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span> heightPanel = new JPanel();</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span> heightPanel.setLayout( new BoxLayout( heightPanel, BoxLayout.Y_AXIS ) );</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span> heightPanel.add( new JLabel("Your Height") );</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span> heightPanel.add( heightA ); heightPanel.add( heightB );</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span> heightPanel.add( heightC ); heightPanel.add( heightD );</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span> heightPanel.add( heightE );</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span> </div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span> heightA.addChangeListener(this);</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span> heightB.addChangeListener(this);</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span> heightC.addChangeListener(this);</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span> heightD.addChangeListener(this);</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span> heightE.addChangeListener(this);</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span> // result panel</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span> resultText = new JTextField(7);</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span> resultText.setEditable( false ); </div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span> resultLabl = new JLabel("Ideal Weight");</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span> resultPanel = new JPanel();</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span> resultPanel.add( resultLabl );</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span> resultPanel.add( resultText );</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span> </div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span> // frame: use default layout manager</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span> add( genderPanel, BorderLayout.WEST );</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span> add( heightPanel, BorderLayout.EAST );</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span> add( resultPanel, BorderLayout.SOUTH );</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span></div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span> </div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span></div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>}</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span></div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>protected void genderResult(ChangeEvent evt) {</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>JRadioButton source; </div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>source = (JRadioButton)evt.getSource();</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span></div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span></div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>if (source == genderM) {</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>if (source == heightA) {</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>result += Result1;</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>}</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>else if(source == heightB) {</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>result = result + Result2;</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>}</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>else if(source == heightC) {</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>result = result + Result3;</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>}</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>else if(source == heightD) {</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>result = result + Result4;</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span> }</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>else if(source == heightE) {</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>result = result + Result5;<span class="Apple-tab-span" style="white-space:pre;"> </span></div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>}<span class="Apple-tab-span" style="white-space:pre;"> </span></div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>}</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>if (source == genderF){</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>if (source == heightA) {</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>result = result + Result1-10;</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>}</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>else if(source == heightB) {</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>result = result + Result2-10;</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>}</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>else if(source == heightC) {</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span> result = result + Result3-10;</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>}</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>else if(source == heightD) {</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>result = result + Result4-10;</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>}</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>else if(source == heightE) {</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>result = result + Result5-10;</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>}</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>}</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>resultText.setText(result+"");</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>}</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span></div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span></div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>public void stateChanged(ChangeEvent evt) {</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>genderResult(evt);</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>}</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span></div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>public static void main ( String[] args )</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span> {</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span> IdealWeight weightApp = new IdealWeight() ;</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span> weightApp.setSize( 250, 225 ); </div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span> weightApp.setResizable( false ); </div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span> weightApp.setVisible( true ); </div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span> }</div> <div>}</div> <div><br></div> <div>두 라디오 버튼 그룹중에 남자와 여자 성별에 따른 몸무게를 출력하려고 합니다. 성별 선택 이후 키선택을 하고 몸무게 값이 나오게 하려고 하는데, 결과값이 0으로만 나옵니다. </div> <div><br></div> <div>ItemListener 인터페이스를 쓰게 되면 해결은 되는데, ChangeListener 를 사용해서 결과값을 나오게 하고 싶은데요 좋은 방법있을까요. <span class="Apple-tab-span" style="white-space:pre;"> </span></div>
댓글 분란 또는 분쟁 때문에 전체 댓글이 블라인드 처리되었습니다.