Есть фрейм. На нем надо расположить более десятка обычных кнопок (JButton). Все кнопки должны быть с разными именами (setText("кнопка 1"), например) , но выполнять они должны лишь одну функцию. Они должны создавать еще один фрейм, с строковым параметром, взятым методом getText() из кнопки.
Возможно ли создать всего лишь одну переменную-кнопку, но добавить ее на фрейм несколько раз, и с разными именами? Соответственно, что бы каждая кнопка правильно передавала свой getText() в параметр.
Изначально задумывал идти прямо, создать эту тучу переменных, запихать их на фрейм, и к каждой прикрутить слушателя. Но это громоздко, с моей нубской точки зрения. В гугле не нашел ничего полезного.
Английский знаю очень плохо (пока что) , потому иноязычные гайды бесполезны. Документацию еле-еле получается читать =))
Заранее благодарю и прошу не кидаться помидорами.
Другие языки программирования и технологии
Java. Swing. Куча кнопок и actionlistener
Посмотри пример, может поможет :)
import java.awt.event.*;
import javax.swing.*;
public class Example extends JFrame {
public Example() {
setDefaultCloseOperation(EXIT_ON_CLOSE);
setLocationRelativeTo(null);
JPanel panel = new JPanel();
final JLabel label = new JLabel("nothing");
panel.add(label);
ActionListener actionListener = new ActionListener() {
public void actionPerformed(ActionEvent event) {
label.setText(((JButton)event.getSource()).getText());
}
};
String[] btnText = { "One", "Two", "Three" };
for (int i = 0; i < 3; ++i) {
JButton btn = new JButton(btnText[ i ]);
btn.addActionListener(actionListener);
panel.add(btn);
}
add(panel);
pack();
}
public static void main(String[] args) {
SwingUtilities.invokeLater(new Runnable() {
public void run() {
Example ex = new Example();
ex.setVisible(true);
}
});
}
}
import java.awt.event.*;
import javax.swing.*;
public class Example extends JFrame {
public Example() {
setDefaultCloseOperation(EXIT_ON_CLOSE);
setLocationRelativeTo(null);
JPanel panel = new JPanel();
final JLabel label = new JLabel("nothing");
panel.add(label);
ActionListener actionListener = new ActionListener() {
public void actionPerformed(ActionEvent event) {
label.setText(((JButton)event.getSource()).getText());
}
};
String[] btnText = { "One", "Two", "Three" };
for (int i = 0; i < 3; ++i) {
JButton btn = new JButton(btnText[ i ]);
btn.addActionListener(actionListener);
panel.add(btn);
}
add(panel);
pack();
}
public static void main(String[] args) {
SwingUtilities.invokeLater(new Runnable() {
public void run() {
Example ex = new Example();
ex.setVisible(true);
}
});
}
}
На соответствующие форумы иди. Тут тебе не помогут. Например, cyberforum точка ru
Похожие вопросы
- Вопросы по JAVA (Swing)! Я новичок.
- Что происходит в мире java? А то мелькают фразы - swing устарел.. . java уже не можно.. . В чём причина?
- Что конкретно пишут на языке Java? Над чем работают ?
- Проблема с Java
- JAVA - Server - Socket как обнаружить разрыв соединения.. Метод какой-нить есть?
- Java для серверных приложений !!!
- Можете привести 5ть готовых примеров-решений, выполненных на JAVA ?
- Хочу стать Java программистом, для этого нужно знать JAVA)))
- Закончил институт на программиста. Куда податься с таким дипломом? Кем лучше устроиться, 1С или Java?
- помогите с java