Olá pessoal! preciso da ajuda de vocês. Estou acostumado a clicar num botão e abrir um frame. Agora queria abrir uma classe sem interface gráfica (principal1), abaixo. Clico no botão, (na classe Rel1) mas não consigo abrir a classe principal1, que acessa outras classes, para abrir um relatorio . Por favor, qual a diferença de abrir um frame e uma classe sem interface gráfica?
//Interface de acesso à classe 'principal' (abaixo)
import javax.swing.*;
import javax.swing.border.*;
import javax.swing.event.*;
import java.awt.*;
import java.awt.event.*;
import java.sql.*;
import javax.swing.text.*;
import java.util.*;
import java.text.*;
public class Rel1 extends JFrame implements ActionListener
{
private Container c;
private JLabel lTit;
private JButton bSair, bRel;
public Rel1()
{
super("Relatorios");
c = getContentPane();
c.setLayout(null);
lTit = new JLabel("Relatorio",JLabel.CENTER);
lTit.setOpaque(true);
bSair = new JButton("Sair");
bSair.setBorder(new javax.swing.border.LineBorder(new java.awt.Color(0, 0, 0)));
bRel = new JButton("Abrir relatorio");
bRel.setBorder(new javax.swing.border.LineBorder(new java.awt.Color(0, 0, 0)));
c.add(lTit);
c.add(bRel);
c.add(bSair);
lTit.setBounds(20,5,210,30);
bSair.setBounds(140,50,90,20);
bRel.setBounds(20,50,90,20);
bSair.addActionListener(this);
bRel.addActionListener(this);
setSize(260,120);
setVisible(true);
setResizable(true);
setDefaultCloseOperation(javax.swing.WindowConstants.DO_NOTHING_ON_CLOSE);
}
public void actionPerformed(ActionEvent evt)
{
if(evt.getSource()==bRel)
{
principal1 p = new principal1();
}
}
public static void main (String args[])
{
Rel1 rels = new Rel1();
}
}
import javax.swing.JOptionPane;
import net.sf.jasperreports.engine.JRException;
import net.sf.jasperreports.engine.JasperPrint;
import net.sf.jasperreports.view.JasperViewer;
public class principal1 {
public static void main(String[] args) throws JRException {
repositorioProduto rep = new repositorioProduto();
JasperPrint relat;
//Insere mais um produto e exibe o relatorio
// String desc = JOptionPane.showInputDialog("Descrição do produto: ");
// double valor = Double.parseDouble(JOptionPane.showInputDialog("Valor: "));
// produto prod = new produto(desc,valor);
try {
// rep.inserir(prod);
relat = rep.gerar();
JasperViewer.viewReport(relat, false);
} catch (ExcRepositorio e) {
JOptionPane.showMessageDialog(null, "Erro:(1) " + e.getMessage());
}
}
}