hiho,
ich möchte ein programm schreiben, das mir zufällige konstellationen aus personen, orten, handlungen etc. liefert. in der menüleiste habe ich für jedes feld (personen, orten, handlungen etc) ein menu, wo ich die jeweiligen sachen aus, oder abwählen kann - also ob sie mit in die auswahl aufgenommen werden sollen. dann soll aus einem eintrag "Magier" "-> Magier" werden und das jeweilige wort in die jeweilige arraylist (hier: activePersonen) mit aufgenommen werden. bei erneutemm klicken soll es wieder rückgängig gemacht werden. allerdings funktioniert das so leider nicht... ich weiß auch, wieso nicht, aber ich weiß nicht, wie ich das hinbekomme... (
jemand ne idee?
ich möchte ein programm schreiben, das mir zufällige konstellationen aus personen, orten, handlungen etc. liefert. in der menüleiste habe ich für jedes feld (personen, orten, handlungen etc) ein menu, wo ich die jeweiligen sachen aus, oder abwählen kann - also ob sie mit in die auswahl aufgenommen werden sollen. dann soll aus einem eintrag "Magier" "-> Magier" werden und das jeweilige wort in die jeweilige arraylist (hier: activePersonen) mit aufgenommen werden. bei erneutemm klicken soll es wieder rückgängig gemacht werden. allerdings funktioniert das so leider nicht... ich weiß auch, wieso nicht, aber ich weiß nicht, wie ich das hinbekomme... (
jemand ne idee?
Java:
package de.sack;
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Dimension;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.ArrayList;
import java.util.Random;
import javax.swing.*;
public class RandomStory extends JFrame {
// Einige Werte zu Testzwecken
protected String[] personen={"Dieb", "Magier", "Jäger"};
protected String[] orte={"Waldhütte"};
protected String[] jahreszeiten={"Winter", "Frühling", "Sommer", "Herbst"};
protected String[] tageszeiten={"Nacht", "Morgen", "Mittag", "Abend"};
protected String[] handlungen={"mord"};
protected ArrayList<String> activePersonen;
protected ArrayList<String> activeOrte;
protected ArrayList<String> activeJahreszeiten;
protected ArrayList<String> activeTageszeiten;
protected ArrayList<String> activeHandlung;
int i; //Zählervariable;
JMenuItem temp;
String tempStr;
public RandomStory(){
activePersonen = new ArrayList<String>();
activeOrte = new ArrayList<String>();
activeJahreszeiten = new ArrayList<String>();
activeTageszeiten = new ArrayList<String>();
activeHandlung = new ArrayList<String>();
setTitle("Creative Stories (c) 2012");
setSize(new Dimension(800,200));
setLocationRelativeTo(null);
final Random r = new Random();
/*************Menü-Leiste**************************/
JMenuBar leiste = new JMenuBar();
// Hauptmenü
JMenu main = new JMenu("Programm");
JMenuItem close = new JMenuItem("Beenden");
close.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent arg0) {
// TODO Auto-generated method stub
System.exit(0);
}
});
main.add(close);
leiste.add(main);
// Personen
JMenu personenMenu = new JMenu("Personen");
for (i=0; i<personen.length; i++){
temp = new JMenuItem(personen[i]);
personenMenu.add(temp);
tempStr = personen[i];
temp.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent arg0) {
// if(!activePersonen.contains(personen[i])) {
// activePersonen.add(personen[i]);
// temp.setText("-> "+tempStr);
// führt zu einer ArrayIndexOutOfBoundsException
// } else {
// activePersonen.remove(personen[i]);
// temp.setText(personen[i]);
// }
}
});
}
leiste.add(personenMenu);
// weitere Menüs für Orte, Handlungen etc...
setJMenuBar(leiste);
/***************Ende Menü-Leiste*******************/
final JLabel anzeige = new JLabel("Willkommen");
getContentPane().add(anzeige, BorderLayout.NORTH);
JButton generator = new JButton("Generate");
generator.setSize(50, 10);
generator.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent arg0) {
//anzeige.setText("Works");
}
});
add(generator, BorderLayout.SOUTH);
this.getRootPane().setDefaultButton(generator);
//setDefaultCloseOperation(DO_NOTHING_ON_CLOSE);
setDefaultCloseOperation(EXIT_ON_CLOSE);
}
public static void main(String [] args){
new RandomStory().setVisible(true);
}
}