2fast4you87
Erfahrenes Mitglied
Hallo Leute,
Nachdem ich mich seit längeren mit C++ / MFC beschäftigt habe, wollte ich mich auch nun um Java / SWT kümmern. ich programmiere mit dem Editor Eclipse.
Als erstes Projekt habe ich mir einen Taschenrechner vorgenommen.
Nun zu meinem Problem.
Habe ein Button Array erstellelt und lasse dies in einer Methode erstellen, nur möchte ich die Buttons ja nicht nur anzeigen lassen, sondern auch auf sie drücken. Das Event dazu, laut tutorial, public void widgetSelect(SelectionEvent e).
Nur ich kann leider nicht bestimmen welcher Button gerade gedrückt wurde.
Könnt Ihr mir weiter helfen ?
Nachdem ich mich seit längeren mit C++ / MFC beschäftigt habe, wollte ich mich auch nun um Java / SWT kümmern. ich programmiere mit dem Editor Eclipse.
Als erstes Projekt habe ich mir einen Taschenrechner vorgenommen.
Nun zu meinem Problem.
Habe ein Button Array erstellelt und lasse dies in einer Methode erstellen, nur möchte ich die Buttons ja nicht nur anzeigen lassen, sondern auch auf sie drücken. Das Event dazu, laut tutorial, public void widgetSelect(SelectionEvent e).
Nur ich kann leider nicht bestimmen welcher Button gerade gedrückt wurde.
Könnt Ihr mir weiter helfen ?
Code:
import org.eclipse.swt.SWT;
import org.eclipse.swt.events.SelectionAdapter;
import org.eclipse.swt.events.SelectionEvent;
import org.eclipse.swt.widgets.Button;
import org.eclipse.swt.widgets.Display;
import org.eclipse.swt.widgets.Shell;
import org.eclipse.swt.widgets.Text;
public class taschenrechner {
private Display display;
private Shell shell;
private Button[] buttons;
private Text text;
private String [] zahlen = {"9","8","7","6","5","4","3","2","1","0"};
private int index;
taschenrechner() {
display = new Display();
shell = new Shell(display);
shell.setSize(200,250);
index = 10;
init_layout();
set_layout();
shell.open();
while(!shell.isDisposed()) {
if(!display.readAndDispatch())
display.sleep();
}
}
public void init_layout() {
text = new Text(shell,SWT.BORDER);
buttons = new Button[index];
for(int i = 0;i < 10;i++){
buttons[i] = new Button(shell,SWT.PUSH);
// Ereignisse bei Button druck
buttons[i].addSelectionListener(new SelectionAdapter() {
public void moep(SelectionEvent e) {
text.setText("123"); // woher weiß ich welcher Button gedrückt wurde ?
}
});
// Ende
}
}
public void set_layout() {
int x = 20;
int y = 40;
for(int i = 0;i < 10;i++) { //platziere Buttons
buttons[i].setText(zahlen[i]);
buttons[i].setSize(30,20);
buttons[i].setLocation((x+=30), y);
if((i+1) % 3 == 0) {
y+=20;
x = 20;
}
} // ende
text.setBounds(45, 10, 100, 20); //setze Display
}
public static void main(String[] args) {
new taschenrechner();
}
}