codice:
import java.awt.*; import javax.swing.*; import java.awt.event.*; public class restoform extends JFrame { int pa,r,b50,b20,b10,b5,m2,m1; Toolkit tool = Toolkit.getDefaultToolkit(); JLabel l1 = new JLabel("Importo:"); JTextField tf=new JTextField(5); JButton Bottone=new JButton("Calcola il resto"); JPanel p1 = new JPanel(); JPanel p2 = new JPanel(); restoform() { tf.setText("0"); setSize(400,500); setVisible(true); setLayout(null); setResizable(false); add(p1); add(p2); p1.setLayout(null); p2.setLayout(null); p1.setBounds(0,0,350,100); p2.setBounds(0,100,350,300); p1.add(l1); l1.setBounds(20,40,100,20); p1.add(tf); tf.setBounds(70,40,100,20); p1.add(Bottone); Bottone.setBounds(175,40,150,20); Bottone.addActionListener(new GestisceBottone()); } public void paint(Graphics g) { Image banconota50 = tool.getImage("banconota50.jpg"); g.drawImage(banconota50, 10,200,p2); g.drawString(""+b50,140,220); Image banconota20 = tool.getImage("banconota20.jpg"); g.drawImage(banconota20, 10,300,p2); g.drawString(""+b20,140,320); Image banconota10 = tool.getImage("banconota10.jpg"); g.drawImage(banconota10, 10,400,p2); g.drawString(""+b10,140,420); //seconda colonna Image banconota5 = tool.getImage("banconota5.jpg"); g.drawImage(banconota5, 250,200,p2); g.drawString(""+b5,200,220); Image moneta2 = tool.getImage("moneta2.jpg"); g.drawImage(moneta2, 250,300,p2); g.drawString(""+m2,200,320); Image moneta1 = tool.getImage("moneta1.jpg"); g.drawImage(moneta1, 250,400,p2); g.drawString(""+m1,200,420); } private class GestisceBottone implements ActionListener { public void actionPerformed (ActionEvent e) { pa=Integer.parseInt(tf.getText()); r=pa; b50=0; b20=0; b10=0; b5=0; m2=0; m1=0; while(r!=0) { if(r>=50) { r=r-50; b50=b50+1; } else { if(r>=20) { r=r-20; b20=b20+1; } else { if(r>=10) { r=r-10; b10=b10+1; } else { if(r>=5) { r=r-5; b5=b5+1; } else { if(r>=2) { r=r-2; m2=m2+1; } else { r=r-1; m1=m1+1; } } } } } } tf.setText("0"); repaint(); } } public static void main (String args []) { new restoform(); } }
In pratica non dà errori, ma mi dà grossi problemi nella visualizzazione.