Hallo !
Bin seit ein paar tagen dabei mir ein paar Kenntnisse über Java anzueignen und versuche
mir ein Programm zu schreiben, welches mir meine Arbeit erleichtert.
Leider kann ich keine passende Lösung finden und dachte deshalb ich bitte euch mal um Hilfe.
Mein Problem ist das bei fehlender Eingabe der erforderlichen Werte ein Message Fenster geöffnet werden soll, welches angibt welche Werte Fehlen.
z.B.: ich möchte Wärmemenge ausrechnen, brauche dafür Masse und Temperaturdifferenz,
Masse ist nicht eingetragen, ich drücke auf den Button und hätte gerne das im Infofenster steht das die Masse eingetragen werden muss.
Vorher war mein Problem ,dass das zwar so funktioniert hat, aber das Textfeld 3 mal erschienen ist, da ich dasselbe auch bei anderen Buttons eingetragen habe.
Jetzt hab ich das so gelöst:
Wäre das so möglich wie ich mir das vorstelle?
Danke
mit freundlichen Grüßen
Bin seit ein paar tagen dabei mir ein paar Kenntnisse über Java anzueignen und versuche
mir ein Programm zu schreiben, welches mir meine Arbeit erleichtert.
Leider kann ich keine passende Lösung finden und dachte deshalb ich bitte euch mal um Hilfe.
Mein Problem ist das bei fehlender Eingabe der erforderlichen Werte ein Message Fenster geöffnet werden soll, welches angibt welche Werte Fehlen.
z.B.: ich möchte Wärmemenge ausrechnen, brauche dafür Masse und Temperaturdifferenz,
Masse ist nicht eingetragen, ich drücke auf den Button und hätte gerne das im Infofenster steht das die Masse eingetragen werden muss.
Vorher war mein Problem ,dass das zwar so funktioniert hat, aber das Textfeld 3 mal erschienen ist, da ich dasselbe auch bei anderen Buttons eingetragen habe.
Jetzt hab ich das so gelöst:
Java:
package at.psycho;
import java.awt.Container;
import java.awt.Dimension;
import java.awt.Image;
import java.awt.Toolkit;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.InputVerifier;
import javax.swing.JButton;
import javax.swing.JComponent;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;
import javax.swing.JOptionPane;
import javax.swing.JTextField;
public class Wärme extends javax.swing.JFrame implements ActionListener
{
private static final long serialVersionUID = 1L;
private Toolkit t;
private int x = 0, y = 0, width = 850, height = 400;
private JMenuBar bar1;
private JMenu bar1_menu1;
private JMenuItem bar1_menu1_menuitem1;
private JMenuItem bar1_menu1_menuitem2;
private JTextField tq = new JTextField();
private JTextField tm = new JTextField();
private JTextField tdt = new JTextField();
private JTextField terg = new JTextField();
private JTextField tkw = new JTextField();
private JTextField tz = new JTextField();
private JLabel lq = new JLabel("Wärmemenge (W/h)");
private JLabel lm = new JLabel("Masse (kg)");
private JLabel ldt = new JLabel("Temperaturdifferenz (K)");
private JLabel lz = new JLabel("Aufheizzeit (min)");
private JLabel lerg = new JLabel("Ergebnis");
private JLabel lkw = new JLabel("Benötigte Leistung");
private JButton bq = new JButton("Q");
private JButton bm = new JButton("M");
private JButton bdt = new JButton("K");
private JButton bz = new JButton("Z");
private JButton btDel = new JButton("Löschen");
private JButton bkw = new JButton("B");
public static void main(String[] args)
{
new Wärme();
}
public void actionPerformed(ActionEvent event)
{
double var1,var2,var3,var4;
Object obj = event.getSource();
if (obj == bq)
if (tm.getText().equals("") || tdt.getText().equals(""))
{
JOptionPane.showMessageDialog(null, "Bitte einen Wert bei \"Masse\" und \"Temperaturdifferenz\" eintragen!");
}
else
{
var2 = Double.parseDouble(tm.getText());
var3 = Double.parseDouble(tdt.getText());
var1 = (var2/(var3*1.163)); //
var1 = Math.round(var1*100)/100.0;
terg.setText(""+var1+" kg");
}
if (obj == btDel)
{
tq.setText("");
tm.setText("");
tdt.setText("");
tz.setText("");
terg.setText("");
tkw.setText("");
}
}
private void initComponents()
{
this.getContentPane().setLayout(null);
this.bar1 = new JMenuBar();
this.bar1_menu1 = new JMenu("Ansicht");
this.bar1_menu1_menuitem1 = new JMenuItem("Entwickler");
this.bar1_menu1_menuitem2 = new JMenuItem("Bedienung");
this.setJMenuBar(this.bar1);
this.bar1_menu1.add(this.bar1_menu1_menuitem1);
this.bar1.add(this.bar1_menu1);
this.bar1_menu1.add(this.bar1_menu1_menuitem2);
}
public Wärme()
{
super("Wärme");
Container cp = getContentPane();
cp.setLayout(null);
Image image = Toolkit.getDefaultToolkit().getImage("psychoicon.png");
setIconImage(image);
setVisible(true);
t = Toolkit.getDefaultToolkit();
Dimension d = t.getScreenSize();
x = (int) ((d.getWidth() - width) / 2);
y = (int) ((d.getHeight() - height) / 2);
setTitle("Berechnung");
setBounds(x, y, width, height);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.initComponents();
this.intitListeners();
setVisible(true);
lq.setBounds(120,10,160,20);
tq.setBounds(120,27,120,20);
lm.setBounds(320,10,120,20);
tm.setBounds(320,27,120,20);
lz.setBounds(320,52,120,20);
tz.setBounds(320,69,120,20);
ldt.setBounds(520,10,180,20);
tdt.setBounds(520,27,120,20);
lerg.setBounds(120,257,160,20);
terg.setBounds(120,274,160,20);
terg.setEditable(false);
lkw.setBounds(520,257,160,20);
tkw.setBounds(520,274,160,20);
tkw.setEditable(false);
bq.setBounds(120,120,50,20);
bm.setBounds(170,120,50,20);
bdt.setBounds(220,120,50,20);
bz.setBounds(120,150,100,20);
btDel.setBounds(120,200,200,20);
bkw.setBounds(270,120,50,20);
cp.add(lq);
cp.add(tq);
cp.add(lm);
cp.add(tm);
cp.add(ldt);
cp.add(tdt);
cp.add(lerg);
cp.add(terg);
cp.add(lz);
cp.add(tz);
cp.add(lkw);
cp.add(tkw);
cp.add(bq);
cp.add(bm);
cp.add(bdt);
cp.add(bz);
cp.add(btDel);
cp.add(bkw);
bq.addActionListener(this);
bm.addActionListener(this);
bdt.addActionListener(this);
bz.addActionListener(this);
btDel.addActionListener(this);
bkw.addActionListener(this);
tq.setInputVerifier(new InputVerifier()
{
public boolean verify(JComponent input)
{
String str = ((JTextField) input).getText();
if (str.equals(""))
return true;
return str.matches("[0-9]*");
}
});
tm.setInputVerifier(new InputVerifier()
{
public boolean verify(JComponent input)
{
String str = ((JTextField) input).getText();
if (str.equals(""))
return true;
return str.matches("[0-9]*");
}
});
tdt.setInputVerifier(new InputVerifier()
{
public boolean verify(JComponent input)
{
String str = ((JTextField) input).getText();
if (str.equals(""))
return true;
return str.matches("[0-9]*");
}
});
tz.setInputVerifier(new InputVerifier()
{
public boolean verify(JComponent input)
{
String str = ((JTextField) input).getText();
if (str.equals(""))
return true;
return str.matches("[0-9]*");
}
});
}
private void intitListeners()
{
this.bar1_menu1_menuitem1.addActionListener(new ActionListener()
{
@Override
public void actionPerformed(ActionEvent e) {
JOptionPane.showMessageDialog(null, "Jakob R.\n August 2016");
}
}
);
this.bar1_menu1_menuitem2.addActionListener(new ActionListener()
{
@Override
public void actionPerformed(ActionEvent e) {
JOptionPane.showMessageDialog(null, "Füllen Sie die bekannten Werte aus.\n Drücken Sie auf den zu berechnenden Wert.\n Im \"Ergebnis-Feld\" wird der zu berechnende Wert ausgegeben");
}
}
);
}
}
Danke
mit freundlichen Grüßen
Zuletzt bearbeitet von einem Moderator: