Как менять значение лейбла?
Задача: Напишите программу, при запуске которой создается и выводится на экран графическое окно. В окне размещена группа компонентов JRadioButton, метка и кнопка. После нажатия на кнопку, текст выбранной радиокнопки отображается в тексте метки.
Добился пока что только такого результата. Не понимаю, как сделать так, чтобы значение лейбла менялось?
package com.company;
import javax.swing.*;
import java.awt.event.*;
import java.awt.*;
public class Main {
JFrame frame;
String a = ("Нажмите на кнопку ниже и надпись тут изменится");
String b = ("1");
String c = ("2");
String d = ("3");
Main()
{
frame = new JFrame();
JLabel label = new JLabel(a, JLabel.CENTER);
label.setBounds(20,0,400,80);
JRadioButton btn1 = new JRadioButton(b);
JRadioButton btn2 = new JRadioButton(c);
JRadioButton btn3 = new JRadioButton(d);
btn1.setBounds(40,60,200,50);
btn2.setBounds(40,100,200,50);
btn3.setBounds(40,140,200,50);
ButtonGroup bg = new ButtonGroup();
bg.add(btn1);
bg.add(btn2);
bg.add(btn3);
frame.add(label);
frame.add(btn1);
frame.add(btn2);
frame.add(btn3);
frame.setSize(500,300);
frame.setLayout(null);
frame.setVisible(true);
}
public static void main(String[] args) {
new Main();
}
}
Ответы (1 шт):
Автор решения: d6xdmxnneee
→ Ссылка
package com.company;
import javax.swing.*;
import java.awt.event.*;
import java.awt.*;
public class Main extends JFrame implements ActionListener {
JFrame frame;
JRadioButton btn1, btn2, btn3;
JLabel label;
String a = ("Нажмите на кнопку ниже и надпись тут изменится");
String b = ("1");
String c = ("2");
String d = ("3");
Main()
{
frame = new JFrame();
label = new JLabel();
label.setText(a);
label.setBounds(20,0,400,80);
btn1 = new JRadioButton(b);
btn2 = new JRadioButton(c);
btn3 = new JRadioButton(d);
btn1.setBounds(40,60,200,50);
btn2.setBounds(40,100,200,50);
btn3.setBounds(40,140,200,50);
ButtonGroup bg = new ButtonGroup();
bg.add(btn1);
bg.add(btn2);
bg.add(btn3);
frame.add(label);
frame.add(btn1);
frame.add(btn2);
frame.add(btn3);
frame.setSize(500,300);
frame.setLayout(null);
frame.setVisible(true);
btn1.addActionListener(this);
btn2.addActionListener(this);
btn3.addActionListener(this);
}
public void actionPerformed(ActionEvent e) {
if(btn1.isSelected()){
label.setText(b);
}
if(btn2.isSelected()){
label.setText(c);
}
if(btn3.isSelected()){
label.setText(d);
}
}
public static void main(String args[]){
new Main();
}
}