Hallo,
ich habe folgendes Problem mit meinem Code:
Wenn ich den Buttons einen Action Listener hinzufüge, passiert nichts beim klicken.
Es sollen die Werte, die in die Textfelder eingegeben werden ausgelesen werden und rechts in die Tabelle eingefügt werden.
Im Code ist der Action Listener bei Zeile 77.
Was muss ich tun damit , jede Eingabe eingelesen wird , anschließend diese in der Tabelle erscheint und das Textfeld für eine neue Eingabe resettet wird.
Ich habe die GUI mit dem IntelliJ GUI Designer gebaut.
ich habe folgendes Problem mit meinem Code:
Wenn ich den Buttons einen Action Listener hinzufüge, passiert nichts beim klicken.
Es sollen die Werte, die in die Textfelder eingegeben werden ausgelesen werden und rechts in die Tabelle eingefügt werden.
Im Code ist der Action Listener bei Zeile 77.
Was muss ich tun damit , jede Eingabe eingelesen wird , anschließend diese in der Tabelle erscheint und das Textfeld für eine neue Eingabe resettet wird.
Ich habe die GUI mit dem IntelliJ GUI Designer gebaut.
Code:
package com.EasyOffer;
import com.intellij.uiDesigner.core.GridConstraints;
import com.intellij.uiDesigner.core.GridLayoutManager;
import javax.swing.*;
import javax.swing.table.*;
import java.awt.*;
import java.awt.event.*;
import java.util.ArrayList;
import java.util.List;
public class AngebotGUI extends JFrame {
private JButton materialHinzufügenButton1;
private JButton arbeitskostenEntfernenButton;
private JButton materialEntfernenButton;
private JButton arbeitskostenHinzufügenButton;
private JTable tableArbeit;
private JTable tableMaterial;
private DefaultTableModel modelArbeit;
private DefaultTableModel modelMaterial;
private JPanel rootPanel;
private JTextField tfMaterialBennenung;
private JTextField tfMaterialKosten;
private JTextField tfArbeitsBezeichnung;
private JTextField tfArbeitsKosten;
private JTextField tfMaterialBenennung;
private JLabel labelMaterialName;
private JLabel labelArbeitskosten;
private JLabel labelArbeitsbezeichnung;
private JLabel labelMaterialKosten;
private JLabel labelAngebot;
String materialBenennung;
double materialKosten;
String arbeitsBezeichnung;
double arbeitsKosten;
// Konstuktor
public AngebotGUI() {
$$$setupUI$$$();
add(rootPanel);
// Listen für die Werte der Tabelle
List<String> listMaterialName = new ArrayList<>();
List<Double> listMaterialKosten = new ArrayList<>();
List<Double> listArbeitsKosten = new ArrayList<>();
List<String> listArbeitsBezeichnung = new ArrayList<>();
//Table model zum einfügen von Zeilen und Spalten
modelMaterial = new DefaultTableModel();
modelMaterial.addColumn("Materialbezeichnung");
modelMaterial.addColumn("Materialpreis");
modelArbeit = new DefaultTableModel();
modelArbeit.addColumn("Arbeit");
modelArbeit.addColumn("Preis");
tfMaterialBennenung = new JTextField("Material Bezeichnung");
tfMaterialKosten = new JTextField("Material Kosten");
tfArbeitsBezeichnung = new JTextField("Arbeitsbezeichnung", 15);
tfArbeitsKosten = new JTextField("Arbeitskosten", 15);
setTitle("EasyOffer");
setSize(400, 500);
//Action Listener
materialHinzufügenButton1.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
materialBenennung = tfMaterialBenennung.getText();
materialKosten = Double.parseDouble(tfMaterialKosten.getText());
listMaterialName.add(materialBenennung);
listMaterialKosten.add(materialKosten);
modelMaterial.addRow(new Object[]{materialBenennung, materialKosten});
tfMaterialBennenung.setText("");
tfMaterialKosten.setText("");
}
});
// Entferne letzten Eintrag der Liste
materialEntfernenButton.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
listMaterialName.remove(listMaterialName.size() - 1);
listMaterialKosten.remove(listMaterialKosten.size() - 1);
}
});
arbeitskostenHinzufügenButton.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
arbeitsBezeichnung = tfArbeitsBezeichnung.getText();
arbeitsKosten = Double.parseDouble(tfArbeitsKosten.getText());
listArbeitsKosten.add(arbeitsKosten);
listArbeitsBezeichnung.add(arbeitsBezeichnung);
}
});
arbeitskostenEntfernenButton.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
listArbeitsBezeichnung.remove(listArbeitsBezeichnung.size() - 1);
listArbeitsKosten.remove(listArbeitsKosten.size() - 1);
}
});
}
/**
* Method generated by IntelliJ IDEA GUI Designer
* >>> IMPORTANT!! <<<
* DO NOT edit this method OR call it in your code!
*
* @noinspection ALL
*/
private void $$$setupUI$$$() {
createUIComponents();
rootPanel = new JPanel();
rootPanel.setLayout(new GridLayoutManager(9, 3, new Insets(0, 0, 0, 0), -1, -1));
labelAngebot = new JLabel();
labelAngebot.setText("Angebot erstellen");
rootPanel.add(labelAngebot, new GridConstraints(0, 1, 1, 1, GridConstraints.ANCHOR_WEST, GridConstraints.FILL_NONE, GridConstraints.SIZEPOLICY_FIXED, GridConstraints.SIZEPOLICY_FIXED, null, null, null, 0, false));
tfMaterialBenennung = new JTextField();
tfMaterialBenennung.setText("");
rootPanel.add(tfMaterialBenennung, new GridConstraints(2, 1, 1, 1, GridConstraints.ANCHOR_WEST, GridConstraints.FILL_HORIZONTAL, GridConstraints.SIZEPOLICY_WANT_GROW, GridConstraints.SIZEPOLICY_FIXED, null, new Dimension(150, -1), null, 0, false));
tfMaterialKosten = new JTextField();
rootPanel.add(tfMaterialKosten, new GridConstraints(6, 1, 1, 1, GridConstraints.ANCHOR_WEST, GridConstraints.FILL_HORIZONTAL, GridConstraints.SIZEPOLICY_WANT_GROW, GridConstraints.SIZEPOLICY_FIXED, null, new Dimension(150, -1), null, 0, false));
tfArbeitsBezeichnung = new JTextField();
rootPanel.add(tfArbeitsBezeichnung, new GridConstraints(7, 1, 1, 1, GridConstraints.ANCHOR_WEST, GridConstraints.FILL_HORIZONTAL, GridConstraints.SIZEPOLICY_WANT_GROW, GridConstraints.SIZEPOLICY_FIXED, null, new Dimension(150, -1), null, 0, false));
tfArbeitsKosten = new JTextField();
rootPanel.add(tfArbeitsKosten, new GridConstraints(3, 1, 1, 1, GridConstraints.ANCHOR_WEST, GridConstraints.FILL_HORIZONTAL, GridConstraints.SIZEPOLICY_WANT_GROW, GridConstraints.SIZEPOLICY_FIXED, null, new Dimension(150, -1), null, 0, false));
labelMaterialName = new JLabel();
labelMaterialName.setText("Materialbennenung");
rootPanel.add(labelMaterialName, new GridConstraints(2, 0, 1, 1, GridConstraints.ANCHOR_WEST, GridConstraints.FILL_NONE, GridConstraints.SIZEPOLICY_FIXED, GridConstraints.SIZEPOLICY_FIXED, null, null, null, 0, false));
labelArbeitskosten = new JLabel();
labelArbeitskosten.setText("Arbeitskosten");
rootPanel.add(labelArbeitskosten, new GridConstraints(7, 0, 1, 1, GridConstraints.ANCHOR_WEST, GridConstraints.FILL_NONE, GridConstraints.SIZEPOLICY_FIXED, GridConstraints.SIZEPOLICY_FIXED, null, null, null, 0, false));
labelArbeitsbezeichnung = new JLabel();
labelArbeitsbezeichnung.setText("Arbeitsbezeichnung");
rootPanel.add(labelArbeitsbezeichnung, new GridConstraints(6, 0, 1, 1, GridConstraints.ANCHOR_WEST, GridConstraints.FILL_NONE, GridConstraints.SIZEPOLICY_FIXED, GridConstraints.SIZEPOLICY_FIXED, null, null, null, 0, false));
labelMaterialKosten = new JLabel();
labelMaterialKosten.setText("Materialkosten");
rootPanel.add(labelMaterialKosten, new GridConstraints(3, 0, 1, 1, GridConstraints.ANCHOR_WEST, GridConstraints.FILL_NONE, GridConstraints.SIZEPOLICY_FIXED, GridConstraints.SIZEPOLICY_FIXED, null, null, null, 0, false));
materialHinzufügenButton1 = new JButton();
materialHinzufügenButton1.setText("Material hinzufügen");
rootPanel.add(materialHinzufügenButton1, new GridConstraints(1, 1, 1, 1, GridConstraints.ANCHOR_CENTER, GridConstraints.FILL_HORIZONTAL, GridConstraints.SIZEPOLICY_CAN_SHRINK | GridConstraints.SIZEPOLICY_CAN_GROW, GridConstraints.SIZEPOLICY_FIXED, null, null, null, 0, false));
arbeitskostenHinzufügenButton = new JButton();
arbeitskostenHinzufügenButton.setText("Arbeitskosten hinzufügen");
rootPanel.add(arbeitskostenHinzufügenButton, new GridConstraints(5, 1, 1, 1, GridConstraints.ANCHOR_CENTER, GridConstraints.FILL_HORIZONTAL, GridConstraints.SIZEPOLICY_CAN_SHRINK | GridConstraints.SIZEPOLICY_CAN_GROW, GridConstraints.SIZEPOLICY_FIXED, null, null, null, 0, false));
materialEntfernenButton = new JButton();
materialEntfernenButton.setText("Material entfernen");
rootPanel.add(materialEntfernenButton, new GridConstraints(4, 1, 1, 1, GridConstraints.ANCHOR_CENTER, GridConstraints.FILL_HORIZONTAL, GridConstraints.SIZEPOLICY_CAN_SHRINK | GridConstraints.SIZEPOLICY_CAN_GROW, GridConstraints.SIZEPOLICY_FIXED, null, null, null, 0, false));
arbeitskostenEntfernenButton = new JButton();
arbeitskostenEntfernenButton.setText("Arbeitskosten entfernen");
rootPanel.add(arbeitskostenEntfernenButton, new GridConstraints(8, 1, 1, 1, GridConstraints.ANCHOR_CENTER, GridConstraints.FILL_HORIZONTAL, GridConstraints.SIZEPOLICY_CAN_SHRINK | GridConstraints.SIZEPOLICY_CAN_GROW, GridConstraints.SIZEPOLICY_FIXED, null, null, null, 0, false));
rootPanel.add(tableMaterial, new GridConstraints(1, 2, 4, 1, GridConstraints.ANCHOR_CENTER, GridConstraints.FILL_BOTH, GridConstraints.SIZEPOLICY_WANT_GROW, GridConstraints.SIZEPOLICY_WANT_GROW, null, new Dimension(150, 50), null, 0, false));
rootPanel.add(tableArbeit, new GridConstraints(5, 2, 4, 1, GridConstraints.ANCHOR_CENTER, GridConstraints.FILL_BOTH, GridConstraints.SIZEPOLICY_WANT_GROW, GridConstraints.SIZEPOLICY_WANT_GROW, null, new Dimension(150, 50), null, 0, false));
labelAngebot.setLabelFor(tfMaterialBenennung);
}
/**
* @noinspection ALL
*/
public JComponent $$$getRootComponent$$$() {
return rootPanel;
}
private void createUIComponents() {
tableArbeit = new JTable(modelArbeit);
tableMaterial = new JTable(modelMaterial);
// TODO: place custom component creation code here
}
}