JButton soll in neue Zeile schreiben

watchingU

Mitglied
Hallo,

also vorab ich bin ganz neu hier und auch ganz neu in Java. Ich versuche mich gerade daran
ein Kassensystem zu Programmieren. Grafische Oberfläche steht. So jetzt habe ich das problem das meine JButtons einen Wert (Text + Preis) an ein Textarea übergeben. Es wird allerdings immer in die gleiche zeile geschrieben bzw überschrieben! Wie bringe ich es hin das der JButton weiß das er den Wert in eine neue/unbeschriebene Zeile schreibt und ist das überhaupt möglich****

Ich bitte um einfache verständliche Antworten! Vielen Dank an euch!!
 
Moin,

ich bin nicht sicher, ob ich Deine Frage richtig verstanden habe, aber spendiere jedem Button einen neuen ActionListener !
Dann kannst Du jeweils in der zugehörigen actionPerformed-Methode die notwendigen Aktionen ausführen :)

Poste andernfalls mal den Code, an dem Du ein Problem siehst !

Gruß
Klaus
 
Vielen Dank für die schnelle Reaktion. das mit dem Action Listener hab ich verstanden siehe meinen Code, manche Buttons sollen nichts anderes wie einen Text übergeben, allerdings nicht immer in die gleiche Zeile.

public class Gastro_Soft extends JFrame {

public static void main(String[] args) {
new Gastro_Soft();
}

// Eingabe Feld----------------------------------------------------------------

public JTextArea sichtfeld = new JTextArea(60, 10);
public JScrollPane scroll = new JScrollPane();
public JTextArea txt1 = new JTextArea(20, 20);


// Buttons Zahlenfeld----------------------------------------------------------

private JButton zero = new JButton("0");
private JButton eins = new JButton("1");
private JButton zwei = new JButton("2");
private JButton drei = new JButton("3");
private JButton vier = new JButton("4");
private JButton fünf = new JButton("5");
private JButton sechs = new JButton("6");
private JButton sieben = new JButton("7");
private JButton acht = new JButton("8");
private JButton neun = new JButton("9");
private JButton tisch = new JButton("Tisch");


// Getränke-------------------------------------------------------------------

private JButton helles = new JButton("Helles");
private JButton weisbier = new JButton("WB");
private JButton pils = new JButton("Pils");
private JButton schorle = new JButton("Schorle");
private JButton radler = new JButton("Radler");
private JButton kaffee = new JButton("Kaffee");
private JButton maß = new JButton("Maß");
private JButton ruß = new JButton("Ruß");
private JButton longdrink = new JButton("Longdrink");
private JButton spirit = new JButton("Spirituosen");
private JButton alloholfrei = new JButton("AF");
private JButton wasser = new JButton("Wasser");

// Button Unterfunktion Kaffee-------------------------------------------------
public JButton latte = new JButton("Latte");
public JButton kaffe1 = new JButton("Tasse Kaffee");
public JButton capu = new JButton("Cappuccino");
public JButton espresso = new JButton("Espresso");
public JButton mkaffe = new JButton("Milchkaffe");
// Button Unterfunktion Longdrink
public JButton wico = new JButton("Jacky Cola");
public JButton campari = new JButton("Campari O-Saft");
public JButton spritz = new JButton("Spritz Apperol");
public JButton wobull = new JButton("Wodka Bull");
public JButton cuba = new JButton("Cuba Libre");
// Button Unterfunktionen Spirituosen
public JButton willi = new JButton("WilliamsBirne");
public JButton jager = new JButton("Jägermeister");
public JButton wodka = new JButton("Wodka");
public JButton obstler = new JButton("Obstler");
public JButton martini = new JButton("MartiniBianco");
// Button Unterfunktionen Maß
public JButton maß1 = new JButton("Maß Helles");
public JButton maß2 = new JButton("Maß Radler");
public JButton maß3 = new JButton("Maß Weißbier");
public JButton maß4 = new JButton("Maß Rußen");
public JButton maß5 = new JButton("Maß Pils");
// Button Unterfunktion Suppe
public JButton suppe1 = new JButton("Pfannkuchensuppe");
public JButton suppe2 = new JButton("Tomatensuppe");
public JButton suppe3 = new JButton("Gemüse Bullion");
public JButton suppe4 = new JButton("Tam Jung Gung");
public JButton suppe5 = new JButton("Gulaschsuppe");
// Button Unterfunktion Longdrink
public JButton schorle1 = new JButton("ApfelSchorle");
public JButton schorle2 = new JButton("MaracujaSchorle");
public JButton schorle3 = new JButton("OrangenSchorle");
public JButton schorle4 = new JButton("AnanasSchorle");
public JButton schorle5 = new JButton("KirschSchorle");
// Button Unterfunktionen AF
public JButton spezi = new JButton("Spezi");
public JButton olimo = new JButton("OrangenLimo");
public JButton zlimo = new JButton("Zitronenlimo");
public JButton saft = new JButton("O-Saft");
public JButton abier = new JButton("Alkoholfreies-Bier");
// Button Unterfunktionen Beilagen
public JButton pommes = new JButton("Pommes");
public JButton bsal = new JButton("Beilagensalat");
public JButton spätzle = new JButton("Spätzle");
public JButton knödel = new JButton("Knödel");
public JButton breze = new JButton("Breze");
public JButton brot = new JButton("port. Brot");
// Button Unterfunktionen Salat
public JButton tonno = new JButton("ThunfischSalat");
public JButton toma = new JButton("TomateMozzarella");
public JButton mexxo = new JButton("MexicanSalat");
public JButton chef = new JButton("Chefsalat");
public JButton wurst = new JButton("Wurstsalat");
// Button Unterfunktionen Dessert
public JButton banana = new JButton("BananaSplit");
public JButton gemeis = new JButton("gemischtes Eis");
public JButton kuchen = new JButton("Kuchen");
public JButton strudel = new JButton("Apfelstrudel");
public JButton vanhim = new JButton("Vanille Eis mit heißen Himbeeren");
// Button Unterfunktion Brotzeit
public JButton schwu = new JButton("Schweinswürstl mit Kraut");
public JButton obatzda = new JButton("Obatzda");
public JButton wiener = new JButton("2Paar Wiener");
public JButton leber = new JButton("warmer Leberkas");
public JButton brotz = new JButton("Brotzeitplatte");


// Essen-----------------------------------------------------------------------

private JButton schnitzel = new JButton("Schnitzel");
private JButton braten = new JButton("Schweinebraten");
private JButton steak = new JButton("Steak");
private JButton suppe = new JButton("Suppe");
private JButton dessert = new JButton("Dessert");
private JButton beilage = new JButton("Beilagen");
private JButton salat = new JButton("Salat");

// Zusatzbutons----------------------------------------------------------------

private JButton ausserhaus = new JButton("Außer Haus");
private JButton brotzeit = new JButton("Brotzeit");


// Panels----------------------------------------------------------------------

private JPanel eastpanel = new JPanel();
private JPanel westpanel = new JPanel();
private JPanel southpanel = new JPanel();
public JPanel centerpanel1 = new JPanel();
public JPanel centerpanel2 = new JPanel();
public JPanel centerpanel3 = new JPanel();
public JPanel centerpanel4 = new JPanel();
public JPanel centerpanel5 = new JPanel();
public JPanel centerpanel6 = new JPanel();
public JPanel centerpanel7 = new JPanel();
public JPanel centerpanel8 = new JPanel();
public JPanel centerpanel9 = new JPanel();
public JPanel centerpanela = new JPanel();
public JPanel centerpanelb = new JPanel();
public JPanel centerpanelc = new JPanel();


// Container Panelverteilung mit
// BorderLayout----------------------------------

public Gastro_Soft() {

Container con = getContentPane();
con.setLayout(new BorderLayout());
con.add(eastpanel, BorderLayout.EAST);
con.add(westpanel, BorderLayout.WEST);
con.add(southpanel, BorderLayout.SOUTH);
eins.setPreferredSize(new Dimension(5, 5));
getContentPane().add(eins);
schnitzel.setPreferredSize(new Dimension(50, 50));
getContentPane().add(schnitzel);
sichtfeld.setPreferredSize(new Dimension(300, 600));
getContentPane().add(sichtfeld);

// westpanel-------------------------------------------------------------------
westpanel.add(sichtfeld);
sichtfeld.add(scroll);

// eastpanel-------------------------------------------------------------------
eastpanel.setLayout(new GridLayout(3, 4));
eastpanel.add(eins);
eastpanel.add(zwei);
eastpanel.add(drei);
eastpanel.add(vier);
eastpanel.add(fünf);
eastpanel.add(sechs);
eastpanel.add(sieben);
eastpanel.add(acht);
eastpanel.add(neun);
eastpanel.add(zero);
eastpanel.add(tisch);

// southpanel------------------------------------------------------------------
southpanel.setLayout(new GridLayout(3, 7));
southpanel.add(helles);
southpanel.add(weisbier);
southpanel.add(pils);
southpanel.add(schorle);
southpanel.add(radler);
southpanel.add(kaffee);
southpanel.add(maß);
southpanel.add(ruß);
southpanel.add(longdrink);
southpanel.add(spirit);
southpanel.add(alloholfrei);
southpanel.add(wasser);
southpanel.add(beilage);
southpanel.add(salat);
southpanel.add(schnitzel);
southpanel.add(braten);
southpanel.add(steak);
southpanel.add(suppe);
southpanel.add(dessert);
southpanel.add(ausserhaus);
southpanel.add(brotzeit);

setTitle("Gastro_Soft");
setSize(900, 600);
setVisible(true);

// Tischnummern----------------------------------------------------------------

zero.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
sichtfeld.setText("0");
zero.setBackground(Color.lightGray);
zero.getBackground();

}
});
eins.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
sichtfeld.setText("1");
eins.setBackground(Color.lightGray);
eins.getBackground();


}
});
zwei.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
sichtfeld.setText("2");
zwei.setBackground(Color.lightGray);
zwei.getBackground();

}
});
drei.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
sichtfeld.setText("3");
drei.setBackground(Color.lightGray);
drei.getBackground();

}
});
vier.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
sichtfeld.setText("4");
vier.setBackground(Color.lightGray);
vier.getBackground();

}
});
fünf.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
sichtfeld.setText("5");
fünf.setBackground(Color.lightGray);
fünf.getBackground();

}
});
sechs.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
sichtfeld.setText("6");
sechs.setBackground(Color.lightGray);
sechs.getBackground();

}
});
sieben.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
sichtfeld.setText("7");
sieben.setBackground(Color.lightGray);
sieben.getBackground();

}
});
acht.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
sichtfeld.setText("8");
acht.setBackground(Color.lightGray);
acht.getBackground();

}
});
neun.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
sichtfeld.setText("9");
neun.setBackground(Color.lightGray);
neun.getBackground();

}
});

// Tische erzeugen------------------------------------------------------

tisch.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {

Frame fr1 = new JFrame();

Container con1 = getContentPane();
con1 = new Container();
fr1.add(con1);
con1.setLayout(new BorderLayout());
con1.add(centerpanel1, BorderLayout.CENTER);
centerpanel1.add(txt1, BorderLayout.CENTER);

String text = "";

fr1.setTitle(text + sichtfeld.getText());
fr1.setSize(300, 600);
fr1.setVisible(true);

sichtfeld.setText("");
}
});

// Unterfunktion erzeugen------------------------------------------------------------

kaffee.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {

kaffee.setBackground(Color.red);
kaffee.getBackground();

Frame fr2 = new JFrame();

Container con2 = getContentPane();
con2 = new Container();
fr2.add(con2);
con2.setLayout(new BorderLayout());
con2.add(centerpanel2, BorderLayout.CENTER);
centerpanel2.setLayout(new GridLayout(5, 1));
centerpanel2.add(latte);
centerpanel2.add(kaffe1);
centerpanel2.add(capu);
centerpanel2.add(mkaffe);
centerpanel2.add(espresso);

fr2.setTitle("Kaffee");
fr2.setSize(200, 600);
fr2.setVisible(true);

}
});
// Unterfunktion erzeugen------------------------------------------------------------
longdrink.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {

longdrink.setBackground(Color.yellow);
longdrink.getBackground();

Frame fr2 = new JFrame();

Container con2 = getContentPane();
con2 = new Container();
fr2.add(con2);
con2.setLayout(new BorderLayout());
con2.add(centerpanel3, BorderLayout.CENTER);
centerpanel3.setLayout(new GridLayout(5, 1));
centerpanel3.add(wico);
centerpanel3.add(campari);
centerpanel3.add(spritz);
centerpanel3.add(wobull);
centerpanel3.add(cuba);

fr2.setTitle("Longdrink");
fr2.setSize(200, 600);
fr2.setVisible(true);

}
});
// Unterfunktion Spirituosen---------------------------------------------
spirit.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {

spirit.setBackground(Color.blue);
spirit.getBackground();
spirit.setForeground(Color.white);
spirit.getForeground();

Frame fr3 = new JFrame();

Container con3 = getContentPane();
con3 = new Container();
fr3.add(con3);
con3.setLayout(new BorderLayout());
con3.add(centerpanel4, BorderLayout.CENTER);
centerpanel4.setLayout(new GridLayout(5, 1));
centerpanel4.add(willi);
centerpanel4.add(jager);
centerpanel4.add(wodka);
centerpanel4.add(obstler);
centerpanel4.add(martini);

fr3.setTitle("Spirituosen");
fr3.setSize(200, 600);
fr3.setVisible(true);

}
});
// Unterfunktionen Maß---------------------------------------------------
maß.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {

maß.setBackground(Color.orange);
maß.getBackground();

Frame fr4 = new JFrame();

Container con4 = getContentPane();
con4 = new Container();
fr4.add(con4);
con4.setLayout(new BorderLayout());
con4.add(centerpanel5, BorderLayout.CENTER);
centerpanel5.setLayout(new GridLayout(5, 1));
centerpanel5.add(maß1);
centerpanel5.add(maß2);
centerpanel5.add(maß3);
centerpanel5.add(maß4);
centerpanel5.add(maß5);

fr4.setTitle("Maß");
fr4.setSize(200, 600);
fr4.setVisible(true);

}
});
// Unterfunktionen Suppe-------------------------------------------------
suppe.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {

suppe.setBackground(Color.cyan);
suppe.getBackground();

Frame fr5 = new JFrame();

Container con5 = getContentPane();
con5 = new Container();
fr5.add(con5);
con5.setLayout(new BorderLayout());
con5.add(centerpanel6, BorderLayout.CENTER);
centerpanel6.setLayout(new GridLayout(5, 1));
centerpanel6.add(suppe1);
centerpanel6.add(suppe2);
centerpanel6.add(suppe3);
centerpanel6.add(suppe4);
centerpanel6.add(suppe5);

fr5.setTitle("Suppen");
fr5.setSize(200, 600);
fr5.setVisible(true);

}
});
// Unterfunktionen Schorle----------------------------------------------
schorle.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent arg0) {

schorle.setBackground(Color.green);
schorle.getBackground();
schorle.setForeground(Color.white);
schorle.getForeground();

Frame fr6 = new JFrame();

Container con6 = getContentPane();
con6 = new Container();
fr6.add(con6);
con6.setLayout(new BorderLayout());
con6.add(centerpanel7, BorderLayout.CENTER);
centerpanel7.setLayout(new GridLayout(5, 1));
centerpanel7.add(schorle1);
centerpanel7.add(schorle2);
centerpanel7.add(schorle3);
centerpanel7.add(schorle4);
centerpanel7.add(schorle5);

fr6.setTitle("Schorle");
fr6.setSize(200, 600);
fr6.setVisible(true);

}
});
// Unterfunktion AF -----------------------------------------------------
alloholfrei.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {

alloholfrei.setBackground(Color.magenta);
alloholfrei.getBackground();

Frame fr7 = new JFrame();

Container con7 = getContentPane();
con7 = new Container();
fr7.add(con7);
con7.setLayout(new BorderLayout());
con7.add(centerpanel8, BorderLayout.CENTER);
centerpanel8.setLayout(new GridLayout(5, 1));
centerpanel8.add(spezi);
centerpanel8.add(olimo);
centerpanel8.add(zlimo);
centerpanel8.add(saft);
centerpanel8.add(abier);

fr7.setTitle("Alkoholfreie Getränke");
fr7.setSize(200, 600);
fr7.setVisible(true);

}
});
// Unterfunktionen Beilagen---------------------------------------------
beilage.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {

beilage.setBackground(Color.pink);
beilage.getBackground();

Frame fr8 = new JFrame();

Container con8 = getContentPane();
con8 = new Container();
fr8.add(con8);
con8.setLayout(new BorderLayout());
con8.add(centerpanel9, BorderLayout.CENTER);
centerpanel9.setLayout(new GridLayout(6, 1));
centerpanel9.add(pommes);
centerpanel9.add(bsal);
centerpanel9.add(spätzle);
centerpanel9.add(knödel);
centerpanel9.add(breze);
centerpanel9.add(brot);

fr8.setTitle("Beilagen");
fr8.setSize(200, 600);
fr8.setVisible(true);

}
});
// Unterfunktionen Salate----------------------------------------------
salat.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent arg0) {

salat.setBackground(Color.green);
salat.getBackground();

Frame fr9 = new JFrame();

Container con9 = getContentPane();
con9 = new Container();
fr9.add(con9);
con9.setLayout(new BorderLayout());
con9.add(centerpanela, BorderLayout.CENTER);
centerpanela.setLayout(new GridLayout(5, 1));
centerpanela.add(tonno);
centerpanela.add(toma);
centerpanela.add(mexxo);
centerpanela.add(chef);
centerpanela.add(wurst);

fr9.setTitle("Salate");
fr9.setSize(200, 600);
fr9.setVisible(true);

}
});
// Unterfunktionen Dessert--------------------------------------------
dessert.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent arg0) {

dessert.setBackground(Color.white);
dessert.getBackground();
dessert.setForeground(Color.red);
dessert.getForeground();

Frame fr10 = new JFrame();

Container con10 = getContentPane();
con10 = new Container();
fr10.add(con10);
con10.setLayout(new BorderLayout());
con10.add(centerpanelb, BorderLayout.CENTER);
centerpanelb.setLayout(new GridLayout(5, 1));
centerpanelb.add(banana);
centerpanelb.add(gemeis);
centerpanelb.add(kuchen);
centerpanelb.add(strudel);
centerpanelb.add(vanhim);

fr10.setTitle("Nachspeisen");
fr10.setSize(250, 600);
fr10.setVisible(true);

}
});
// Unterfunktionen Brotzeit------------------------------------------
brotzeit.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent arg0) {

brotzeit.setBackground(Color.gray);
brotzeit.getBackground();

Frame fr11 = new JFrame();

Container con11 = getContentPane();
con11 = new Container();
fr11.add(con11);
con11.setLayout(new BorderLayout());
con11.add(centerpanelc, BorderLayout.CENTER);
centerpanelc.setLayout(new GridLayout(5, 1));
centerpanelc.add(brotz);
centerpanelc.add(obatzda);
centerpanelc.add(wiener);
centerpanelc.add(schwu);
centerpanelc.add(leber);

fr11.setTitle("Brotzeiten");
fr11.setSize(200, 600);
fr11.setVisible(true);

}
});
helles.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
sichtfeld.setText("Helles 2,90€");
txt1.setText("Helles 2,90€");
}
});

}

}
 
Sorry ich habs leider noch nicht so raus hier. wurde leider der ganze code gepostet!
@MIMI danke die aber ich hab tatsächlich fast alles durchforstet und nichts brauchbares gefunden. Das ganze ist bestimmt nicht schwer und \n nützt mir nichts der text soll in eine freie stelle des textareas geschrieben werden und das jedesmal neu wenn ich den button drücke!
 
Siehe meine Signatur wegen code-tags.
Was heisst denn freie Stelle, ans Ende, des bisheren textes? Klar hilft dir dann \n. Der Text der drin steht + \n + neuerText
 
Nee ich denke \n hilft nichts. Pass auf ich versuche ein Kassensystem zu programmieren, für eine Gastronomie. das heißt TextArea= Kassenbeleg/Rechnung , das heißt wenn ich einen Button drücke soll er eine neue Position belegen. So das ich am ende eine Gesamtrechnung bekomme! Ich kann zwar \n mit rein nehmen aber er schreibt es mir in die vorgesehene Zeile zB "\n"+"\n"+"\n"in die vierte Zeile aber das soll doch nicht immer so sein, sondern er soll es in die nächste freie Zeile eintragen!
 
Hm, ich versteh dein Problem nicht wirklich. Du brauchst doch nicht "\n"+"\n"+"\n" machen um dann in die vierte Zeile zu schreiben. Einfach den Text nehmen der schon drin steht + \n ergibt doch die naechste Zeile.
 
Sieh mal hier:
http://download.oracle.com/javase/1.4.2/docs/api/java/awt/TextArea.html

Deine Textarea hat eine append Funktion, die einen übergebenen Test an den aktuell schon enthalten Text anhängt.
Wenn du also erst einen Zeilenumbruch (eben das "\n") und dann deinen Text anhängst, hast du eine neue Zeile...

Noch ein Rat nebenbei: Für jedes Produkt / jede Zahl einzeln eine Instanzvariable anzulegen, wird nicht ewig funktionieren...
 

Neue Beiträge

Zurück