1
|
import javax.swing.*;
import java.awt.event.*;
import java.awt.*;
class AddFrame extends JFrame implements ActionListener {
private JTextField arg1, arg2, resultat;
public AddFrame( String title ) {
super( title );
getContentPane().setLayout( new FlowLayout() );
JLabel arg1Label = new JLabel( "1. argument:" );
getContentPane().add( arg1Label );
arg1 = new JTextField( 8 );
getContentPane().add( arg1 );
JLabel arg2Label = new JLabel( "2. argument:" );
getContentPane().add( arg2Label );
arg2 = new JTextField( 8 );
getContentPane().add( arg2 );
JButton adder = new JButton( "+" );
adder.addActionListener( this );
getContentPane().add( adder );
resultat = new JTextField( 8 );
resultat.setEditable( false );
getContentPane().add( resultat );
setDefaultCloseOperation( EXIT_ON_CLOSE );
pack();
setVisible( true );
}
public void actionPerformed( ActionEvent e ) {
try {
double arg1Værdi = Double.parseDouble( arg1.getText() );
double arg2Værdi = Double.parseDouble( arg2.getText() );
double resultatVærdi = arg1Værdi + arg2Værdi;
resultat.setText( "" + resultatVærdi );
}
catch ( NumberFormatException nfe ) {
}
}
} |
|
|
Opgaven ligner meget moms-eksemplet, og anvender de samme konstruktioner.
|
2
|
import javax.swing.*;
import java.awt.event.*;
import java.awt.*;
class AddFrame extends JFrame implements ActionListener {
private JTextField arg1, arg2, resultat;
private JButton add, sub, mul, div;
public AddFrame( String title ) {
super( title );
getContentPane().setLayout( new FlowLayout() );
arg1 = new JTextField( 8 );
getContentPane().add( arg1 );
add = new JButton( "+" );
add.addActionListener( this );
getContentPane().add( add );
sub = new JButton( "-" );
sub.addActionListener( this );
getContentPane().add( sub );
mul = new JButton( "*" );
mul.addActionListener( this );
getContentPane().add( mul );
div = new JButton( "/" );
div.addActionListener( this );
getContentPane().add( div );
arg2 = new JTextField( 8 );
getContentPane().add( arg2 );
JLabel ligLabel = new JLabel( "=" );
getContentPane().add( ligLabel );
resultat = new JTextField( 14 );
resultat.setEditable( false );
getContentPane().add( resultat );
setDefaultCloseOperation( EXIT_ON_CLOSE );
pack();
setVisible( true );
}
public void actionPerformed( ActionEvent e ) {
try {
double arg1Værdi = Double.parseDouble( arg1.getText() );
double arg2Værdi = Double.parseDouble( arg2.getText() );
Object source = e.getSource();
double resultatVærdi;
if ( source == add )
resultatVærdi = arg1Værdi + arg2Værdi;
else if ( source == sub )
resultatVærdi = arg1Værdi - arg2Værdi;
else if ( source == mul )
resultatVærdi = arg1Værdi * arg2Værdi;
else
resultatVærdi = arg1Værdi / arg2Værdi;
resultat.setText( "" + resultatVærdi );
}
catch ( NumberFormatException nfe ) {
}
}
} |
|
3
| Vi vil her indskrænke os til løsningen af opgave 3.2, da
den bygninger videre på opgave 3.1:
|
|
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class SummerFrame extends JFrame implements ActionListener {
private JTextField s[], sumFelt;
private static final int fieldWidth=4;
public SummerFrame( String title, int led ) {
super( title );
getContentPane().setLayout( new FlowLayout() );
s = new JTextField[led];
for ( int i=0; i<s.length; i++ ) {
s[i] = new JTextField( fieldWidth );
getContentPane().add( s[i] );
if ( i != s.length-1 )
getContentPane().add( new JLabel( "+" ) );
}
JButton resultButton = new JButton( "=" );
getContentPane().add( resultButton );
resultButton.addActionListener( this );
sumFelt = new JTextField( fieldWidth );
getContentPane().add( sumFelt );
sumFelt.setEditable( false );
setDefaultCloseOperation( EXIT_ON_CLOSE );
pack();
setVisible( true );
}
public void actionPerformed( ActionEvent e ) {
int sum=0;
for ( int i=0; i<s.length; i++ )
sum += getValue( s[i] );
sumFelt.setText( "" + sum );
}
private int getValue( JTextField tf ) {
try {
return Integer.parseInt( tf.getText() );
} catch ( NumberFormatException e ) {
return 0;
}
}
} |
|
4
|
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
class MinMaxFrame extends JFrame implements ActionListener {
private JButton minButton, maxButton;
private JTextField arg1Field, arg2Field, resField;
public MinMaxFrame( String title ) {
super( title );
getContentPane().setLayout( new FlowLayout() );
arg1Field = new JTextField( 8 );
getContentPane().add( arg1Field );
arg2Field = new JTextField( 8 );
getContentPane().add( arg2Field );
minButton = new JButton( "Min" );
minButton.addActionListener( this );
getContentPane().add( minButton );
maxButton = new JButton( "Max" );
maxButton.addActionListener( this );
getContentPane().add( maxButton );
resField = new JTextField( 8 );
getContentPane().add( resField );
setDefaultCloseOperation( EXIT_ON_CLOSE );
pack();
setVisible( true );
}
public void actionPerformed( ActionEvent e ) {
try {
int arg1 = Integer.parseInt( arg1Field.getText() );
int arg2 = Integer.parseInt( arg2Field.getText() );
Object source = e.getSource();
if ( source == minButton ) {
// Minimum
if ( arg1 < arg2 )
resField.setText( "" + arg1 );
else
resField.setText( "" + arg2 );
} else if ( source == maxButton ) {
// Maximum
if ( arg1 > arg2 )
resField.setText( "" + arg1 );
else
resField.setText( "" + arg2 );
}
}
catch ( NumberFormatException ex ) {
resField.setText( "Fejl" );
}
}
} |
|
5
|
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
class HalvDobbeltFrame extends JFrame implements ActionListener {
private JButton halvButton, dobbeltButton;
private JTextField argField, resField;
public HalvDobbeltFrame( String title ) {
super( title );
getContentPane().setLayout( new FlowLayout() );
argField = new JTextField( 8 );
getContentPane().add( argField );
halvButton = new JButton( "Halv" );
halvButton.addActionListener( this );
getContentPane().add( halvButton );
dobbeltButton = new JButton( "Dobbelt" );
dobbeltButton.addActionListener( this );
getContentPane().add( dobbeltButton );
resField = new JTextField( 8 );
getContentPane().add( resField );
setDefaultCloseOperation( EXIT_ON_CLOSE );
pack();
setVisible( true );
}
public void actionPerformed( ActionEvent e ) {
try {
int arg = Integer.parseInt( argField.getText() );
Object source = e.getSource();
if ( source == halvButton )
// Det halve
resField.setText( "" + (arg/2) );
else if ( source == dobbeltButton )
// Det dobbelt
resField.setText( "" + (arg*2) );
}
catch ( NumberFormatException ex ) {
resField.setText( "Fejl" );
}
}
} |
|