Удаление кнопки с панели с помощью ActionListner

333
09 марта 2017, 22:16

Как сделать так, чтобы кнопка по нажатию исчезала? Предполагаю, что это как-то связано со слушателем, но как конкретно удалить кнопку (или сделать невидимой?) не знаю.

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);
        //Вот здесь должна отключаться кнопка
    }
}
Answer 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();
        });
});
READ ALSO
RSA в Java__________________

RSA в Java__________________

У меня имеется, например, сгенерированный publicKeyЯ с помощью метода

358
Проблема отправки данных из java сервера к websocket клиенту на javascript

Проблема отправки данных из java сервера к websocket клиенту на javascript

Всем привет! У меня проблема, уже два дня копаюсь, но так и не решилЕсть сервер на джаве, и есть клиент на скрипте

380
Properties файл в качестве аргумента JVM?

Properties файл в качестве аргумента JVM?

Одно из требований к заданию по созданию CRUD приложения на Spring звучит следующим образом:

373
Не компилируются файлы java на windows xp

Не компилируются файлы java на windows xp

Примерно год назад установил jdk с целью программирования на языке javaТогда всё отлично работало, но вот недавно я решил возобновить изучение...

289