Dzień dobry!
Poniżej przedstawiłem kod programu którego zadaniem jest zmiana małych liter na duże. Niestety program nie działa tak jak powinien i wpisane litery nie są zamieniane na duże. Eclipse wyrzuca mi że powieninem zadeklarować textfield i nadać jej wartość null. Gdy to już robie program startuje itd ale nie zamienia liter. Czy typ textfield w button.addActionListener(new MyActionListener(textfield)); nie powinien być przypadkiem boolean dla kliknięcia (?)
Dzięki za podpowiedzi.
import javax.swing.JFrame;
import javax.swing.JButton;
import javax.swing.JTextField;
import java.awt.Container;
import java.awt.FlowLayout;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;
class MyActionListener implements ActionListener {
JTextField textfield;
MyActionListener (JTextField textfield){
this.textfield = textfield;
}
public void actionPerformed(ActionEvent e){
textfield.setText(textfield.getText().toUpperCase());
}
}
class testingClicks {
public static void main(String []args){
JFrame frame;
JButton button;
JTextField textfield;
FlowLayout layout;
Container contentPane;
frame = new JFrame();
frame.setTitle("CLICKS");
contentPane = frame.getContentPane();
button = new JButton("Capitalize text");
button.addActionListener(new MyActionListener(textfield));
contentPane.add(button);
textfield = new JTextField("Enter text here");
contentPane.add(textfield);
layout = new FlowLayout();
contentPane.setLayout(layout);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.pack();
frame.setVisible(true);
}
}