Como retiro as bordas ao clique do botão?

10 respostas Resolvido
Thallysson

Olá, eu gostaria de esclarecer uma dúvida neste tópico, eu possuo uma jframe, nela existe um botão chamado fullscreen e então eu gostaria de que quando esse botão fosse clicado ele fizesse isso setUndecorated(true) porém como no construtor da classe que estende de jframe eu crio a janela e uso setVisible(true) ele lança uma exceção dizendo que a janela está sendo exibida, eu já tentei ocultar a janela no action performed porém não funcionou, alguém pode me ajudar?

10 Respostas

Chaybelucas

Cara…
Ao clique do botão, tenta mudar o tamanho.

int largura = (int) Toolkit.getDefaultToolkit.getScreenSize.getWidth();
int altura = (int) Toolkit.getDefaultToolkit.getScreenSize.getHeigth();

seuFrame.setBounds(0,0,largura,altura);

seuFrame.setUndecorated(true);

seuFrame.setVisible(true); // tenta não colocar o setVisible(true) pra ver no que dá também.
Thallysson

O eclipse está dizendo isso getDefaultToolkit cannot be resolved or is not a field no getDefaultToolkit, o que eu faço?

Thallysson
<strong>Eu tentei assim</strong>

Toolkit tk = Toolkit.getDefaultToolkit();

Dimension d = tk.getScreenSize();

this.setBounds(0,0,d.width,d.height);

this.setUndecorated(true);

this.setVisible(true);

<strong>mais ele largou a exceção novamente</strong>
Chaybelucas
public static final int largura = (int) Toolkit.getDefaultToolkit().getScreenSize().getWidth();
public static final int altura = (int) Toolkit.getDefaultToolkit().getScreenSize().getHeight();

Copia e cola issae. Uso isso constantemente no meus códigos, até deixei como Constantes.

Thallysson
<strong>Ele redimensiona a janela mais não retira as bordas e  aparece isso</strong>

Exception in thread “AWT-EventQueue-0” java.awt.IllegalComponentStateException: The frame is displayable.

at java.awt.Frame.setUndecorated(Unknown Source)

at Pacote.Indexmenu.actionPerformed(Indexmenu.java:336)

at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)

at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)

at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)

at javax.swing.DefaultButtonModel.setPressed(Unknown Source)

at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(Unknown Source)

at java.awt.AWTEventMulticaster.mouseReleased(Unknown Source)

at java.awt.Component.processMouseEvent(Unknown Source)

at javax.swing.JComponent.processMouseEvent(Unknown Source)

at java.awt.Component.processEvent(Unknown Source)

at java.awt.Container.processEvent(Unknown Source)

at java.awt.Component.dispatchEventImpl(Unknown Source)

at java.awt.Container.dispatchEventImpl(Unknown Source)

at java.awt.Component.dispatchEvent(Unknown Source)

at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)

at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)

at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)

at java.awt.Container.dispatchEventImpl(Unknown Source)

at java.awt.Window.dispatchEventImpl(Unknown Source)

at java.awt.Component.dispatchEvent(Unknown Source)

at java.awt.EventQueue.dispatchEventImpl(Unknown Source)

at java.awt.EventQueue.access$500(Unknown Source)

at java.awt.EventQueue$3.run(Unknown Source)

at java.awt.EventQueue$3.run(Unknown Source)

at java.security.AccessController.doPrivileged(Native Method)

at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)

at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)

at java.awt.EventQueue$4.run(Unknown Source)

at java.awt.EventQueue$4.run(Unknown Source)

at java.security.AccessController.doPrivileged(Native Method)

at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)

at java.awt.EventQueue.dispatchEvent(Unknown Source)

at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)

at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)

at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)

at java.awt.EventDispatchThread.pumpEvents(Unknown Source)

at java.awt.EventDispatchThread.pumpEvents(Unknown Source)

at java.awt.EventDispatchThread.run(Unknown Source)
Chaybelucas

Manda teu código ae

Thallysson

Meu código é esse:
`

package Pacote;
import java.awt.AWTException;
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Cursor;
import java.awt.Dimension;
import java.awt.FlowLayout;
import java.awt.Font;
import java.awt.GridLayout;
import java.awt.Image;
import java.awt.MouseInfo;
import java.awt.Point;
import java.awt.Robot;
import java.awt.Toolkit;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
import java.awt.image.BufferedImage;
import java.io.DataOutputStream;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.text.ParseException;
import java.util.ArrayList;

import javax.imageio.ImageIO;
import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.UIManager;
import javax.swing.UnsupportedLookAndFeelException;
import javax.swing.border.EmptyBorder;
import com.towel.swing.img.JImagePanel;

public class Indexmenu extends JFrame implements ActionListener{

JButton som = new JButton();
 ImageIcon iconetelainteira = new ImageIcon(getClass().getResource("/Assets/fullscreenbutton.png"));
 static JButton sobre = new JButton("Sobre");
 ImageIcon log = new ImageIcon(getClass().getResource("/assets/Logo.png"));
 JLabel l = new JLabel(log);
 JPanel logo = new JPanel();
 static JButton telainteira = new JButton();
 static JButton configuracoes = new JButton("Settings");
 static JButton sair = new JButton("X");
 static JButton novojogo = new JButton("New Game");
 static JButton continuar = new JButton("Load created game");
 JPanel cima = new JPanel();
 JPanel botoes = new JPanel();
 JPanel jogo = new JPanel();
 BorderLayout layout = new BorderLayout();
 FlowLayout layoutdois = new FlowLayout();
 GridLayout layouttres = new GridLayout(5,0,10,10);
 ArrayList<Color> cores = new ArrayList<Color>();
 Font fonte = new Font("Comic Sans MS",Font.BOLD,30);
 Font fontedois = new Font("Comic Sans MS",Font.BOLD,20);
JButton importar = new JButton("Import Assets");

Indexmenu(){

  new Actions();
  try {
		UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
	} catch (ClassNotFoundException | InstantiationException | IllegalAccessException
			| UnsupportedLookAndFeelException e) {
		e.printStackTrace();
	}

  Toolkit kit = Toolkit.getDefaultToolkit(); 
  Image image = kit.createImage(getClass().getResource("/Assets/Cursor3.png"));  
 	Point point = new Point(0,0); // 
 	String nameCursor = "Image Cursor";     	 	
Cursor cursor = kit.createCustomCursor(image, point, nameCursor); 
jogo.setCursor(cursor);
cores.add(new Color(255,255,0));
cores.add(new Color(255,0,0));
cores.add(new Color(0,255,0))

setTitle("I am Shinobi Game");
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setLocationRelativeTo(null);
setExtendedState(JFrame.MAXIMIZED_BOTH);
setVisible(true);

log.setImage(log.getImage().getScaledInstance(log.getIconWidth()-250,log.getIconHeight()-250, Image.SCALE_DEFAULT));
logo.add(l);

sair.setBorderPainted(false);
novojogo.setBorderPainted(false);
continuar.setBorderPainted(false);
configuracoes.setBorderPainted(false);
sobre.setBorderPainted(false);
telainteira.setContentAreaFilled(false);
telainteira.setBorderPainted(false);
importar.setBorderPainted(false);
som.setBorderPainted(false);

jogo.setLayout(layout);
jogo.add(cima,layout.NORTH);
jogo.add(logo,layout.CENTER);
jogo.add(botoes, layout.SOUTH);

novojogo.setFont(fonte);
continuar.setFont(fonte);
configuracoes.setFont(fonte);
sobre.setFont(fonte);
sair.setFont(fontedois);
importar.setFont(fontedois);

cima.setLayout(layoutdois);
cima.add(importar);
cima.add(som);
cima.add(telainteira);
cima.add(sair);
sair.setBackground(cores.get(1));
importar.setBackground(cores.get(1));

botoes.setLayout(layouttres);
botoes.add(novojogo);
novojogo.setBackground(cores.get(1));
botoes.add(continuar);
continuar.setBackground(cores.get(1));
botoes.add(configuracoes);
configuracoes.setBackground(cores.get(1));
botoes.add(sobre);
sobre.setBackground(cores.get(1));
botoes.setBorder(new EmptyBorder(0,400,0,400));

layoutdois.setAlignment(FlowLayout.RIGHT);
add(jogo);

novojogo.addMouseListener(new MouseListener(){
    Dimension dn = new Dimension(0,0);

	public void mouseReleased(MouseEvent arg0) {
      novojogo.setSize(dn);
	}
	
	public void mousePressed(MouseEvent arg0) {
		novojogo.setSize(novojogo.getWidth()-10,novojogo.getHeight()-10);
	}
	
	public void mouseExited(MouseEvent arg0) {
          novojogo.setSize(dn);
	}
	
	public void mouseEntered(MouseEvent arg0) {
		dn = new Dimension(novojogo.getWidth(),novojogo.getHeight());
		novojogo.setSize(novojogo.getWidth()+5,novojogo.getHeight()+5);
	}
	
	public void mouseClicked(MouseEvent arg0) {
	}
});
continuar.addMouseListener(new MouseListener(){
	 Dimension dn = new Dimension(0,0);

	public void mouseReleased(MouseEvent arg0) {
       continuar.setSize(dn);
	}
	
	public void mousePressed(MouseEvent arg0) {
		continuar.setSize(continuar.getWidth()-10,continuar.getHeight()-10);
	}
	
	public void mouseExited(MouseEvent arg0) {
          continuar.setSize(dn);
	}
	
	public void mouseEntered(MouseEvent arg0) {
		dn = new Dimension(continuar.getWidth(),continuar.getHeight());
		continuar.setSize(continuar.getWidth()+5,continuar.getHeight()+5);
	}
	
	public void mouseClicked(MouseEvent arg0) {
	}
});
configuracoes.addMouseListener(new MouseListener(){
	 Dimension dn = new Dimension(0,0);

	public void mouseReleased(MouseEvent arg0) {
       configuracoes.setSize(dn);
	}
	
	public void mousePressed(MouseEvent arg0) {
		configuracoes.setSize(configuracoes.getWidth()-10,configuracoes.getHeight()-10);
	}
	
	public void mouseExited(MouseEvent arg0) {
          configuracoes.setSize(dn);
	}
	
	public void mouseEntered(MouseEvent arg0) {
		dn = new Dimension(configuracoes.getWidth(),configuracoes.getHeight());
		configuracoes.setSize(configuracoes.getWidth()+5,configuracoes.getHeight()+5);
	}
	
	public void mouseClicked(MouseEvent arg0) {
	}
});
sobre.addMouseListener(new MouseListener(){
	 Dimension dn = new Dimension(0,0);

	public void mouseReleased(MouseEvent arg0) {
       sobre.setSize(dn);
	}
	
	public void mousePressed(MouseEvent arg0) {
		sobre.setSize(sobre.getWidth()-10,sobre.getHeight()-10);
	}
	
	public void mouseExited(MouseEvent arg0) {
          sobre.setSize(dn);
	}
	
	public void mouseEntered(MouseEvent arg0) {
		dn = new Dimension(sobre.getWidth(),sobre.getHeight());
		sobre.setSize(sobre.getWidth()+5,sobre.getHeight()+5);
	}
	
	public void mouseClicked(MouseEvent arg0) {
	}
});
telainteira.addMouseListener(new MouseListener(){
	 Dimension dn = new Dimension(0,0);

	public void mouseReleased(MouseEvent arg0) {
       telainteira.setSize(dn);
	}
	
	public void mousePressed(MouseEvent arg0) {
		telainteira.setSize(telainteira.getWidth()-10,telainteira.getHeight()-10);
	}
	
	public void mouseExited(MouseEvent arg0) {
          telainteira.setSize(dn);
	}
	
	public void mouseEntered(MouseEvent arg0) {
		dn = new Dimension(telainteira.getWidth(),telainteira.getHeight());
		telainteira.setSize(telainteira.getWidth(),telainteira.getHeight()+5);
	}
	
	public void mouseClicked(MouseEvent arg0) {
	}
});
sair.addMouseListener(new MouseListener(){
	 Dimension dn = new Dimension(0,0);

	public void mouseReleased(MouseEvent arg0) {
       sair.setSize(dn);
	}
	
	public void mousePressed(MouseEvent arg0) {
		sair.setSize(sair.getWidth()-10,sair.getHeight()-10);
	}
	
	public void mouseExited(MouseEvent arg0) {
          sair.setSize(dn);
	}
	
	public void mouseEntered(MouseEvent arg0) {
		dn = new Dimension(sair.getWidth(),sair.getHeight());
		sair.setSize(sair.getWidth(),sair.getHeight()+5);
	}
	
	public void mouseClicked(MouseEvent arg0) {
	}
});
importar.addMouseListener(new MouseListener(){
	 Dimension dn = new Dimension(0,0);

	public void mouseReleased(MouseEvent arg0) {
       importar.setSize(dn);
	}
	
	public void mousePressed(MouseEvent arg0) {
		importar.setSize(importar.getWidth()-10,importar.getHeight()-10);
	}
	
	public void mouseExited(MouseEvent arg0) {
          importar.setSize(dn);
	}
	
	public void mouseEntered(MouseEvent arg0) {
		dn = new Dimension(importar.getWidth(),importar.getHeight());
		importar.setSize(importar.getWidth(),importar.getHeight()+5);
	}
	
	public void mouseClicked(MouseEvent arg0) {
	}
});
som.addMouseListener(new MouseListener(){
 Dimension dn = new Dimension(0,0);

	public void mouseReleased(MouseEvent arg0) {
      som.setSize(dn);
	}
	
	public void mousePressed(MouseEvent arg0) {
	   if(som.getIcon().toString().contains("/Assets/sound-buttonoff.png")){
			som.setIcon(new ImageIcon(getClass().getResource("/Assets/sound-button.png"))); 
	   }else if(som.getIcon().toString().contains("/Assets/sound-button.png")){
			som.setIcon(new ImageIcon(getClass().getResource("/Assets/sound-buttonoff.png"))); 
	   }
		som.setSize(som.getWidth()-10,som.getHeight()-10);
	}
	
	public void mouseExited(MouseEvent arg0) {
          som.setSize(dn);
	}
	
	public void mouseEntered(MouseEvent arg0) {
		dn = new Dimension(som.getWidth(),som.getHeight());
		som.setSize(som.getWidth(),som.getHeight()+5);
	}
	
	public void mouseClicked(MouseEvent arg0) {
	}
});
som.setIcon(new ImageIcon(getClass().getResource("/Assets/sound-button.png")));
iconetelainteira.setImage(iconetelainteira.getImage().getScaledInstance(iconetelainteira.getIconWidth()-60,iconetelainteira.getIconHeight()-60, Image.SCALE_DEFAULT));
telainteira.setIcon(iconetelainteira);
telainteira.addActionListener(this);
 }
  public static void main(String[]args){
Indexmenu index = new Indexmenu();
}
public void actionPerformed(ActionEvent evento) {
if(evento.getSource()==telainteira){
}
 }
}

`

Chaybelucas
Solucao aceita

Boa noite!
Cara, depois de muito pesquisar e tentar MESMO… Fiz o seu codigo, mas de forma simples, pra eu testar aqui. Consegui fazer, eu acho que da forma que ce quis… Dá uma olhada ae

Link original aqui

package pacote;

import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.JButton;
import javax.swing.JFrame;

public class Indexmenu implements ActionListener{
	public static void main(String[]args ) {
		JFrame tela = new JFrame();
		JButton bt = new JButton("Click me");
		
		tela.setBounds(100,100,500,500);
		tela.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		tela.setLayout(null);
		
		bt.setBounds(20,20,100,30);
		bt.addActionListener(new ActionListener() {
			
			@Override
			public void actionPerformed(ActionEvent e) {
                                // Aqui o que fiz pra dar certo AQUI. Testa ae bro
				tela.dispose();
				tela.setUndecorated(true);
				tela.setVisible(true);
				
			}
		});
		
		tela.add(bt);
		tela.setVisible(true);
		
	}

	@Override
	public void actionPerformed(ActionEvent arg0) {
		// TODO Auto-generated method stub
		
	}
	
}

Note que eu dei tela.dispose(), logo depois dei undecorated e depois visible(true). Nesta ordem, la dentro do evento do botao. Tenta isso ai, dentro do evento do teu botao… Testei aqui e funcionou bacana.

Thallysson

Muito obrigado! Você me ajudou muito :slightly_smiling:

Chaybelucas

De nada. Precisando, estamos aqui !

Criado 5 de março de 2016
Ultima resposta 11 de mar. de 2016
Respostas 10
Participantes 2