Напишите программу, которая показывает окно с тремя кнопками. Каждая кнопка имеет такие названия, как «Красный», «Зеленый» и «Синий». В этом окне есть также метка. Метка содержит значок. Этот значок должен быть CompositeIcon, где в начале пуст. Каждый раз, когда вы нажимаете кнопку, вы можете видеть квадрат с цветом кнопки, например, для примера «нажмите синюю кнопку -> появится синий квадрат в окне». Пока у меня это есть. У меня есть три кнопки с их именем цвета. Я каждый раз, когда я нажимаю одну из кнопок, не работает. Что мне нужно сделать?Как сделать кнопки, чтобы сделать квадрат с цветом?
Код:
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class ActionTester{
public static void main(String[] args){
JFrame frame = new JFrame();
final JTextField textField = new JTextField();
JButton RedButton = new JButton("Red");
RedButton.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
SquareIcon red = new SquareIcon(20,Color.RED);
CompositeIcon ci = new CompositeIcon();
ci.addIcon(red);
}
});
JButton GreenButton = new JButton("Green");
GreenButton.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
SquareIcon green = new SquareIcon(20,Color.GREEN);
CompositeIcon ci = new CompositeIcon();
ci.addIcon(green);
}
});
JButton BlueButton = new JButton("Blue");
BlueButton.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
SquareIcon blue = new SquareIcon(20,Color.BLUE);
CompositeIcon ci = new CompositeIcon();
ci.addIcon(blue);
}
});
frame.setLayout(new FlowLayout());
frame.add(RedButton);
frame.add(GreenButton);
frame.add(BlueButton);
frame.add(textField);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.pack();
frame.setVisible(true);
}
}
Эй, я не уверен, если его же упражнение, но посмотрите на это: HTTP://stackoverflow.com/questions/19881700/buttons-and-icons-within-a-label-squareicon. Это похоже на вашу задачу. – endkugelfang