Well, losing the Border of a JButton does not make it invisible. It only removes the border. To do this you simply use the setBorderPainted(boolean) method of JButton. If you want the button to disappear if it is disabled, you will have to remove it from whatever container you have it on. container.remove(button). And don't foget to call repaint and/or revalidate so that the changes take affect.