Kurs:Java – ein schneller Einstieg/Ausnahmen behandeln/Quellcode
RabattPanel10
Bearbeitenimport javax.swing.*;
import java.awt.*;
import java.awt.event.*;
class RabattPanel10 extends JPanel implements ActionListener {
private JTextField betragFeld = new JTextField( 7);
private JTextField rabattFeld = new JTextField( 7);
private JTextField ausgabeFeld = new JTextField( 7);
void setBetrag( float value) {
betragFeld.setText( ""+value);
}
void setRabatt( float value) {
rabattFeld.setText( ""+value);
}
private static float valueOf( String text) {
float zahl = 0;
try {
zahl = Float.parseFloat( text);
}
catch (NumberFormatException nfe)
{
System.out.println( "Unkorrekte Eingabe.");
System.exit( 1);
}
return zahl;
}
float calculate() {
float betragWert = valueOf( betragFeld.getText());
float rabattWert = valueOf( rabattFeld.getText());
return betragWert * (1 - rabattWert / 100);
}
private static boolean inputOk( String input) {
try {
Float.parseFloat( input);
}
catch (NumberFormatException nfe)
{
return false;
}
return true;
}
public void actionPerformed( ActionEvent ae) {
if (betragFeld.getText().length() < 1)
{
ausgabeFeld.setText( "");
return;
}
if (!inputOk(betragFeld.getText()))
{
betragFeld.setBackground( Color.red);
betragFeld.setForeground( Color.yellow);
return;
}
ausgabeFeld.setText( ""+calculate());
}
RabattPanel10() {
JPanel fields = new JPanel();
fields.setLayout( new BorderLayout());
fields.add( betragFeld, BorderLayout.NORTH);
fields.add( rabattFeld, BorderLayout.CENTER);
fields.add( ausgabeFeld, BorderLayout.SOUTH);
JPanel labels = new JPanel();
labels.setLayout( new BorderLayout());
labels.add( new JLabel( "Betrag"), BorderLayout.NORTH);
labels.add( new JLabel( "Rabatt"), BorderLayout.CENTER);
labels.add( new JLabel( "Endbetrag"), BorderLayout.SOUTH);
this.setLayout( new BorderLayout());
this.add( labels, BorderLayout.WEST);
this.add( fields, BorderLayout.EAST);
JButton button = new JButton( "berechnen");
button.addActionListener( this);
this.add( button, BorderLayout.SOUTH);
}
}
RabattPanel11
Bearbeitenimport javax.swing.*;
import java.awt.*;
import java.awt.event.*;
class RabattPanel11 extends JPanel implements ActionListener {
private JTextField betragFeld = new JTextField( 7);
private JTextField rabattFeld = new JTextField( 7);
private JTextField ausgabeFeld = new JTextField( 7);
void setBetrag( float value) {
betragFeld.setText( ""+value);
}
void setRabatt( float value) {
rabattFeld.setText( ""+value);
}
private static float valueOf( String text) {
float zahl = 0;
try {
zahl = Float.parseFloat( text);
}
catch (NumberFormatException nfe)
{
System.out.println( "Unkorrekte Eingabe.");
System.exit( 1);
}
return zahl;
}
float calculate() {
float betragWert = valueOf( betragFeld.getText());
float rabattWert = valueOf( rabattFeld.getText());
return betragWert * (1 - rabattWert / 100);
}
private static boolean inputOk( String input) {
try {
Float.parseFloat( input);
}
catch (NumberFormatException nfe)
{
return false;
}
return true;
}
public void actionPerformed( ActionEvent ae) {
if (betragFeld.getText().length() < 1)
{
ausgabeFeld.setText( "");
return;
}
if (!inputOk(betragFeld.getText()))
{
betragFeld.setBackground( Color.red);
betragFeld.setForeground( Color.yellow);
betragFeld.requestFocus();
return;
}
if (rabattFeld.getText().length() < 1)
{
rabattFeld.setText( "");
return;
}
if (!inputOk(rabattFeld.getText()))
{
rabattFeld.setBackground( Color.red);
rabattFeld.setForeground( Color.yellow);
rabattFeld.requestFocus();
return;
}
ausgabeFeld.setText( ""+calculate());
}
RabattPanel11() {
JPanel fields = new JPanel();
fields.setLayout( new BorderLayout());
fields.add( betragFeld, BorderLayout.NORTH);
fields.add( rabattFeld, BorderLayout.CENTER);
fields.add( ausgabeFeld, BorderLayout.SOUTH);
JPanel labels = new JPanel();
labels.setLayout( new BorderLayout());
labels.add( new JLabel( "Betrag"), BorderLayout.NORTH);
labels.add( new JLabel( "Rabatt"), BorderLayout.CENTER);
labels.add( new JLabel( "Endbetrag"), BorderLayout.SOUTH);
this.setLayout( new BorderLayout());
this.add( labels, BorderLayout.WEST);
this.add( fields, BorderLayout.EAST);
JButton button = new JButton( "berechnen");
button.addActionListener( this);
this.add( button, BorderLayout.SOUTH);
}
}
RabattPanel12
Bearbeitenimport javax.swing.*;
import java.awt.*;
import java.awt.event.*;
class RabattPanel12 extends JPanel implements ActionListener {
private JTextField betragFeld = new JTextField( 7);
private JTextField rabattFeld = new JTextField( 7);
private JTextField ausgabeFeld = new JTextField( 7);
void setBetrag( float value) {
betragFeld.setText( ""+value);
}
void setRabatt( float value) {
rabattFeld.setText( ""+value);
}
private static float valueOf( String text) {
float zahl = 0;
try {
zahl = Float.parseFloat( text);
}
catch (NumberFormatException nfe)
{
System.out.println( "Unkorrekte Eingabe.");
System.exit( 1);
}
return zahl;
}
float calculate() {
float betragWert = valueOf( betragFeld.getText());
float rabattWert = valueOf( rabattFeld.getText());
return betragWert * (1 - rabattWert / 100);
}
private static boolean inputOk( String input) {
try {
Float.parseFloat( input);
}
catch (NumberFormatException nfe)
{
return false;
}
return true;
}
private void setColor( JTextField field, boolean error) {
if (error)
{
field.setBackground( Color.red);
field.setForeground( Color.yellow);
field.requestFocus();
return;
}
field.setBackground( Color.white);
field.setForeground( Color.black);
}
public void actionPerformed( ActionEvent ae) {
if (betragFeld.getText().length() < 1)
{
ausgabeFeld.setText( "");
setColor( betragFeld, false);
return;
}
if (!inputOk(betragFeld.getText()))
{
setColor( betragFeld, true);
return;
}
if (rabattFeld.getText().length() < 1)
{
rabattFeld.setText( "");
setColor( rabattFeld, false);
return;
}
if (!inputOk(rabattFeld.getText()))
{
setColor( rabattFeld, true);
return;
}
setColor( betragFeld, false);
setColor( rabattFeld, false);
ausgabeFeld.setText( ""+calculate());
}
RabattPanel12() {
JPanel fields = new JPanel();
fields.setLayout( new BorderLayout());
fields.add( betragFeld, BorderLayout.NORTH);
fields.add( rabattFeld, BorderLayout.CENTER);
fields.add( ausgabeFeld, BorderLayout.SOUTH);
JPanel labels = new JPanel();
labels.setLayout( new BorderLayout());
labels.add( new JLabel( "Betrag"), BorderLayout.NORTH);
labels.add( new JLabel( "Rabatt"), BorderLayout.CENTER);
labels.add( new JLabel( "Endbetrag"), BorderLayout.SOUTH);
this.setLayout( new BorderLayout());
this.add( labels, BorderLayout.WEST);
this.add( fields, BorderLayout.EAST);
JButton button = new JButton( "berechnen");
button.addActionListener( this);
this.add( button, BorderLayout.SOUTH);
}
}
RabattPanel13
Bearbeitenimport javax.swing.*;
import java.awt.*;
import java.awt.event.*;
class RabattPanel13 extends JPanel implements ActionListener {
private JTextField betragFeld = new JTextField( 7);
private JTextField rabattFeld = new JTextField( 7);
private JTextField ausgabeFeld = new JTextField( 7);
void setBetrag( float value) {
betragFeld.setText( ""+value);
}
void setRabatt( float value) {
rabattFeld.setText( ""+value);
}
private static float valueOf( String text) {
float zahl = 0;
try {
zahl = Float.parseFloat( text);
}
catch (NumberFormatException nfe)
{
System.out.println( "Unkorrekte Eingabe.");
System.exit( 1);
}
return zahl;
}
float calculate() {
float betragWert = valueOf( betragFeld.getText());
float rabattWert = valueOf( rabattFeld.getText());
return betragWert * (1 - rabattWert / 100);
}
private static boolean inputOk( String input) {
try {
Float.parseFloat( input);
}
catch (NumberFormatException nfe)
{
return false;
}
return true;
}
private void setColor( JTextField field, boolean error) {
if (error)
{
field.setBackground( Color.red);
field.setForeground( Color.yellow);
return;
}
field.setBackground( Color.white);
field.setForeground( Color.black);
}
public void actionPerformed( ActionEvent ae) {
JTextField requesterror = null;
JTextField requestempty = null;
ausgabeFeld.setText( "");
if (!inputOk(betragFeld.getText()))
{
if (betragFeld.getText().length() < 1)
{
setColor( betragFeld, false);
requestempty = betragFeld;
}
else {
setColor( betragFeld, true);
requesterror = betragFeld;
}
}
if (!inputOk(rabattFeld.getText()))
{
if (rabattFeld.getText().length() < 1)
{
setColor( rabattFeld, false);
if (requestempty == null &&
requesterror == null)
requestempty = rabattFeld;
}
else {
setColor( rabattFeld, true);
if (requesterror == null)
requesterror = rabattFeld;
}
}
if (requesterror != null)
{
requesterror.requestFocus();
return;
}
if (requestempty != null)
{
requestempty.requestFocus();
return;
}
setColor( betragFeld, false);
setColor( rabattFeld, false);
ausgabeFeld.setText( ""+calculate());
betragFeld.requestFocus();
}
RabattPanel13() {
JPanel fields = new JPanel();
fields.setLayout( new BorderLayout());
fields.add( betragFeld, BorderLayout.NORTH);
fields.add( rabattFeld, BorderLayout.CENTER);
fields.add( ausgabeFeld, BorderLayout.SOUTH);
JPanel labels = new JPanel();
labels.setLayout( new BorderLayout());
labels.add( new JLabel( "Betrag"), BorderLayout.NORTH);
labels.add( new JLabel( "Rabatt"), BorderLayout.CENTER);
labels.add( new JLabel( "Endbetrag"), BorderLayout.SOUTH);
this.setLayout( new BorderLayout());
this.add( labels, BorderLayout.WEST);
this.add( fields, BorderLayout.EAST);
JButton button = new JButton( "berechnen");
button.addActionListener( this);
this.add( button, BorderLayout.SOUTH);
}
}
RabattPanel14
Bearbeitenimport javax.swing.*;
import java.awt.*;
import java.awt.event.*;
class RabattPanel14 extends JPanel implements ActionListener {
private JTextField betragFeld = new JTextField( 7);
private JTextField rabattFeld = new JTextField( 7);
private JTextField ausgabeFeld = new JTextField( 7);
private float betrag = 0;
private float rabatt = 0;
private float result = 0;
public float getBetrag() {
return betrag;
}
public float getRabatt() {
return rabatt;
}
public float getResult() {
return result;
}
void setBetrag( float value) {
betragFeld.setText( ""+value);
}
void setRabatt( float value) {
rabattFeld.setText( ""+value);
}
private static float valueOf( String text) {
float zahl = 0;
try {
zahl = Float.parseFloat( text);
}
catch (NumberFormatException nfe)
{
System.out.println( "Unkorrekte Eingabe.");
System.exit( 1);
}
return zahl;
}
private void calculate() {
betrag = valueOf( betragFeld.getText());
rabatt = valueOf( rabattFeld.getText());
result = betrag * (1 - rabatt / 100);
}
private static boolean inputOk( String input) {
try {
Float.parseFloat( input);
}
catch (NumberFormatException nfe)
{
return false;
}
return true;
}
private void setColor( JTextField field, boolean error) {
if (error)
{
field.setBackground( Color.red);
field.setForeground( Color.yellow);
return;
}
field.setBackground( Color.white);
field.setForeground( Color.black);
}
public void actionPerformed( ActionEvent ae) {
JTextField requesterror = null;
JTextField requestempty = null;
ausgabeFeld.setText( "");
if (!inputOk(betragFeld.getText()))
{
if (betragFeld.getText().length() < 1)
{
setColor( betragFeld, false);
requestempty = betragFeld;
}
else {
setColor( betragFeld, true);
requesterror = betragFeld;
}
}
if (!inputOk(rabattFeld.getText()))
{
if (rabattFeld.getText().length() < 1)
{
setColor( rabattFeld, false);
if ((requestempty == null) &&
(requesterror == null))
requestempty = rabattFeld;
}
else {
setColor( rabattFeld, true);
if (requesterror == null)
requesterror = rabattFeld;
}
}
if (requesterror != null)
{
requesterror.requestFocus();
return;
}
if (requestempty != null)
{
requestempty.requestFocus();
return;
}
setColor( betragFeld, false);
setColor( rabattFeld, false);
calculate();
ausgabeFeld.setText( ""+result);
betragFeld.requestFocus();
}
RabattPanel14() {
JPanel fields = new JPanel();
fields.setLayout( new BorderLayout());
fields.add( betragFeld, BorderLayout.NORTH);
fields.add( rabattFeld, BorderLayout.CENTER);
fields.add( ausgabeFeld, BorderLayout.SOUTH);
JPanel labels = new JPanel();
labels.setLayout( new BorderLayout());
labels.add( new JLabel( "Betrag"), BorderLayout.NORTH);
labels.add( new JLabel( "Rabatt"), BorderLayout.CENTER);
labels.add( new JLabel( "Endbetrag"), BorderLayout.SOUTH);
this.setLayout( new BorderLayout());
this.add( labels, BorderLayout.WEST);
this.add( fields, BorderLayout.EAST);
JButton button = new JButton( "berechnen");
button.addActionListener( this);
this.add( button, BorderLayout.SOUTH);
}
}