Note that there are some explanatory texts on larger screens.

plurals
  1. POHide a JButton (image) after click
    text
    copied!<p>I've create a program with a JButton(image) and a normal image, now if you click the normal button a image will show, now i have program that the JButton(image) will hide if you click the normal button but i dont work and i get a fault code</p> <pre><code>package View; import java.awt.Color; import java.awt.Container; import java.awt.Cursor; import java.awt.Dimension; import java.awt.Font; import java.awt.Image; import java.awt.event.ActionListener; import javax.swing.BorderFactory; import javax.swing.ImageIcon; import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JMenu; import javax.swing.JMenuBar; import javax.swing.JMenuItem; import javax.swing.JPanel; import Controller.HideController; import Controller.HomeController; import Controller.SelectieController; public class Selectie extends JFrame{ private static String Vermeer = "Vermeer"; private JLabel label, label1, label2; private JButton keeper, kruis; private JPanel panel; private Container window = getContentPane(); public Selectie() { initGUI(); } public void initGUI() { setLayout(null); setTitle("Jari"); setSize(800,600); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); label = new JLabel(); label.setBounds(0, 0, 266, 800); label.setBackground(Color.RED); label.setOpaque(true); window.add(label); label1 = new JLabel(); label1.setBounds(266, 0, 266, 800); label1.setBackground(Color.BLACK); label1.setOpaque(true); window.add(label1); label2 = new JLabel(); label2.setBounds(532, 0, 266, 800); label2.setBackground(Color.RED); label2.setOpaque(true); window.add(label2); JLabel foto = new JLabel(); label1.add(foto); kruis = new JButton(new ImageIcon("../Ajax/src/img/logotje.gif")); kruis.setBorderPainted(false); kruis.setBounds(40, 150, 188, 188); label1.add(kruis); keeper = new JButton("1. "+""+" Kenneth Vermeer"); Cursor cur = keeper.getCursor(); keeper.setCursor(Cursor.getPredefinedCursor(Cursor.HAND_CURSOR)); keeper.setBounds(20, 50, 186, 12); keeper.setFocusable(false); keeper.setBorderPainted(false); keeper.setContentAreaFilled(false); keeper.setFont(new Font("Arial",Font.PLAIN,17)); keeper.setForeground(Color.WHITE); keeper.setActionCommand(Vermeer); label.add(keeper); SelectieController s1 = new SelectieController(keeper); keeper.addActionListener(s1); } HideController h1 = new HideController(keeper, kruis); { keeper.addActionListener(h1); } } </code></pre> <p>The action listener class:</p> <pre><code>package Controller; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.imageio.ImageIO; import javax.swing.ImageIcon; import javax.swing.JButton; import javax.swing.SwingUtilities; public class HideController implements ActionListener { private JButton keeper, logo; private static String Vermeer = "Vermeer"; public HideController(JButton vermeer, JButton kruis) { keeper = vermeer; logo = kruis; //Kenneth Vermeer try { keeper.setVisible(true); } catch(Exception e) { e.printStackTrace(); } logo.setVisible(false); } public void actionPerformed(ActionEvent event) { String actionCommand = event.getActionCommand(); // Kenneth Vermeer if (Vermeer.equals(actionCommand)) { SwingUtilities.invokeLater(new Runnable() { public void run() { logo.setVisible(false); } }); } }} </code></pre> <p>I hope someone could help me, thanks</p>
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload