galera meu código ta rodando, mas não to conseguindo passar os painéis. Eu quero por os painéis PainelKey dentro do painel jP_folhaA4, através do botão da tela TelaRegistroKey. podem me ajudar.
package br.com.CETT_Telas;
import ClassesApoio.PainelKey;
import java.awt.BorderLayout;
import planosDeFundo.PlanoDeFundo;
public class TelaRegistroKey extends javax.swing.JFrame {
private PlanoDeFundo planoDeFundo;
private String caminhoIMG = "/res/bk/bk00.png";
// referencias
private int indexColuna;
private int[] contColuna = new int[7]; //24 playes 7 colunas
public PainelKey PainelKey;
public TelaPrincipal telaPrincipal;
public TelaRegistroKey(TelaPrincipal telaPrincipal) {
initComponents();
setLocationRelativeTo(null);
construtorTela();
this.telaPrincipal = telaPrincipal;
}
@SuppressWarnings("unchecked")
// <editor-fold defaultstate="collapsed" desc="Generated Code">
private void initComponents() {
jl_bk = new javax.swing.JPanel();
txtF_dadosP1 = new javax.swing.JTextField();
lbl_Info1 = new javax.swing.JLabel();
txtF_nomeP1 = new javax.swing.JTextField();
txtF_dadosP2 = new javax.swing.JTextField();
txtF_nomeP2 = new javax.swing.JTextField();
jLabel1 = new javax.swing.JLabel();
btn_adicionarKey = new javax.swing.JButton();
setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE);
setTitle("Registar Atletas");
jl_bk.setBackground(new java.awt.Color(102, 102, 102));
jl_bk.setPreferredSize(new java.awt.Dimension(915, 460));
jl_bk.setRequestFocusEnabled(false);
txtF_dadosP1.setFont(new java.awt.Font("Segoe UI", 0, 36)); // NOI18N
txtF_dadosP1.setText("ex: Escola");
txtF_dadosP1.setToolTipText("");
txtF_dadosP1.setName(""); // NOI18N
lbl_Info1.setBackground(new java.awt.Color(0, 0, 0));
lbl_Info1.setFont(new java.awt.Font("Swis721 Blk BT", 0, 36)); // NOI18N
lbl_Info1.setForeground(new java.awt.Color(255, 255, 255));
lbl_Info1.setText("Registro de Chaves: 00 de 12");
lbl_Info1.setOpaque(true);
txtF_nomeP1.setFont(new java.awt.Font("Segoe UI", 0, 36)); // NOI18N
txtF_nomeP1.setText("Atleta A");
txtF_nomeP1.setToolTipText("");
txtF_nomeP1.setName(""); // NOI18N
txtF_dadosP2.setFont(new java.awt.Font("Segoe UI", 0, 36)); // NOI18N
txtF_dadosP2.setText("ex: Escola");
txtF_dadosP2.setToolTipText("");
txtF_dadosP2.setName(""); // NOI18N
txtF_nomeP2.setFont(new java.awt.Font("Segoe UI", 0, 36)); // NOI18N
txtF_nomeP2.setText("Atleta B");
txtF_nomeP2.setToolTipText("");
txtF_nomeP2.setName(""); // NOI18N
jLabel1.setFont(new java.awt.Font("Segoe UI", 1, 70)); // NOI18N
jLabel1.setText("X");
btn_adicionarKey.setFont(new java.awt.Font("Segoe UI", 0, 48)); // NOI18N
btn_adicionarKey.setText("ADD");
btn_adicionarKey.setToolTipText("");
btn_adicionarKey.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
btn_adicionarKeyActionPerformed(evt);
}
});
javax.swing.GroupLayout jl_bkLayout = new javax.swing.GroupLayout(jl_bk);
jl_bk.setLayout(jl_bkLayout);
jl_bkLayout.setHorizontalGroup(
jl_bkLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jl_bkLayout.createSequentialGroup()
.addGap(18, 18, 18)
.addGroup(jl_bkLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(txtF_nomeP2, javax.swing.GroupLayout.PREFERRED_SIZE, 735, javax.swing.GroupLayout.PREFERRED_SIZE)
.addGroup(jl_bkLayout.createSequentialGroup()
.addGroup(jl_bkLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(txtF_nomeP1, javax.swing.GroupLayout.PREFERRED_SIZE, 735, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(txtF_dadosP2, javax.swing.GroupLayout.PREFERRED_SIZE, 735, javax.swing.GroupLayout.PREFERRED_SIZE)
.addGroup(jl_bkLayout.createSequentialGroup()
.addGap(353, 353, 353)
.addComponent(jLabel1)))
.addGap(18, 18, 18)
.addComponent(btn_adicionarKey, javax.swing.GroupLayout.PREFERRED_SIZE, 139, javax.swing.GroupLayout.PREFERRED_SIZE))
.addGroup(jl_bkLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING, false)
.addComponent(lbl_Info1, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, 735, Short.MAX_VALUE)
.addComponent(txtF_dadosP1, javax.swing.GroupLayout.Alignment.LEADING)))
.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
);
jl_bkLayout.setVerticalGroup(
jl_bkLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jl_bkLayout.createSequentialGroup()
.addGap(27, 27, 27)
.addComponent(lbl_Info1)
.addGap(37, 37, 37)
.addComponent(txtF_dadosP1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addGroup(jl_bkLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jl_bkLayout.createSequentialGroup()
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(txtF_nomeP1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(jLabel1, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(txtF_dadosP2, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED))
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jl_bkLayout.createSequentialGroup()
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(btn_adicionarKey, javax.swing.GroupLayout.PREFERRED_SIZE, 167, javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(45, 45, 45)))
.addComponent(txtF_nomeP2, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(19, 19, 19))
);
javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
getContentPane().setLayout(layout);
layout.setHorizontalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addContainerGap()
.addComponent(jl_bk, javax.swing.GroupLayout.DEFAULT_SIZE, 916, Short.MAX_VALUE)
.addContainerGap())
);
layout.setVerticalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addComponent(jl_bk, javax.swing.GroupLayout.DEFAULT_SIZE, 461, Short.MAX_VALUE)
.addContainerGap())
);
pack();
}// </editor-fold>
public String lblDadosPA;
private void btn_adicionarKeyActionPerformed(java.awt.event.ActionEvent evt) {
lblDadosPA = txtF_dadosP1.getText();
addPaineis();
}
public static void main(String args[]) {
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
}
});
}
// Variables declaration - do not modify
private javax.swing.JButton btn_adicionarKey;
private javax.swing.JLabel jLabel1;
private javax.swing.JPanel jl_bk;
private javax.swing.JLabel lbl_Info1;
private javax.swing.JTextField txtF_dadosP1;
private javax.swing.JTextField txtF_dadosP2;
private javax.swing.JTextField txtF_nomeP1;
private javax.swing.JTextField txtF_nomeP2;
// End of variables declaration
public void construtorTela() {
// alt shift F indentaçao
pladoFundo();
}
public void pladoFundo() {
planoDeFundo = new PlanoDeFundo(caminhoIMG);
// comoe planode fundoe melhor que cubra toda a areaem x de umleyout null
jl_bk.setLayout(new BorderLayout());
jl_bk.add(planoDeFundo, BorderLayout.CENTER);
planoDeFundo.setBounds(0, 0, planoDeFundo.getImagemLargura(), planoDeFundo.getImagemAltura());
jl_bk.add(planoDeFundo);
}
public void addPaineis() {
int paIndex = 280 + 150; // base vertical
int x = 340;
int width = 150;
int height = 75;
int spacing = 170;
if (contColuna[0] <= 24) {
int pa = paIndex + indexColuna * spacing;
telaPrincipal.jP_folhaA4.add(new PainelKey(x, width, height, pa, ""));
telaPrincipal.jP_folhaA4.repaint();
telaPrincipal.jP_folhaA4.revalidate();
indexColuna++;
}
}
}
package br.com.CETT_Telas;
import ClassesApoio.PainelKey;
import java.awt.BorderLayout;
import planosDeFundo.PlanoDeFundo;
public class TelaPrincipal extends javax.swing.JFrame {
// private PainelKey painelKey = new PainelKey();
public TelaPrincipal() {
initComponents();
setLocationRelativeTo(null);
}
@SuppressWarnings("unchecked")
// <editor-fold defaultstate="collapsed" desc="Generated Code">
private void initComponents() {
jPanel1 = new javax.swing.JPanel();
jScrollPane1 = new javax.swing.JScrollPane();
jP_folhaA4 = new javax.swing.JPanel();
btn_addKey = new javax.swing.JButton();
setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
setTitle("'");
setPreferredSize(new java.awt.Dimension(1295, 730));
jPanel1.setBackground(new java.awt.Color(0, 0, 0));
jP_folhaA4.setBackground(new java.awt.Color(204, 204, 204));
jP_folhaA4.setPreferredSize(new java.awt.Dimension(3508, 2480));
javax.swing.GroupLayout jP_folhaA4Layout = new javax.swing.GroupLayout(jP_folhaA4);
jP_folhaA4.setLayout(jP_folhaA4Layout);
jP_folhaA4Layout.setHorizontalGroup(
jP_folhaA4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGap(0, 3508, Short.MAX_VALUE)
);
jP_folhaA4Layout.setVerticalGroup(
jP_folhaA4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGap(0, 2480, Short.MAX_VALUE)
);
jScrollPane1.setViewportView(jP_folhaA4);
btn_addKey.setBackground(new java.awt.Color(0, 204, 255));
btn_addKey.setFont(new java.awt.Font("Segoe UI", 1, 24)); // NOI18N
btn_addKey.setForeground(new java.awt.Color(0, 0, 0));
btn_addKey.setText("EDIT");
btn_addKey.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
btn_addKeyActionPerformed(evt);
}
});
javax.swing.GroupLayout jPanel1Layout = new javax.swing.GroupLayout(jPanel1);
jPanel1.setLayout(jPanel1Layout);
jPanel1Layout.setHorizontalGroup(
jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel1Layout.createSequentialGroup()
.addContainerGap()
.addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 1115, javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(38, 38, 38)
.addComponent(btn_addKey, javax.swing.GroupLayout.PREFERRED_SIZE, 87, javax.swing.GroupLayout.PREFERRED_SIZE)
.addContainerGap(37, Short.MAX_VALUE))
);
jPanel1Layout.setVerticalGroup(
jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel1Layout.createSequentialGroup()
.addContainerGap()
.addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 0, Short.MAX_VALUE)
.addContainerGap())
.addGroup(jPanel1Layout.createSequentialGroup()
.addGap(46, 46, 46)
.addComponent(btn_addKey, javax.swing.GroupLayout.PREFERRED_SIZE, 83, javax.swing.GroupLayout.PREFERRED_SIZE)
.addContainerGap(589, Short.MAX_VALUE))
);
javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
getContentPane().setLayout(layout);
layout.setHorizontalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addContainerGap()
.addComponent(jPanel1, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addContainerGap())
);
layout.setVerticalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addContainerGap()
.addComponent(jPanel1, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addContainerGap())
);
pack();
}// </editor-fold>
private void btn_addKeyActionPerformed(java.awt.event.ActionEvent evt) {
TelaRegistroKey registroKey = new TelaRegistroKey(this); // dentro da TelaPrincipal
registroKey.setVisible(true);
}
public static void main(String args[]) {
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
new TelaPrincipal().setVisible(true);
}
});
}
// Variables declaration - do not modify
private javax.swing.JButton btn_addKey;
public javax.swing.JPanel jP_folhaA4;
private javax.swing.JPanel jPanel1;
private javax.swing.JScrollPane jScrollPane1;
// End of variables declaration
public void construtorTela() {
pladoFundo();
}
public void pladoFundo() {
}
}
package ClassesApoio;
import java.awt.Color;
import java.awt.Graphics;
import java.awt.image.BufferedImage;
import java.io.IOException;
import java.io.InputStream;
import javax.imageio.ImageIO;
import javax.swing.JPanel;
public class PainelKey extends JPanel {
private BufferedImage bufferIMG_PainelKey;
public int painelKeyX = 340; // base inicial do tamanho em x
public int painelKeyY = 150;
public int posPanelKeyX;
public int posPanelKeyY;
//
public String dados_PlayA = new String();
//apagar
//public JLabel dados_PlayA = new JLabel();
//public JLabel nome_PlayA = new JLabel();
//public JLabel nome_PlayB = new JLabel();
//public JLabel dados_PlayB = new JLabel();
public PainelKey(int painelKeyX, int painelKeyY, int posPanelKeyX, int posPanelKeyY,
String dados_PlayA) {
this.painelKeyX = painelKeyX;
this.painelKeyY = painelKeyY;
this.posPanelKeyX = posPanelKeyX;
this.posPanelKeyY = posPanelKeyY;
}
public void definirImagem() {
try {
InputStream is = getClass().getResourceAsStream(""); // por enquanto null
if (is != null) {
BufferedImage original = ImageIO.read(is);
BufferedImage redimensionada = new BufferedImage(painelKeyX, painelKeyY, BufferedImage.TYPE_INT_ARGB);
Graphics g = redimensionada.createGraphics();
g.drawImage(original, 0, 0, painelKeyX, painelKeyY, null);
g.dispose();
bufferIMG_PainelKey = redimensionada;
// Também ajusta o tamanho do painel para o novo tamanho da imagem
this.setPreferredSize(new java.awt.Dimension(painelKeyX, painelKeyY));
this.setSize(painelKeyX, painelKeyY);
} else {
System.err.println("Imagem não encontrada");
}
} catch (IOException e) {
e.printStackTrace();
}
}
@Override
protected void paintComponent(Graphics g) {
super.paintComponent(g);
g.setColor(Color.red);
g.fillRect(0, 0, getWidth(), getHeight());
if (bufferIMG_PainelKey != null) {
g.drawImage(bufferIMG_PainelKey, 0, 0, getWidth(), getHeight(), this);
}
}
}