Tente chamar o método repaint() do JPanel após o setBounds() do botão:
JButton botao = new JButton("SAIR");
botao.setBounds(1115,130,60,30);
this.repaint();
ViniGodoy
Seu painel tem coordenadas de x maiores que 1115???
O
OCTAVIO
Então tnaires, eu coloquei o repaint e não deu certo.
Até pq eu add o botão logo no construtor.
Vini, eu não defino o tamanho do painel.
Eu add o panel em uma aba do JTabbedPane.
Depois add o JTabbedPane em um JScrollPanel.
Por fim, add o scrollpane no frame.
privatevoidinitComponents(){//crio o mainPanelprivatejavax.swing.JPanelmainPanel;//crio o objeto da minha classe que extends JPainel (que está dando problema)publicstaticJFlipPanelm_FLIPPAINEL=newJFlipPanel();JTabbedPanetabs=newJTabbedPane();//adiciono minhas classes JPainel no JTabbedPanetabs.addTab("Selecionar",m_TELASELECIONA);tabs.addTab("Navegar/Cadastrar",m_FLIPPAINEL);tabs.addTab("Segmentar",imageLabelJornal);scrollPane.setViewportView(tabs);org.jdesktop.layout.GroupLayoutmainPanelLayout=neworg.jdesktop.layout.GroupLayout(mainPanel);mainPanelLayout.setHorizontalGroup(mainPanelLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING).add(scrollPane,org.jdesktop.layout.GroupLayout.DEFAULT_SIZE,549,Short.MAX_VALUE));mainPanelLayout.setVerticalGroup(mainPanelLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING).add(scrollPane,org.jdesktop.layout.GroupLayout.DEFAULT_SIZE,320,Short.MAX_VALUE));}
Onde será que está o problema?
ViniGodoy
Você não define o tamanho do panel, mas está pedindo para seu JButton se desenhar a partir da coordenada 1115. Se seu painel for menor que isso, o botão estará desenhado fora da área visível do painel, e, portanto, não aparecerá.
Sugestão: Pare de usar setBounds e aprenda a trabalhar com layout managers. Além de evitar erros como esse, ele ainda tornará sua aplicação redimensionável e mais resistente à mudanças de plataforma.
O
OCTAVIO
Entendi.
Vc tem algum exemplo de layout managers Vini?