Folge dem Video um zu sehen, wie unsere Website als Web-App auf dem Startbildschirm installiert werden kann.
Anmerkung: Diese Funktion ist in einigen Browsern möglicherweise nicht verfügbar.
Du hast schon ein neues Object Monster angelegt Und zwar vorherweil eigentlich müsste ich ja sagen monster = new Monster() aber bei dem this ist es nicht so...
Monster monster = new Monster();
MonsterCheck check = new MonsterCheck(monster);
check.init();
public class MonsterCheck
{
private SpinnerNumberModel spi_food;
private void init()
{
Integer value = new Integer(50);
Integer min = new Integer(0);
Integer max = new Integer(100);
Integer step = new Integer(1);
spi_food = new SpinnerNumberModel(value, min, max, step);
}
}
spi_food = new SpinnerNumberModel(new Integer(50), new Integer(0), new Integer(100), new Integer(5));
import java.awt.Container;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.ItemEvent;
import java.awt.event.ItemListener;
import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;
import javax.swing.JButton;
import javax.swing.JComboBox;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JSpinner;
import javax.swing.JTextField;
import javax.swing.SpinnerNumberModel;
public class MonsterCheck
{
private JFrame frame;
private JButton bt_erstell;
private JLabel lb_name;
private JLabel lb_gewicht;
private JLabel lb_hits;
private JLabel lb_food;
private JLabel lb_resist;
private JLabel lb_magic;
private JComboBox box_resist;
private JComboBox box_magic;
private JSpinner spi_gewicht;
private JSpinner spi_hits;
private JSpinner spi_food;
private JTextField tf = new JTextField();
private Monster monster = new Monster();
private void init()
{
/*Das Fenster*/
frame = new JFrame("Monster Check");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setResizable(false);
/*JButton*/
bt_erstell = new JButton("Erstellen");
tf.addKeyListener(new KeyListener()
{
public void keyPressed(KeyEvent e) {}
public void keyReleased(KeyEvent e) {}
public void keyTyped(KeyEvent e) {
if(tf.getText().length() > 20){
tf.setText(tf.getText().substring(0, 19));
}
}
});
/*ActionListener vom JButton*/
bt_erstell.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
monster.setName(tf.getText());
monster.setGewicht(Double.parseDouble(String.valueOf(spi_gewicht.getValue())));
monster.setHitPoints(Long.parseLong(String.valueOf(spi_hits.getValue())));
monster.setFoodUsage(Integer.parseInt(String.valueOf(spi_food.getValue())));
int res_auswahl = box_resist.getSelectedIndex();
if(res_auswahl == 0){
monster.setResistTyp("Fire");
}
else if(res_auswahl == 1){
monster.setResistTyp("Lightning");
}
else if(res_auswahl == 2){
monster.setResistTyp("Ice");
}
else if(res_auswahl == 3){
monster.setResistTyp("Nothing");
}
int ma_auswahl = box_magic.getSelectedIndex();
if(ma_auswahl == 0){
monster.setMagicAttacker(true);
}
else if(ma_auswahl == 1){
monster.setMagicAttacker(false);
}
System.out.println(monster.getName());
System.out.println(monster.getGewicht());
System.out.println(monster.getHitPoints());
System.out.println(monster.getFoodUsage());
System.out.println(monster.getResistTyp());
System.out.println(monster.getMagicAttacker());
}
});
/*Die Labels*/
lb_name = new JLabel("Name:");
lb_gewicht = new JLabel("Gewicht:");
lb_hits = new JLabel("Hit Points:");
lb_food = new JLabel("Food Usage:");
lb_resist = new JLabel("Resist Typ");
lb_magic = new JLabel("Magic Attacker");
/*Die ComboBoxen*/
String resTyp[] = {"Fire", "Lightning", "Ice", "Nothing"};
box_resist = new JComboBox();
for ( int i = 0; i < resTyp.length; i++ )
box_resist.addItem( resTyp[i] );
String magic[] = {"Yes", "No"};
box_magic = new JComboBox();
for ( int i = 0; i < magic.length; i++ )
box_magic.addItem( magic[i] );
SpinnerNumberModel mo_gewicht = new SpinnerNumberModel(new Double(100.0), new Double(10.0), new Double(200.0), new Double(0.01));
spi_gewicht = new JSpinner(mo_gewicht);
SpinnerNumberModel mo_hits = new SpinnerNumberModel(new Long(100), new Long(0), new Long(300000000), new Long(1));
spi_hits = new JSpinner(mo_hits);
SpinnerNumberModel mo_food = new SpinnerNumberModel(new Integer(50), new Integer(0), new Integer(100), new Integer(1));
spi_food = new JSpinner(mo_food);
tf.setHorizontalAlignment(JTextField.RIGHT);
/*Positionieren der Elemente*/
Container c = frame.getContentPane();
c.setLayout( null );
int lb_breite = 100;
int tf_breite = 150;
lb_name.setBounds ( 10, 10, lb_breite, 20);
lb_gewicht.setBounds ( 10, 40, lb_breite, 20);
lb_hits.setBounds ( 10, 70, lb_breite, 20);
lb_food.setBounds ( 10,100, lb_breite, 20);
lb_resist.setBounds ( 10,130, lb_breite, 20);
lb_magic.setBounds ( 10,160, lb_breite, 20);
tf.setBounds (120, 10, tf_breite, 20);
spi_gewicht.setBounds (120, 40, tf_breite, 20);
spi_hits.setBounds (120, 70, tf_breite, 20);
spi_food.setBounds (120,100, tf_breite, 20);
box_resist.setBounds (120,130, tf_breite, 20);
box_magic.setBounds (120,160, tf_breite, 20);
bt_erstell.setBounds (170,190, lb_breite, 20);
/*Container füllen*/
c.add(lb_name); c.add(lb_gewicht); c.add(lb_hits); c.add(lb_food);
c.add(lb_resist); c.add(lb_magic); c.add(bt_erstell); c.add(box_magic);
c.add(box_resist); c.add(tf); c.add(spi_gewicht); c.add(spi_hits); c.add(spi_food);
/*Fenster Eigenschaften*/
frame.setSize(290, 245);
frame.setVisible(true);
}
public static void main(String [] args)
{
/*Objekt Monster*/
MonsterCheck monster = new MonsterCheck();
monster.init();
}
}
1. Ich will ein Objekt zum Integer parsen klappt aber nicht... also mach ich zuerst nen String dann nen Integer aus dem Objekt geht des auch einfacher?
monster.setGewicht((Double)spi_gewicht.getValue());
String selected = (String) combo.getSelectedItem();
2. Ich würde gern den Eintrag der JSpinner markieren wenn man rein klickt geht das auch irgendwie (ähnlich der Explorer Ansicht wie in dem post davor schon beschrieben)
3. Ich krieg keine 3 Mrd. bei dem Long hin geht des überhaupt?
4. Könnte ich noch irgendne Rückmeldung bekommen wie die Überprüfung des Textfeld Name ist
monster.setGewicht((Double)spi_gewicht.getValue());