Как сделать так, чтобы кнопка по нажатию исчезала? Предполагаю, что это как-то связано со слушателем, но как конкретно удалить кнопку (или сделать невидимой?) не знаю.
import java.awt.*;
import javax.swing.*;
class GraphTest {
public static void main(String[] args) {
JFrame frame = new JFrame(" Hello!"); //JFrame
frame.setSize(new Dimension(400, 300));
frame.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
frame.setLocationRelativeTo(null);
frame.setResizable(false);
Container container = frame.getContentPane(); //Container
container.setLayout(new BorderLayout());
JButton button = new JButton("Click me!"); //JButton
button.addActionListener(new MyActionListner());
button.setPreferredSize(new Dimension(100, 50));
JPanel panel = new JPanel(); //JPanel
panel.setBackground(Color.darkGray);
panel.setLayout(new GridBagLayout());
GridBagConstraints gbc = new GridBagConstraints(); //GBC
gbc.gridx = 0;
gbc.gridy = GridBagConstraints.RELATIVE;
panel.add(button, gbc);
container.add(panel, BorderLayout.CENTER);
frame.setVisible(true);
}
}
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
public class MyActionListner implements ActionListener {
@Override
public void actionPerformed(ActionEvent e) {
System.out.println(1);
//Вот здесь должна отключаться кнопка
}
}
Чтобы динамически удалить компонент с панели Swing вам нужно следующим образом определить listener:
JButton button = new JButton("Click me!");
button.setPreferredSize(new Dimension(100, 50));
button.addActionListener(e -> {
System.out.println("remove button");
SwingUtilities.invokeLater(() -> {
panel.remove(button);
panel.updateUI();
});
});
Современные инструменты для криптотрейдинга: как технологии помогают принимать решения
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости