Hallo es handelt sich hierbei um Kapitel 63 Programmieraufgaben Aufgabe 1.
Ich weiß das man den Frame eigentlich von innen mit der Methode Pack() anpassen sollte. Ich verstehe aber noch nicht genau wie man das macht. Kann mir jemand das erklären?
Außerdem müssen ja "Paare" zwischen female und einer größe gebildet werden und eben zwischen male und einer größe. Wie ich das machen kann, dazu habe ich noch keine Idee. Kann mir jemand einen Tipp geben?
Ich weiß das man den Frame eigentlich von innen mit der Methode Pack() anpassen sollte. Ich verstehe aber noch nicht genau wie man das macht. Kann mir jemand das erklären?
Außerdem müssen ja "Paare" zwischen female und einer größe gebildet werden und eben zwischen male und einer größe. Wie ich das machen kann, dazu habe ich noch keine Idee. Kann mir jemand einen Tipp geben?
Java:
import java.awt.* ;
import java.awt.event.*;
import javax.swing.*;
public class IdealWeight extends JFrame implements ActionListener
{
JRadioButton genderM, genderF;
ButtonGroup genderGroup;
JPanel genderPanel;
JRadioButton heightA, heightB, heightC, heightD, heightE;
ButtonGroup heightGroup;
JPanel heightPanel;
JTextField resultText;
JLabel resultLabl;
JPanel resultPanel;
public IdealWeight()
{
setTitle( "Your Ideal Weight" );
setDefaultCloseOperation( EXIT_ON_CLOSE );
// Gender-Gruppe
genderM = new JRadioButton("Male", true );
genderF = new JRadioButton("Female", false );
genderM.setActionCommand("genderM");
genderM.addActionListener(this);
genderF.setActionCommand("genderF");
genderF.addActionListener(this);
genderGroup = new ButtonGroup();
genderGroup.add( genderM );
genderGroup.add( genderF );
genderPanel = new JPanel();
genderPanel.setLayout( new BoxLayout( genderPanel, BoxLayout.Y_AXIS ) );
genderPanel.add( new JLabel("Your Gender") );
genderPanel.add( genderM ); genderPanel.add( genderF );
// Height-Gruppe
heightA = new JRadioButton("60 to 64 inches", true );
heightB = new JRadioButton("64 to 68 inches", false );
heightC = new JRadioButton("68 to 72 inches", false );
heightD = new JRadioButton("72 to 76 inches", false );
heightE = new JRadioButton("76 to 80 inches", false );
heightGroup = new ButtonGroup();
heightGroup.add( heightA ); heightGroup.add( heightB );
heightGroup.add( heightC ); heightGroup.add( heightD );
heightGroup.add( heightE );
heightPanel = new JPanel();
heightPanel.setLayout( new BoxLayout( heightPanel, BoxLayout.Y_AXIS ) );
heightPanel.add( new JLabel("Your Height") );
heightPanel.add( heightA ); heightPanel.add( heightB );
heightPanel.add( heightC ); heightPanel.add( heightD );
heightPanel.add( heightE );
heightA.setActionCommand("heightA");
heightA.addActionListener(this);
heightB.setActionCommand("heightB");
heightB.addActionListener(this);
heightC.setActionCommand("heightC");
heightC.addActionListener(this);
heightD.setActionCommand("heightD");
heightD.addActionListener(this);
heightE.setActionCommand("heightE");
heightE.addActionListener(this);
// Result-Panel
resultText = new JTextField(13);
resultText.setEditable( false );
resultLabl = new JLabel("Ideal Weight");
resultPanel = new JPanel();
resultPanel.add( resultLabl );
resultPanel.add( resultText );
// Frame: verwendet den Standard Layoutmanager
add( genderPanel, BorderLayout.WEST );
add( heightPanel, BorderLayout.EAST );
add( resultPanel, BorderLayout.SOUTH );
}
double idealM (double H){
return (H*H/28);}
double idealW(double H){
return (H*H/30);
}
public static void main ( String[] args )
{
IdealWeight weightApp = new IdealWeight() ;
weightApp.setSize( 250, 225 );
weightApp.setResizable( false );
weightApp.setVisible( true );
}
@Override
public void actionPerformed(ActionEvent eve) {
if (eve.getActionCommand()=="genderM" && eve.getActionCommand()=="heightA"){
resultText.setText(idealM(62)+"");
}
}
}