Hey.
Jeg har lavet et eksempel på hvordan du kan gøre dette hvis du bruger Swing (hvilket du nok gør, men du fortæller jo intet).
Da jeg bare ville demonstrerer det har jeg kun gjort det basale. Man burde naturligvis i virkeligheden nok tjekke at det indtastede i feltet er en integer.
I eksemplet bruger jeg en anonymouse listener. Hvis man skal lave en ganske almindelig ActionListener (minder meget om hinanden).
Læs
http://java.sun.com/docs/books/tutorial/uiswing/events/actionlistener.html
import java.awt.FlowLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JTextField;
/**
* Vores Frame (vindue
* @author shafh
*/
public class Test extends JFrame{
private JTextField felt = new JTextField(10);
private JButton knap = new JButton("Okay");
/**
* Konstruktøren hvor alt til vinduet laves
*/
public Test(){
//Standart indstillinger for vindue bliver sat
this.setVisible(true); //Frame bliver gjort synlig
this.setSize(250,150); //Sætter størrelse
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); //Lukker program når frame lukkes
this.setLayout(new FlowLayout());
//Sætter komponenter på framet
this.getContentPane().add(felt);
this.getContentPane().add(knap);
//Laver en konstruktør til knappen:
knap.addActionListener( new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) { //Alt i denne methode bliver fuldført når der trykkes på knappen.
int feltValue = Integer.parseInt( felt.getText() ) + 15;
felt.setText(""+feltValue);
}
});
}
/**
* Denne metode viser vinduet.
*/
public static void main(String[] args){
Test entest = new Test();
}
}
Du er velkommen til at spørge ind til koderne hvis du er i tvivl på noget af det jeg gør.
Indlæg senest redigeret d. 23.01.2010 18:48 af Bruger #5097