Hey,
meine GUI:
Mein Problem ist, dass, wenn ich den ersten Button drücke (der linkeste), dann müsste er doch den Text dieses Buttons ändern.
Warum tut er das nicht?
Wo sind meine Fehler?
meine GUI:
Java:
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class GUIKniffel
{
public static void main(){
GUIKniffelModel model = new GUIKniffelModel();
GUIKniffelView view = new GUIKniffelView();
GUIKniffelController controller = new GUIKniffelController(model, view);
}
}
class GUIKniffelModel
{
public void b0(GUIKniffelView view)
{
view.button[0].setText("hi");
}
public void b1(){}
public void b2(){}
public void b3(){}
public void b4(){}
}
class GUIKniffelView{
public JFrame frame = new JFrame("Kniffel");
public JButton[] button = new JButton[5];
public JPanel buttons = new JPanel();
GUIKniffelView()
{
//frame.setDefaultCloseOperation(EXIT_ON_CLOSE);
frame.setBounds(100,100,350,150);
//buttons.setLayout(new GridLayout(4,1,2,2));
for(int i = 0; i < 5; i++){
button[i] = new JButton(" ");
buttons.add(button[i]);
}
frame.getContentPane().add("Center",buttons);
frame.setVisible(true);
}
public void buttonActionListeners(ActionListener e)
{
for(int i = 0; i < 5; i++)
{
button[i].setActionCommand("b"+i);
button[i].addActionListener(e);
}
}
}
class GUIKniffelController implements ActionListener
{
GUIKniffelModel model;
GUIKniffelView view;
public GUIKniffelController(GUIKniffelModel model, GUIKniffelView view)
{
this.model = model;
this.view = view;
view.buttonActionListeners(this);
}
public void actionPerformed(ActionEvent ae)
{
String action_com = ae.getActionCommand();
if(action_com == "b0")
{
model.b0(view);
}
}
}
Mein Problem ist, dass, wenn ich den ersten Button drücke (der linkeste), dann müsste er doch den Text dieses Buttons ändern.
Warum tut er das nicht?
Wo sind meine Fehler?