[RESOLVIDO] Como eu passo para outra tela por um botão?

13 respostas Resolvido
java
K

Olá estou criando uma aplicação com o Eclipse(usava o netbeans) e queria poder clicar com um botão e passar para outra tela
antes quando usava o netbeans o codigo que eu usava era

//

new Itens().setVisible(true);

dispose();

//

mas agora que eu estou usando o eclipse a unica maneira que consegui foi criar um getter na classe itens funcionou mas ficou muito grande considerando que vai ter varios botoes o codigo ficaria gigante, agora ficou assim
//

Itens.getFrame().setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

Itens.getFrame().setVisible(true);

Itens.getFrame().setContentPane(new Itens());

Itens.getFrame().setExtendedState(6);

Itens.getFrame().setTitle(TESTE ECLIPSE);

Itens.getFrame().setIconImage(icone);

Itens.getFrame().setLayout(null);

frame.dispose();

//

tem algum jeito de deixar isso menor colocando esse codigo no class itens?

quando tentei ele apenas fechou o menu não abriu nada

13 Respostas

rodriguesabner

Isso não é getter, essas propriedades são padrão do JFrame…

new Itens().setVisible(true);
dispose();

Isso aqui não é coisa de Netbeans, é do Java mesmo, porquê não abriu? Deu erro? O que houve?

K

ele só fechou a janela, também achei isso incomum,não estou usando o WindowBuilder estou fazendo a interface na unha por que eu quero colocar background sem ser pela jlabel e so sei fazer isso fazendo tudo na unha, eu acho que é por causa disso, ele nem me da um erro ele só fecha

rodriguesabner

Você tem o que nessa nova tela? Tem algum try catch sem printar o erro?

K

não tem nehum try catch tem apenas umas labels e um botao pra voltar pro menu que não abre quando aperto tambem

rodriguesabner

Tira o dispose();, se não der erro na erro de abrir ainda, mostra o código de Itens()

K
package telas;

import javax.swing.JFrame;
import javax.swing.JPanel;

public class Itens extends JPanel {
	/**
	 * 
	 */
	private static final long serialVersionUID = 1L;
	static JFrame frame = new JFrame();
	public Itens() {
        initComponents();
        this.setLayout(null);
    }
	private void initComponents() {

        jLabel1 = new javax.swing.JLabel();
        jLabel9 = new javax.swing.JLabel();
        jLabel10 = new javax.swing.JLabel();
        jLabel11 = new javax.swing.JLabel();
        jLabel12 = new javax.swing.JLabel();
        jLabel13 = new javax.swing.JLabel();
        jLabel14 = new javax.swing.JLabel();
        jButton1 = new javax.swing.JButton();
        jLabel15 = new javax.swing.JLabel();
        jLabel8 = new javax.swing.JLabel();
        jLabel16 = new javax.swing.JLabel();
        jLabel18 = new javax.swing.JLabel();
        jLabel17 = new javax.swing.JLabel();
        jLabel4 = new javax.swing.JLabel();
        jLabel3 = new javax.swing.JLabel();
        jLabel6 = new javax.swing.JLabel();
        jLabel7 = new javax.swing.JLabel();
        jLabel5 = new javax.swing.JLabel();
        jLabel2 = new javax.swing.JLabel();
        
        jLabel1.setFont(new java.awt.Font("Arial", 0, 36));
        jLabel1.setText("Itens");
        add(jLabel1);
        jLabel1.setBounds(620, 0, 100, 43);

        jLabel9.setFont(new java.awt.Font("Arial", 1, 36));
        jLabel9.setText("Probabilidade de Drop");
        add(jLabel9);
        jLabel9.setBounds(470, 340, 390, 43);

        jLabel10.setFont(new java.awt.Font("Arial", 0, 36));
        jLabel10.setForeground(new java.awt.Color(0, 102, 0));
        jLabel10.setText("Item Incomum: 50%");
        add(jLabel10);
        jLabel10.setBounds(500, 440, 320, 43);

        jLabel11.setFont(new java.awt.Font("Arial", 0, 36));
        jLabel11.setForeground(new java.awt.Color(153, 153, 153));
        jLabel11.setText("Item Comum: 70%");
        add(jLabel11);
        jLabel11.setBounds(500, 390, 299, 43);

        jLabel12.setFont(new java.awt.Font("Arial", 0, 36));
        jLabel12.setForeground(new java.awt.Color(51, 153, 255));
        jLabel12.setText("Item Raro: 30%");
        add(jLabel12);
        jLabel12.setBounds(520, 480, 250, 43);

        jLabel13.setFont(new java.awt.Font("Arial", 0, 36));
        jLabel13.setForeground(new java.awt.Color(255, 204, 51));
        jLabel13.setText("Item Lendário 5%");
        add(jLabel13);
        jLabel13.setBounds(510, 580, 290, 43);

        jLabel14.setFont(new java.awt.Font("Arial", 0, 36));
        jLabel14.setForeground(new java.awt.Color(102, 0, 153));
        jLabel14.setText("Item Épico: 15%");
        add(jLabel14);
        jLabel14.setBounds(520, 530, 270, 43);

        jButton1.setFont(new java.awt.Font("Arial", 0, 24));
        jButton1.setText("MENU");
        jButton1.setContentAreaFilled(false);
        jButton1.setFocusable(false);
        jButton1.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jButton1ActionPerformed(evt);
            }
        });
        add(jButton1);
        jButton1.setBounds(0, 0, 187, 56);

        jLabel15.setFont(new java.awt.Font("Arial", 0, 36));
        jLabel15.setForeground(new java.awt.Color(102, 0, 153));
        jLabel15.setText("(Roxo)");
        add(jLabel15);
        jLabel15.setBounds(670, 240, 110, 43);

        jLabel8.setFont(new java.awt.Font("Arial", 0, 36));
        jLabel8.setForeground(new java.awt.Color(255, 204, 51));
        jLabel8.setText("(Dourado)");
        add(jLabel8);
        jLabel8.setBounds(670, 290, 170, 43);

        jLabel16.setFont(new java.awt.Font("Arial", 0, 36));
        jLabel16.setText("Lendário &6");
        add(jLabel16);
        jLabel16.setBounds(470, 290, 200, 43);

        jLabel18.setFont(new java.awt.Font("Arial", 0, 36));
        jLabel18.setText("Épico = &5");
        add(jLabel18);
        jLabel18.setBounds(490, 240, 180, 43);

        jLabel17.setFont(new java.awt.Font("Arial", 0, 36));
        jLabel17.setForeground(new java.awt.Color(51, 153, 255));
        jLabel17.setText("(Azul Marinho)");
        add(jLabel17);
        jLabel17.setBounds(670, 190, 235, 43);

        jLabel4.setFont(new java.awt.Font("Arial", 0, 36));
        jLabel4.setText("Raro = &3");
        add(jLabel4);
        jLabel4.setBounds(500, 190, 163, 43);

        jLabel3.setFont(new java.awt.Font("Arial", 0, 36));
        jLabel3.setForeground(new java.awt.Color(0, 102, 0));
        jLabel3.setText("(Verde Escuro) ");
        add(jLabel3);
        jLabel3.setBounds(650, 140, 260, 43);

        jLabel6.setFont(new java.awt.Font("Arial", 0, 36));
        jLabel6.setText("Incomum = &2");
        add(jLabel6);
        jLabel6.setBounds(410, 140, 240, 43);

        jLabel7.setFont(new java.awt.Font("Arial", 0, 36));
        jLabel7.setText("Comum = &7 ");
        add(jLabel7);
        jLabel7.setBounds(470, 90, 222, 43);

        jLabel5.setFont(new java.awt.Font("Arial", 0, 36));
        jLabel5.setForeground(new java.awt.Color(153, 153, 153));
        jLabel5.setText("(Cinza)");
        add(jLabel5);
        jLabel5.setBounds(690, 90, 120, 43);

        jLabel2.setFont(new java.awt.Font("Arial", 1, 36));
        jLabel2.setText("Cor e Nome dos Itens");
        add(jLabel2);
        jLabel2.setBounds(470, 40, 370, 43);

	}
	private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
        new Menu().setVisible(true);
        frame.dispose();
    }
	public static void main(String[] args) {
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.setContentPane(new Itens());
        frame.setVisible(true);
        frame.setExtendedState(6);
        frame.setTitle("TESTE ECLIPSE");
    }
	
	private javax.swing.JButton jButton1;
    private javax.swing.JLabel jLabel1;
    private javax.swing.JLabel jLabel10;
    private javax.swing.JLabel jLabel11;
    private javax.swing.JLabel jLabel12;
    private javax.swing.JLabel jLabel13;
    private javax.swing.JLabel jLabel14;
    private javax.swing.JLabel jLabel15;
    private javax.swing.JLabel jLabel16;
    private javax.swing.JLabel jLabel17;
    private javax.swing.JLabel jLabel18;
    private javax.swing.JLabel jLabel2;
    private javax.swing.JLabel jLabel3;
    private javax.swing.JLabel jLabel4;
    private javax.swing.JLabel jLabel5;
    private javax.swing.JLabel jLabel6;
    private javax.swing.JLabel jLabel7;
    private javax.swing.JLabel jLabel8;
    private javax.swing.JLabel jLabel9;

}
rodriguesabner
Solucao aceita

Entendi, tem alguns problemas aí:

Vc setou sua janela como JPanel, mas o correto é JFrame

public class Itens extends JPanel {}

Vc adicionou Itens() no contentPane, fazendo que o seu programa nunca iniciasse, iria ficar sempre adicionando, o que causaria erro.

frame.setContentPane(new Itens());

Outro problema é q vc declarou um JFrame, isso nao é necessario:

static JFrame frame = new JFrame();

No final ficou:

//import com.kingaspx.DownloadVideo.menu.Menu;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;

public class Itens extends JFrame {

    private static final long serialVersionUID = 1L;

    public Itens() {
        initComponents();
    }

    private void initComponents() {
        jLabel1 = new JLabel();
        jLabel9 = new JLabel();
        jLabel10 = new JLabel();
        jLabel11 = new JLabel();
        jLabel12 = new JLabel();
        jLabel13 = new JLabel();
        jLabel14 = new JLabel();
        jButton1 = new JButton();
        jLabel15 = new JLabel();
        jLabel8 = new JLabel();
        jLabel16 = new JLabel();
        jLabel18 = new JLabel();
        jLabel17 = new JLabel();
        jLabel4 = new JLabel();
        jLabel3 = new JLabel();
        jLabel6 = new JLabel();
        jLabel7 = new JLabel();
        jLabel5 = new JLabel();
        jLabel2 = new JLabel();

        jLabel1.setFont(new java.awt.Font("Arial", 0, 36));
        jLabel1.setText("Itens");
        add(jLabel1);
        jLabel1.setBounds(620, 0, 100, 43);

        jLabel9.setFont(new java.awt.Font("Arial", 1, 36));
        jLabel9.setText("Probabilidade de Drop");
        add(jLabel9);
        jLabel9.setBounds(470, 340, 390, 43);

        jLabel10.setFont(new java.awt.Font("Arial", 0, 36));
        jLabel10.setForeground(new java.awt.Color(0, 102, 0));
        jLabel10.setText("Item Incomum: 50%");
        add(jLabel10);
        jLabel10.setBounds(500, 440, 320, 43);

        jLabel11.setFont(new java.awt.Font("Arial", 0, 36));
        jLabel11.setForeground(new java.awt.Color(153, 153, 153));
        jLabel11.setText("Item Comum: 70%");
        add(jLabel11);
        jLabel11.setBounds(500, 390, 299, 43);

        jLabel12.setFont(new java.awt.Font("Arial", 0, 36));
        jLabel12.setForeground(new java.awt.Color(51, 153, 255));
        jLabel12.setText("Item Raro: 30%");
        add(jLabel12);
        jLabel12.setBounds(520, 480, 250, 43);

        jLabel13.setFont(new java.awt.Font("Arial", 0, 36));
        jLabel13.setForeground(new java.awt.Color(255, 204, 51));
        jLabel13.setText("Item Lendário 5%");
        add(jLabel13);
        jLabel13.setBounds(510, 580, 290, 43);

        jLabel14.setFont(new java.awt.Font("Arial", 0, 36));
        jLabel14.setForeground(new java.awt.Color(102, 0, 153));
        jLabel14.setText("Item Épico: 15%");
        add(jLabel14);
        jLabel14.setBounds(520, 530, 270, 43);

        jButton1.setFont(new java.awt.Font("Arial", 0, 24));
        jButton1.setText("MENU");
        jButton1.setContentAreaFilled(false);
        jButton1.setFocusable(false);
        jButton1.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jButton1ActionPerformed(evt);
            }
        });
        add(jButton1);
        jButton1.setBounds(0, 0, 187, 56);

        jLabel15.setFont(new java.awt.Font("Arial", 0, 36));
        jLabel15.setForeground(new java.awt.Color(102, 0, 153));
        jLabel15.setText("(Roxo)");
        add(jLabel15);
        jLabel15.setBounds(670, 240, 110, 43);

        jLabel8.setFont(new java.awt.Font("Arial", 0, 36));
        jLabel8.setForeground(new java.awt.Color(255, 204, 51));
        jLabel8.setText("(Dourado)");
        add(jLabel8);
        jLabel8.setBounds(670, 290, 170, 43);

        jLabel16.setFont(new java.awt.Font("Arial", 0, 36));
        jLabel16.setText("Lendário &6");
        add(jLabel16);
        jLabel16.setBounds(470, 290, 200, 43);

        jLabel18.setFont(new java.awt.Font("Arial", 0, 36));
        jLabel18.setText("Épico = &5");
        add(jLabel18);
        jLabel18.setBounds(490, 240, 180, 43);

        jLabel17.setFont(new java.awt.Font("Arial", 0, 36));
        jLabel17.setForeground(new java.awt.Color(51, 153, 255));
        jLabel17.setText("(Azul Marinho)");
        add(jLabel17);
        jLabel17.setBounds(670, 190, 235, 43);

        jLabel4.setFont(new java.awt.Font("Arial", 0, 36));
        jLabel4.setText("Raro = &3");
        add(jLabel4);
        jLabel4.setBounds(500, 190, 163, 43);

        jLabel3.setFont(new java.awt.Font("Arial", 0, 36));
        jLabel3.setForeground(new java.awt.Color(0, 102, 0));
        jLabel3.setText("(Verde Escuro) ");
        add(jLabel3);
        jLabel3.setBounds(650, 140, 260, 43);

        jLabel6.setFont(new java.awt.Font("Arial", 0, 36));
        jLabel6.setText("Incomum = &2");
        add(jLabel6);
        jLabel6.setBounds(410, 140, 240, 43);

        jLabel7.setFont(new java.awt.Font("Arial", 0, 36));
        jLabel7.setText("Comum = &7 ");
        add(jLabel7);
        jLabel7.setBounds(470, 90, 222, 43);

        jLabel5.setFont(new java.awt.Font("Arial", 0, 36));
        jLabel5.setForeground(new java.awt.Color(153, 153, 153));
        jLabel5.setText("(Cinza)");
        add(jLabel5);
        jLabel5.setBounds(690, 90, 120, 43);

        jLabel2.setFont(new java.awt.Font("Arial", 1, 36));
        jLabel2.setText("Cor e Nome dos Itens");
        add(jLabel2);
        jLabel2.setBounds(470, 40, 370, 43);

        setLayout(null);
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        setExtendedState(6);
        setTitle("TESTE ECLIPSE");
    }

    private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
        new Menu().setVisible(true);
        dispose();
    }

    public static void main(String[] args) {
        java.awt.EventQueue.invokeLater(new Runnable() {
            public void run() {
                new Menu().setVisible(true);
            }
        });
    }

          private JButton jButton1;
    private JLabel jLabel1;
    private JLabel jLabel10;
    private JLabel jLabel11;
    private JLabel jLabel12;
    private JLabel jLabel13;
    private JLabel jLabel14;
    private JLabel jLabel15;
    private JLabel jLabel16;
    private JLabel jLabel17;
    private JLabel jLabel18;
    private JLabel jLabel2;
    private JLabel jLabel3;
    private JLabel jLabel4;
    private JLabel jLabel5;
    private JLabel jLabel6;
    private JLabel jLabel7;
    private JLabel jLabel8;
    private JLabel jLabel9;

}
K

bom eu setei minha janela como JPanel pra poder usar o metodo paintComponent() porque é o unico jeito que eu sei de adicionar um background redimensionavel, eu que não sabia isso podia acontecer, tem alguma forma de adicionar um background redimensionavel sem setar a janela como JPanel?

rodriguesabner

Cria um Panel separado e adiciona no seu JFrame.

Pra adicionar vc faria:

JPanel panelAlgumaCoisa = new SeuCustomPanel();
add(panelAlgumaCoisa);
panelAlgumaCoisa.setBounds(240, 130, 330, 30);
K

agora consegui aqui, ultima pergunta, como eu faço para o panel ficar sempre do tamanho do frame?
no caso seu eu colocar o setBounds() ele vai ficar sempre daquele tamanho eu quero que ele fique do tamanho do frame

rodriguesabner

Seta seu layout como BorderLayout, depois adiciona ele no centro:

add(panel, BorderLayout.CENTER);
K

cara de verdade valeu mesmo, eu ia refazer o projeto na unha mas agora eu consigo fazer isso no meu projeto do netbeans, muito obrigado

rodriguesabner

Tamo junto.

Criado 30 de março de 2020
Ultima resposta 30 de mar. de 2020
Respostas 13
Participantes 2