Eu sei que provavelmente não vai ter ninguém online essa hora, mas por favor, uma alma abençoada, me socorre, eu tenho que entregar o trabalho até 12 horas, se eu não acabar a interface minha equipe vai pistolar comigo, no caso minha interface consiste em três JFrame’s, e eu só tinha acabado uma das telas, ai fui tentar fazer as outras e tava dando ruim, então fui tentar separar o código pra ficar mais fácil editar e agora ta dando esse erro:
Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
at java.awt.Container.addImpl(Unknown Source)
at java.awt.Container.add(Unknown Source)
at gui.Tela_Sintetizador.initTeclado(Tela_Sintetizador.java:28)
at gui.Tela_Sintetizador.<init>(Tela_Sintetizador.java:13)
at main.Main$1.run(Main.java:37)
at java.awt.event.InvocationEvent.dispatch(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.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)
O código da interface:
Tela_Inicial.class
package gui;
import java.awt.Color;
import java.awt.Dimension;
import javax.swing.JFrame;
public class Tela_Inicial extends JFrame{
public Tela_Inicial() {
initTela();
}
public void initTela() {
setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
getContentPane().setBackground(new Color(22, 24, 32));
setMinimumSize(new Dimension(1807, 1036));
setResizable(false); // Impede de alterar tamanho da tela
setLocationRelativeTo(null); // Centro da tela
setVisible(true);
getContentPane().setLayout(null);
}
}
Tela_MIDI.class
package gui;
import java.awt.Color;
import java.awt.Dimension;
import javax.swing.JButton;
import javax.swing.JFrame;
public class Tela_MIDI extends JFrame{
public Tela_MIDI() {
initTela();
initTeclado();
setAllNotFocusable();
}
public void initTela() {
setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
getContentPane().setBackground(new Color(22, 24, 32));
setMinimumSize(new Dimension(1807, 1036));
setResizable(false); // Impede de alterar tamanho da tela
setLocationRelativeTo(null); // Centro da tela
setVisible(false);
getContentPane().setLayout(null);
}
public void initTeclado() {
getContentPane().add(Teclado.DoSus1);
getContentPane().add(Teclado.ReSus1);
getContentPane().add(Teclado.FaSus1);
getContentPane().add(Teclado.SolSus1);
getContentPane().add(Teclado.LaSus1);
getContentPane().add(Teclado.DoSus2);
getContentPane().add(Teclado.ReSus2);
getContentPane().add(Teclado.FaSus2);
getContentPane().add(Teclado.SolSus2);
getContentPane().add(Teclado.LaSus2);
getContentPane().add(Teclado.DoSus3);
getContentPane().add(Teclado.ReSus3);
getContentPane().add(Teclado.FaSus3);
getContentPane().add(Teclado.SolSus3);
getContentPane().add(Teclado.LaSus3);
getContentPane().add(Teclado.Do1);
getContentPane().add(Teclado.Re1);
getContentPane().add(Teclado.Mi1);
getContentPane().add(Teclado.Fa1);
getContentPane().add(Teclado.Sol1);
getContentPane().add(Teclado.La1);
getContentPane().add(Teclado.Si1);
getContentPane().add(Teclado.Do2);
getContentPane().add(Teclado.Re2);
getContentPane().add(Teclado.Mi2);
getContentPane().add(Teclado.Fa2);
getContentPane().add(Teclado.Sol2);
getContentPane().add(Teclado.La2);
getContentPane().add(Teclado.Si2);
getContentPane().add(Teclado.Do3);
getContentPane().add(Teclado.Re3);
getContentPane().add(Teclado.Mi3);
getContentPane().add(Teclado.Fa3);
getContentPane().add(Teclado.Sol3);
getContentPane().add(Teclado.La3);
getContentPane().add(Teclado.Si3);
getContentPane().add(Teclado.Do4);
}
private void setAllNotFocusable() {
JButton button[] = createJButtonArray();
for (int i = 0; i < button.length; i++) {
button[i].setFocusable(false);
}
}
public JButton[] createJButtonArray() {
JButton button[] = new JButton[37];
button[0] = Teclado.Do1;
button[1] = Teclado.DoSus1;
button[2] = Teclado.Re1;
button[3] = Teclado.ReSus1;
button[4] = Teclado.Mi1;
button[5] = Teclado.Fa1;
button[6] = Teclado.FaSus1;
button[7] = Teclado.Sol1;
button[8] = Teclado.SolSus1;
button[9] = Teclado.La1;
button[10] = Teclado.LaSus1;
button[11] = Teclado.Si1;
button[12] = Teclado.Do2;
button[13] = Teclado.DoSus2;
button[14] = Teclado.Re2;
button[15] = Teclado.ReSus2;
button[16] = Teclado.Mi2;
button[17] = Teclado.Fa2;
button[18] = Teclado.FaSus2;
button[19] = Teclado.Sol2;
button[20] = Teclado.SolSus2;
button[21] = Teclado.La2;
button[22] = Teclado.LaSus2;
button[23] = Teclado.Si2;
button[24] = Teclado.Do3;
button[25] = Teclado.DoSus3;
button[26] = Teclado.Re3;
button[27] = Teclado.ReSus3;
button[28] = Teclado.Mi3;
button[29] = Teclado.Fa3;
button[30] = Teclado.FaSus3;
button[31] = Teclado.Sol3;
button[32] = Teclado.SolSus3;
button[33] = Teclado.La3;
button[34] = Teclado.LaSus3;
button[35] = Teclado.Si3;
button[36] = Teclado.Do4;
return button;
}
}
Tela_Sintetizador.class
package gui;
import java.awt.Color;
import java.awt.Dimension;
import javax.swing.JButton;
import javax.swing.JFrame;
public class Tela_Sintetizador extends JFrame{
public Tela_Sintetizador() {
initTela();
initTeclado();
setAllNotFocusable();
}
public void initTela() {
setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
getContentPane().setBackground(new Color(22, 24, 32));
setMinimumSize(new Dimension(1807, 1036));
setResizable(false); // Impede de alterar tamanho da tela
setLocationRelativeTo(null); // Centro da tela
setVisible(false);
getContentPane().setLayout(null);
}
public void initTeclado() {
getContentPane().add(Teclado.DoSus1);
getContentPane().add(Teclado.ReSus1);
getContentPane().add(Teclado.FaSus1);
getContentPane().add(Teclado.SolSus1);
getContentPane().add(Teclado.LaSus1);
getContentPane().add(Teclado.DoSus2);
getContentPane().add(Teclado.ReSus2);
getContentPane().add(Teclado.FaSus2);
getContentPane().add(Teclado.SolSus2);
getContentPane().add(Teclado.LaSus2);
getContentPane().add(Teclado.DoSus3);
getContentPane().add(Teclado.ReSus3);
getContentPane().add(Teclado.FaSus3);
getContentPane().add(Teclado.SolSus3);
getContentPane().add(Teclado.LaSus3);
getContentPane().add(Teclado.Do1);
getContentPane().add(Teclado.Re1);
getContentPane().add(Teclado.Mi1);
getContentPane().add(Teclado.Fa1);
getContentPane().add(Teclado.Sol1);
getContentPane().add(Teclado.La1);
getContentPane().add(Teclado.Si1);
getContentPane().add(Teclado.Do2);
getContentPane().add(Teclado.Re2);
getContentPane().add(Teclado.Mi2);
getContentPane().add(Teclado.Fa2);
getContentPane().add(Teclado.Sol2);
getContentPane().add(Teclado.La2);
getContentPane().add(Teclado.Si2);
getContentPane().add(Teclado.Do3);
getContentPane().add(Teclado.Re3);
getContentPane().add(Teclado.Mi3);
getContentPane().add(Teclado.Fa3);
getContentPane().add(Teclado.Sol3);
getContentPane().add(Teclado.La3);
getContentPane().add(Teclado.Si3);
getContentPane().add(Teclado.Do4);
}
private void setAllNotFocusable() {
JButton button[] = createJButtonArray();
for (int i = 0; i < button.length; i++) {
button[i].setFocusable(false);
}
}
public JButton[] createJButtonArray() {
JButton button[] = new JButton[37];
button[0] = Teclado.Do1;
button[1] = Teclado.DoSus1;
button[2] = Teclado.Re1;
button[3] = Teclado.ReSus1;
button[4] = Teclado.Mi1;
button[5] = Teclado.Fa1;
button[6] = Teclado.FaSus1;
button[7] = Teclado.Sol1;
button[8] = Teclado.SolSus1;
button[9] = Teclado.La1;
button[10] = Teclado.LaSus1;
button[11] = Teclado.Si1;
button[12] = Teclado.Do2;
button[13] = Teclado.DoSus2;
button[14] = Teclado.Re2;
button[15] = Teclado.ReSus2;
button[16] = Teclado.Mi2;
button[17] = Teclado.Fa2;
button[18] = Teclado.FaSus2;
button[19] = Teclado.Sol2;
button[20] = Teclado.SolSus2;
button[21] = Teclado.La2;
button[22] = Teclado.LaSus2;
button[23] = Teclado.Si2;
button[24] = Teclado.Do3;
button[25] = Teclado.DoSus3;
button[26] = Teclado.Re3;
button[27] = Teclado.ReSus3;
button[28] = Teclado.Mi3;
button[29] = Teclado.Fa3;
button[30] = Teclado.FaSus3;
button[31] = Teclado.Sol3;
button[32] = Teclado.SolSus3;
button[33] = Teclado.La3;
button[34] = Teclado.LaSus3;
button[35] = Teclado.Si3;
button[36] = Teclado.Do4;
return button;
}
}
Teclado.class
package gui;
import javax.swing.Icon;
import javax.swing.ImageIcon;
import javax.swing.JButton;
public class Teclado{
public static JButton Do1;
public static JButton Do2;
public static JButton Do3;
public static JButton Do4;
public static JButton DoSus1;
public static JButton DoSus2;
public static JButton DoSus3;
public static JButton Fa1;
public static JButton Fa2;
public static JButton Fa3;
public static JButton FaSus1;
public static JButton FaSus2;
public static JButton FaSus3;
public static JButton La1;
public static JButton La2;
public static JButton La3;
public static JButton LaSus1;
public static JButton LaSus2;
public static JButton LaSus3;
public static JButton Mi1;
public static JButton Mi2;
public static JButton Mi3;
public static JButton Re1;
public static JButton Re2;
public static JButton Re3;
public static JButton ReSus1;
public static JButton ReSus2;
public static JButton ReSus3;
public static JButton Si1;
public static JButton Si2;
public static JButton Si3;
public static JButton Sol1;
public static JButton Sol2;
public static JButton Sol3;
public static JButton SolSus1;
public static JButton SolSus2;
public static JButton SolSus3;
private Icon icone;
public Teclado() {
DoSus1 = new JButton();
ReSus1 = new JButton();
FaSus1 = new JButton();
SolSus1 = new JButton();
LaSus1 = new JButton();
Do1 = new JButton();
Re1 = new JButton();
Mi1 = new JButton();
Fa1 = new JButton();
Sol1 = new JButton();
La1 = new JButton();
Si1 = new JButton();
DoSus2 = new JButton();
ReSus2 = new JButton();
FaSus2 = new JButton();
SolSus2 = new JButton();
LaSus2 = new JButton();
Do2 = new JButton();
Re2 = new JButton();
Mi2 = new JButton();
Fa2 = new JButton();
Sol2 = new JButton();
La2 = new JButton();
Si2 = new JButton();
DoSus3 = new JButton();
ReSus3 = new JButton();
FaSus3 = new JButton();
SolSus3 = new JButton();
LaSus3 = new JButton();
Do3 = new JButton();
Re3 = new JButton();
Mi3 = new JButton();
Fa3 = new JButton();
Sol3 = new JButton();
La3 = new JButton();
Si3 = new JButton();
Do4 = new JButton();
icone = new ImageIcon("src/1.jpg");
DoSus1.setIcon(icone);
DoSus1.setBounds(120, 602, 45, 215);
ReSus1.setIcon(icone);
ReSus1.setBounds(215, 602, 45, 215);
FaSus1.setIcon(icone);
FaSus1.setBounds(340, 602, 45, 215);
SolSus1.setIcon(icone);
SolSus1.setBounds(427, 602, 46, 215);
LaSus1.setIcon(icone);
LaSus1.setBounds(515, 602, 45, 215);
DoSus2.setIcon(icone);
DoSus2.setBounds(640, 602, 45, 215);
ReSus2.setIcon(icone);
ReSus2.setBounds(740, 602, 45, 215);
FaSus2.setIcon(icone);
FaSus2.setBounds(865, 602, 45, 215);
SolSus2.setIcon(icone);
SolSus2.setBounds(952, 602, 45, 215);
LaSus2.setIcon(icone);
LaSus2.setBounds(1040, 602, 45, 215);
DoSus3.setIcon(icone);
DoSus3.setBounds(1165, 602, 45, 215);
ReSus3.setIcon(icone);
ReSus3.setBounds(1265, 602, 45, 215);
FaSus3.setIcon(icone);
FaSus3.setBounds(1390, 602, 45, 215);
SolSus3.setIcon(icone);
SolSus3.setBounds(1477, 602, 45, 215);
LaSus3.setIcon(icone);
LaSus3.setBounds(1565, 602, 45, 215);
icone = new ImageIcon("src/2.png");
Do1.setIcon(icone);
Do1.setBounds(75, 602, 75, 350);
Re1.setIcon(icone);
Re1.setBounds(150, 602, 75, 350);
Mi1.setIcon(icone);
Mi1.setBounds(225, 602, 75, 350);
Fa1.setIcon(icone);
Fa1.setBounds(300, 602, 75, 350);
Sol1.setIcon(icone);
Sol1.setBounds(375, 602, 75, 350);
La1.setIcon(icone);
La1.setBounds(450, 602, 75, 350);
Si1.setIcon(icone);
Si1.setBounds(525, 602, 75, 350);
Do2.setIcon(icone);
Do2.setBounds(600, 602, 75, 350);
Re2.setIcon(icone);
Re2.setBounds(675, 602, 75, 350);
Mi2.setIcon(icone);
Mi2.setBounds(750, 602, 75, 350);
Fa2.setIcon(icone);
Fa2.setBounds(825, 602, 75, 350);
Sol2.setIcon(icone);
Sol2.setBounds(900, 602, 75, 350);
La2.setIcon(icone);
La2.setBounds(975, 602, 75, 350);
Si2.setIcon(icone);
Si2.setBounds(1050, 602, 75, 350);
Do3.setIcon(icone);
Do3.setBounds(1125, 602, 75, 350);
Re3.setIcon(icone);
Re3.setBounds(1200, 602, 75, 350);
Mi3.setIcon(icone);
Mi3.setBounds(1275, 602, 75, 350);
Fa3.setIcon(icone);
Fa3.setBounds(1350, 602, 75, 350);
Sol3.setIcon(icone);
Sol3.setBounds(1425, 602, 75, 350);
La3.setIcon(icone);
La3.setBounds(1500, 602, 75, 350);
Si3.setIcon(icone);
Si3.setBounds(1575, 602, 75, 350);
Do4.setIcon(icone);
Do4.setBounds(1650, 602, 75, 350);
}
}