Imprimir apenas o que for selecionado na jTable, é possivel?

16 respostas
IgorMag

Fala galera, venho com uma dúvida, procurei bastante na internet, mas não achei nada concreto sobre o assunto.

Na imagem, tenho minha jTable com algumas informações inseridas, gostaria de saber se consigo um código para quando eu selecionar as linhas como na imagem e clicar na imagem da impressora, eu consiga fazer a impressão dessas informações. É possível?

Jeito que eu consigo fazer hoje, eu insiro essas informações e clico no botão adicionar, essas informações vão para o banco de dados e quando eu clico na impressora abre a tela de impressão(Estou usando o iReport pra isso), só que ai eu preciso ficar achando as informações e imprimindo uma por uma, então acaba não sendo prático.

Meu objetivo é selecionar as informações inseridas e conseguir fazer a impressão prática delas, sem fazer busca ou algo do tipo. Obrigado desde já.

Com esse código aqui consigo puxar a impressora quando eu clico no botão, porém não estou conseguindo fazer a impressão, não chega a informação na impressora, logo não sei se o código está funcionando:

String[] colunas = new String[]{“lista”, “dat”, “pep”, “listec”, “item”, “material”, “txtbre”, “qtde”, “um”, “rncrm”, “necob”, “natnf”, “local”, “pepaux”, “projeto”};

String[][] dados = new String[15][15];
    int dados1 = 0;
    int dados2 = 0;
    dados = new String[dados1][dados2];

    DefaultTableModel dtm = new DefaultTableModel(dados, colunas);
    JTable tabela = new javax.swing.JTable(dtm);
    tabela.setAutoCreateRowSorter(true);
    tabela.setRowSelectionAllowed(true);
    tabela.setSelectionMode(ListSelectionModel.MULTIPLE_INTERVAL_SELECTION);

16 Respostas

E

Ola. Mostra o trecho do código onde você tenta capturar as linhas selecionadas da tabela pra gente ver.

Obs. Você vai ter vários problemas com DefaultTableModel , é muito recomendado criar seu próprio modelo de tabela.

IgorMag

Esse é o código que uso para adicionar no BD.

private void adicionar() {

String sql = "insert into tblgem(lista,dat,pep,listec,item,material,txtbre,qtde,um,rncrm,necob,natnf,local,pepaux,projeto) values(?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)";
    try {
        pst = conexao.prepareStatement(sql);

        pst.setString(1, jTable1.getValueAt(jTable1.getSelectedRow(), 0).toString());
        pst.setString(2, jTable1.getValueAt(jTable1.getSelectedRow(), 1).toString());
        pst.setString(3, jTable1.getValueAt(jTable1.getSelectedRow(), 2).toString());
        pst.setString(4, jTable1.getValueAt(jTable1.getSelectedRow(), 3).toString());
        pst.setString(5, jTable1.getValueAt(jTable1.getSelectedRow(), 4).toString());
        pst.setString(6, jTable1.getValueAt(jTable1.getSelectedRow(), 5).toString());
        pst.setString(7, jTable1.getValueAt(jTable1.getSelectedRow(), 6).toString());
        pst.setString(8, jTable1.getValueAt(jTable1.getSelectedRow(), 7).toString());
        pst.setString(9, jTable1.getValueAt(jTable1.getSelectedRow(), 8).toString());
        pst.setString(10, jTable1.getValueAt(jTable1.getSelectedRow(), 9).toString());
        pst.setString(11, jTable1.getValueAt(jTable1.getSelectedRow(), 10).toString());
        pst.setString(12, jTable1.getValueAt(jTable1.getSelectedRow(), 11).toString());
        pst.setString(13, jTable1.getValueAt(jTable1.getSelectedRow(), 12).toString());
        pst.setString(14, jTable1.getValueAt(jTable1.getSelectedRow(), 13).toString());
        pst.setString(15, jTable1.getValueAt(jTable1.getSelectedRow(), 14).toString());

        int adicionado = pst.executeUpdate();

        if (adicionado > 0) {
            JOptionPane.showMessageDialog(null, "Requisições adicionadas com sucesso!");
        }

    } catch (Exception e) {
        JOptionPane.showMessageDialog(null, e);
    }
}

O código que eu citei acima, é o que foi mais próximo do que eu achei, como disse, estou sem idéias

E

Pra ficar mais claro só falta vc mostrar o cód que vc chama quando clica no botão impressora. É lá que a captura dos dados da tabela acontece.

IgorMag

Ah sim entendi, bom tem 2 códigos pq eu criei um botão novo e tentei colocar esse código acima nele. ele chega abrir a opção de impressão mas não faz contato com a impressora, logo não sei se está funcionando. Segue o código abaixo:
// método de impressao do que tiver selecionado

String[] colunas = new String[]{"lista", "dat", "pep", "listec", "item", "material", "txtbre", "qtde", "um", "rncrm", "necob", "natnf", "local", "pepaux", "projeto"};

    String[][] dados = new String[15][15];
    int dados1 = 0;
    int dados2 = 0;
    dados = new String[dados1][dados2];

    DefaultTableModel dtm = new DefaultTableModel(dados, colunas);
    JTable tabela = new javax.swing.JTable(dtm);
    tabela.setAutoCreateRowSorter(true);
    tabela.setRowSelectionAllowed(true);
    tabela.setSelectionMode(ListSelectionModel.MULTIPLE_INTERVAL_SELECTION);
// instrução para imprimir a tabela

try {

tabela.print();

} catch (PrinterException ex) {

}

}

Agora esse código FUNCIONA, e é o da impressora, só que ele pega tudo que está dentro do banco de dados, e não só o que está na jTable que é o meu objetivo, segue:

// gerando impressão

int confirma = JOptionPane.showConfirmDialog(null, Confirma a impressão?”, Atenção, JOptionPane.YES_NO_OPTION);

if (confirma == JOptionPane.YES_OPTION);

{

//imprimindo relatório

try {

// usando a classe JasperPrint para preparar a impressao de um relatório

JasperPrint print = JasperFillManager.fillReport(C:/reports/report4.jasper, null, conexao);

// a linha abaixo exibe o relatório através da classe JasperViewer

JasperViewer.viewReport(print, false);

} catch (Exception e) {

JOptionPane.showMessageDialog(null, e);

}

}

}
E

Olá.
fiz um exemplo muuuito simples de como pegar os dados da tabela somente das linhas selecionadas. veja se te ajuda. coloque o codigo na sua ide e rode pra ver o funcionamento.

import java.awt.EventQueue;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.table.DefaultTableModel;

public class TableExample {
public static void main(String[] args) {
	// Use the event dispatch thread for Swing components
	EventQueue.invokeLater(new Runnable() {
		@Override
		public void run() {
			new TableExample().BuildGUI();
		}
	});
}

private JTable tabela;

public void BuildGUI() {
	JFrame f = new JFrame();
	f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
	f.setTitle("Creating a Table Example");
	f.setSize(700, 860);
	f.setLocationRelativeTo(null);

	Object[][]			data			= { { 1, 1, 1 }, { 2, 2, 2 }, { 3, 3, 3 }, { 4, 4, 4 } };
	String[]			columnNames		= { "Column 1", "Column 2", "Column 3" };
	DefaultTableModel	defTableModel	= new DefaultTableModel(data, columnNames);
	tabela = new JTable(defTableModel);

	JScrollPane sp = new JScrollPane(tabela);
	sp.setBounds(10, 11, 684, 190);

	Object[] newData = { 1, 2, 3, 4 };
	defTableModel.addColumn("Column 4", newData);

	Object[] newRowData = { 5, 5, 5, 5 };
	defTableModel.addRow(newRowData);

	Object[] insertRowData = { 2.5, 2.5, 2.5, 2.5 };
	defTableModel.insertRow(2, insertRowData);

	defTableModel.setValueAt(8888, 3, 2);
	f.getContentPane().setLayout(null);
	f.getContentPane().add(sp);

	JButton btnNewButton = new JButton("BOTAO PARA CAPTURAR DADOS DA TABELA");
	btnNewButton.addActionListener(new ActionListener() {
		public void actionPerformed(ActionEvent arg0) {
			int[] linhasselecionadas= tabela.getSelectedRows();
			for (int i = 0; i < linhasselecionadas.length; i++) {
				System.out.println(linhasselecionadas[i]);
				Object teste = 
      tabela.getValueAt(linhasselecionadas[i], 1);
				System.out.println("Valor capturado:" + teste);
			}
		}
	});
	btnNewButton.setBounds(10, 239, 89, 23);
	f.getContentPane().add(btnNewButton);
	f.setVisible(true);
}
 }
IgorMag

Bom dia! Desculpe a demora pra responder.

Então, eu sou iniciante ainda, tem como você me explicar melhor como farei pra utilizar o código? Coloquei ele dentro de uma Classe Java, ta tudo certo com o código não apareceu nenhum erro. Mas agora pra eu chamar ele pro meu botão? Por exemplo, eu deveria ter colado ele no ActionPerformed? E outra não vi nada relacionado a impressão dentro desse código, eu vou conseguir mandar ele pra impressão sem setar meu Ireport por exemplo?

*Objetivo: Mandar para impressão só os itens que eu selecionar no JTable.

E

Olá.
No meu exemplo eu mostro como vc pode fazer pra pegar os dados na sua tabela. É apenas um exemplo do que vc poder fazer.
A tabela no Java é como se fosse uma planilha do Excel onde para que você consiga imprimir os dados de linhas específicas você tem que criar um laço percorrer sua tabela e pegar o índice das linhas selecionadas para somente então gerar a informação para a impressão.
Para ajudar melhor , preciso colocar seu projeto no eclipse pra entender melhor a necessidade e tentar sugerir ajustes. Se não houver problema pra você compartilhar todo o projeto poste todas as classes do projeto que ajusto nele e comento o fonte pra você entender.

IgorMag

Boa tarde!

Entendi, mas essas alterações vão dar certo no Netbeans? por que estou usando ele.

Postarei todas as classes, inclusive a que fiz com suas informações então, obrigado pela ajuda.

ExcelAdapter :

package br.com.gem.dal;

import java.awt.<em>;

import java.awt.event.</em>;

import javax.swing.<em>;

import java.awt.datatransfer.</em>;

import java.util.*;

/**

  • ExcelAdapter enables Copy-Paste Clipboard functionality on JTables. The
  • clipboard data format used by the adapter is compatible with the clipboard
  • format used by Excel. This provides for clipboard interoperability between
  • enabled JTables and Excel.
    */

/**
*

  • @author 212815039
    */
    public class ExcelAdapter implements ActionListener {

    private String rowstring, value;
    
    private Clipboard system;
    
    private StringSelection stsel;
    
    private JTable jTable1;
    

    /**

    • The Excel Adapter is constructed with a JTable on which it enables
    • Copy-Paste and acts as a Clipboard listener.
      */
      public ExcelAdapter(JTable myJTable) {
      jTable1 = myJTable;
      KeyStroke copy = KeyStroke.getKeyStroke(KeyEvent.VK_C, ActionEvent.CTRL_MASK, false);
      // Identifying the copy KeyStroke user can modify this
      // to copy on some other Key combination.
      KeyStroke paste = KeyStroke.getKeyStroke(KeyEvent.VK_V, ActionEvent.CTRL_MASK, false);
      // Identifying the Paste KeyStroke user can modify this
      //to copy on some other Key combination.
      jTable1.registerKeyboardAction(this, “Copy”, copy, JComponent.WHEN_FOCUSED);
      jTable1.registerKeyboardAction(this, “Paste”, paste, JComponent.WHEN_FOCUSED);
      system = Toolkit.getDefaultToolkit().getSystemClipboard();
      }

    /**

    • Public Accessor methods for the Table on which this adapter acts.
      */
      public JTable getJTable() {
      return jTable1;
      }
    public void setJTable(JTable jTable1) {
    
    this.jTable1 = jTable1;
    
    }
    

    /**

    • This method is activated on the Keystrokes we are listening to in this
    • implementation. Here it listens for Copy and Paste ActionCommands.
    • Selections comprising non-adjacent cells result in invalid selection and
    • then copy action cannot be performed. Paste is done by aligning the upper
    • left corner of the selection with the 1st element in the current
    • selection of the JTable.
      */
      public void actionPerformed(ActionEvent e) {
      if (e.getActionCommand().compareTo(“Copy”) == 0) {
      StringBuffer sbf = new StringBuffer();
      // Check to ensure we have selected only a contiguous block of
      // cells
      int numcols = jTable1.getSelectedColumnCount();
      int numrows = jTable1.getSelectedRowCount();
      int[] rowsselected = jTable1.getSelectedRows();
      int[] colsselected = jTable1.getSelectedColumns();
      if (!((numrows - 1 == rowsselected[rowsselected.length - 1] - rowsselected[0]
      && numrows == rowsselected.length)
      && (numcols - 1 == colsselected[colsselected.length - 1] - colsselected[0]
      && numcols == colsselected.length))) {
      JOptionPane.showMessageDialog(null, “Invalid Copy Selection”,
      “Invalid Copy Selection”,
      JOptionPane.ERROR_MESSAGE);
      return;
      }
      for (int i = 0; i < numrows; i++) {
      for (int j = 0; j < numcols; j++) {
      sbf.append(jTable1.getValueAt(rowsselected[i], colsselected[j]));
      if (j < numcols - 1) {
      sbf.append("\t");
      }
      }
      sbf.append("\n");
      }
      stsel = new StringSelection(sbf.toString());
      system = Toolkit.getDefaultToolkit().getSystemClipboard();
      system.setContents(stsel, stsel);
      }
      if (e.getActionCommand().compareTo(“Paste”) == 0) {
      System.out.println(“Trying to Paste”);
      int startRow = (jTable1.getSelectedRows())[0];
      int startCol = (jTable1.getSelectedColumns())[0];
      try {
      String trstring = (String) (system.getContents(this).getTransferData(DataFlavor.stringFlavor));
      System.out.println(“String is:” + trstring);
      StringTokenizer st1 = new StringTokenizer(trstring, “\n”);
      for (int i = 0; st1.hasMoreTokens(); i++) {
      rowstring = st1.nextToken();
      StringTokenizer st2 = new StringTokenizer(rowstring, “\t”);
      for (int j = 0; st2.hasMoreTokens(); j++) {
      value = (String) st2.nextToken();
      if (startRow + i < jTable1.getRowCount()
      && startCol + j < jTable1.getColumnCount()) {
      jTable1.setValueAt(value, startRow + i, startCol + j);
      }
      System.out.println("Putting " + value + “atrow=” + startRow + i + “column=” + startCol + j);
      }
      }
      } catch (Exception ex) {
      ex.printStackTrace();
      }
      }
      }
      }
IgorMag

Modulo Conexao:

package br.com.gem.dal;

import java.sql.*; //conector java
import javax.swing.JOptionPane;

/**
*

  • @author 212815039
    */
    public class ModuloConexao {

    //metodo responsavel por estabelecer a conexao com o banco
    
    public static Connection conector() { //connection é um conjunto de funcionalidade que vem do pacote sql importado acima. E conector é o nome do meu método.
    
    java.sql.Connection conexao = null; //usando novamente o pacote sql e o framework connection eu crio minha variavel conector.
    
    // a linha abaixo “chama” o driver
    
    String driver = com.mysql.jdbc.Driver;
    
    // armazenando informações referente ao banco
    
    String url = jdbc:mysql://localhost:3306/gem”; //sempre sera esse caminho -SE AMANHA EU QUISER COLOCAR UM SERVIDOR DEDICADO EU ALTERO O NUMERO DO IP ONDE ESTA O LOCALHOST
    
    String user = root;
    
    String password = “”;
    
    // Estabelecendo a conexao com o banco
    
    try {
    
    Class.forName(driver); //classe do pacote sql
    
    conexao = DriverManager.getConnection(url, user, password); //essa é a sintaxe para voce ligar seu banco de dados ao java(camimho, usuario, senha).
    
    return conexao; //return foi necessario pq o método public static necessita de retorno
    
    } catch (Exception e) {
    
    // a linha abaixo serve de apoio para esclarecer o erro
    
    System.out.println(e);
    
    return null;
    
    }
    
    }
    
    }
    
IgorMag

SEU CÓDIGO TABLE EXEMPLE:

package br.com.gem.dal;

import java.awt.EventQueue;

import java.awt.event.ActionEvent;

import java.awt.event.ActionListener;

import javax.swing.JButton;

import javax.swing.JFrame;

import javax.swing.JScrollPane;

import javax.swing.JTable;

import javax.swing.table.DefaultTableModel;

/**
*

  • @author 212815039
    */
    public class TableExample {

    public static void main(String[] args) {
    
    // Use the event dispatch thread for Swing components
    
    EventQueue.invokeLater(new Runnable() {
    
    <a class="mention" href="/u/override">@Override</a>
    
    public void run() {
    
    new TableExample().BuildGUI();
    
    }
    
    });
    
    }
    

    private JTable tabela;

    public void BuildGUI() {
    
    JFrame f = new JFrame();
    
    f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    
    f.setTitle(Creating a Table Example);
    
    f.setSize(700, 860);
    
    f.setLocationRelativeTo(null);
    
    Object[][] data = {{1, 1, 1}, {2, 2, 2}, {3, 3, 3}, {4, 4, 4}};
     String[] columnNames = {"Column 1", "Column 2", "Column 3"};
     DefaultTableModel defTableModel = new DefaultTableModel(data, columnNames);
     tabela = new JTable(defTableModel);
    
     JScrollPane sp = new JScrollPane(tabela);
     sp.setBounds(10, 11, 684, 190);
    
     Object[] newData = {1, 2, 3, 4};
     defTableModel.addColumn("Column 4", newData);
    
     Object[] newRowData = {5, 5, 5, 5};
     defTableModel.addRow(newRowData);
    
     Object[] insertRowData = {2.5, 2.5, 2.5, 2.5};
     defTableModel.insertRow(2, insertRowData);
    
     defTableModel.setValueAt(8888, 3, 2);
     f.getContentPane().setLayout(null);
     f.getContentPane().add(sp);
    
     JButton btnNewButton  = new JButton("BOTAO PARA CAPTURAR DADOS DA TABELA");
     btnNewButton .addActionListener(new ActionListener() {
         public void actionPerformed(ActionEvent arg0) {
             int[] linhasselecionadas = tabela.getSelectedRows();
             for (int i = 0; i < linhasselecionadas.length; i++) {
                 System.out.println(linhasselecionadas[i]);
                 Object teste
                         = tabela.getValueAt(linhasselecionadas[i], 1);
                 System.out.println("Valor capturado:" + teste);
             }
         }
     });
     btnNewButton .setBounds(10, 239, 89, 23);
     f.getContentPane().add(btnNewButton );
     f.setVisible(true);
    

    }
    }

IgorMag

Tela de Login:

package br.com.gem.telas;

import java.sql.*;

import br.com.gem.dal.ModuloConexao;

import java.awt.Color;

import javax.swing.JOptionPane;

/**
*

  • @author 212815039
    */
    public class TelaLogin extends javax.swing.JFrame {

    Connection conexao = null; // Connection framework, conexao variavel
    PreparedStatement pst = null; //PreparedStatement framework, pst variavel/ variavel responsavel por preparar a consulta
    ResultSet rs = null; //ResultSet também é framework ele vai exibir o resultado das intruções sql dentro do java/ rs variavel.

    public void logar() {
    
    String sql = select * from usersgem where login=? and senha=?;
    
    //preparando comando para ser executado dentro do java e na sequencia executar(utilizando as variaveis(conexao,pst,rs)).
    
    try {
    
    //as linhas abaixo preparam a consulta ao banco em função do que foi digitado nas caixas de texto, o (?) é substituido pelo conteudo das variaveis
    
    pst = conexao.prepareStatement(sql);
    
    pst.setString(1, txtUsuario.getText());
    
    pst.setString(2, txtSenha.getText());
    
    // a linha abaixo executa a query
    
    rs = pst.executeQuery();
    
    // se existir usuário e senha correspondente(ESTRUTURA DE DECISAO).
    
    if (rs.next()) {
    
    // a linha abaixo obtém o conteúdo do campo perfil da tabela users
    
    String perfil = rs.getString(5);
    
    // System.out.println(perfil);
    
    // a linha abaixo exibe o conteúdo do campo da tabela e faz o tratamento de perfil do usuário
    
    if (perfil.equals(admin)) { //se na tabela perfil do banco for igual a admin seta na tela os campos abaixo que estão bloqueados.
    
    TelaPrincipal principal = new TelaPrincipal(); //estanciei a tela, dei significado.
    
    principal.setVisible(true);
    
    TelaPrincipal.menImp.setEnabled(true);
    
    TelaPrincipal.menReqReq.setEnabled(true);
    
    TelaPrincipal.lblUsuario.setText(rs.getString(2));
    
    TelaPrincipal.lblUsuario.setForeground(Color.red);
    
    this.dispose();//garante que a tela de login feche, ao chamar a tela principal.
    
    conexao.close();//fecha a conexao também
    
    } else {
    
    TelaPrincipal principal = new TelaPrincipal(); //estanciei a tela, dei significado.
    
    principal.setVisible(true);
    
    this.dispose();
    
    }
    
    } else {
    
    JOptionPane.showMessageDialog(null, usuário e/ou senha inválido);
    
    }
    
    } catch (Exception e) {
    
    JOptionPane.showMessageDialog(null, e);
    
    }
    
    }
    

    /**

    • Creates new form TelaLogin
      */
      public TelaLogin() {
      initComponents();
      //Aqui é minha inicialização, chamarei o método conector que criei para fazer a conexao com o banco de dados
      conexao = ModuloConexao.conector();
      System.out.println(conexao);
      //A linha abaixo é uma estrutura de decisao
      if (conexao != null) { //Se a conexao for diferente de null, aparece Conectado, SENAO apareça Não Conectado.
      lblStatus.setIcon(new javax.swing.ImageIcon(getClass().getResource("/br/com/gem/icones/dbok.png")));
      } else {
      lblStatus.setIcon(new javax.swing.ImageIcon(getClass().getResource("/br/com/gem/icones/dberror.png"))); // linhas de setagem de imagem(bem complexa por sinal).
      }
      }

    /**

    • This method is called from within the constructor to initialize the form.

    • WARNING: Do NOT modify this code. The content of this method is always

    • regenerated by the Form Editor.
      
      */
      
      @SuppressWarnings(unchecked)
      
      // 
      
      private void initComponents() {
      
      jLabel1 = new javax.swing.JLabel();
      
      jLabel2 = new javax.swing.JLabel();
      
      txtUsuario = new javax.swing.JTextField();
      
      btnLogin = new javax.swing.JButton();
      
      txtSenha = new javax.swing.JPasswordField();
      
      lblStatus = new javax.swing.JLabel();
      
      setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
      
      setTitle(GEM - Login);
      
      setResizable(false);
      

      jLabel1.setText(“Usuário:”);

      jLabel2.setText(“Senha:”);

      btnLogin.setText(Login);
      
      btnLogin.addActionListener(new java.awt.event.ActionListener() {
      
      public void actionPerformed(java.awt.event.ActionEvent evt) {
      
      btnLoginActionPerformed(evt);
      
      }
      
      });
      
      txtSenha.addActionListener(new java.awt.event.ActionListener() {
      
      public void actionPerformed(java.awt.event.ActionEvent evt) {
      
      txtSenhaActionPerformed(evt);
      
      }
      
      });
      

      lblStatus.setIcon(new javax.swing.ImageIcon(getClass().getResource("/br/com/gem/icones/dberror.png"))); // NOI18N

      javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
      
      getContentPane().setLayout(layout);
      
      layout.setHorizontalGroup(
      
      layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
      
      .addGroup(layout.createSequentialGroup()
      
      .addGap(50, 50, 50)
      
      .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
      
      .addComponent(jLabel1)
      
      .addComponent(jLabel2)
      
      .addComponent(lblStatus, javax.swing.GroupLayout.PREFERRED_SIZE, 41, javax.swing.GroupLayout.PREFERRED_SIZE))
      
      .addGap(34, 34, 34)
      
      .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
      
      .addComponent(txtUsuario, javax.swing.GroupLayout.PREFERRED_SIZE, 206, javax.swing.GroupLayout.PREFERRED_SIZE)
      
      .addComponent(btnLogin, javax.swing.GroupLayout.Alignment.TRAILING)
      
      .addComponent(txtSenha, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.PREFERRED_SIZE, 206, javax.swing.GroupLayout.PREFERRED_SIZE))
      
      .addContainerGap(71, Short.MAX_VALUE))
      
      );
      
      layout.setVerticalGroup(
      
      layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
      
      .addGroup(layout.createSequentialGroup()
      
      .addGap(43, 43, 43)
      
      .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
      
      .addComponent(jLabel1)
      
      .addComponent(txtUsuario, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
      
      .addGap(32, 32, 32)
      
      .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
      
      .addComponent(jLabel2)
      
      .addComponent(txtSenha, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
      
      .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
      
      .addGroup(layout.createSequentialGroup()
      
      .addGap(27, 27, 27)
      
      .addComponent(btnLogin))
      
      .addGroup(layout.createSequentialGroup()
      
      .addGap(49, 49, 49)
      
      .addComponent(lblStatus, javax.swing.GroupLayout.PREFERRED_SIZE, 44, javax.swing.GroupLayout.PREFERRED_SIZE)))
      
      .addContainerGap(44, Short.MAX_VALUE))
      
      );
      
      setSize(new java.awt.Dimension(427, 303));
      
      setLocationRelativeTo(null);
      
      }//
      
    private void txtSenhaActionPerformed(java.awt.event.ActionEvent evt) {
    
    // TODO add your handling code here:
    
    }
    
    private void btnLoginActionPerformed(java.awt.event.ActionEvent evt) {
    
    // chamando método logar
    
    logar();
    
    }
    

    /**

    • @param args the command line arguments
      /
      public static void main(String args[]) {
      /
      Set the Nimbus look and feel /
      //
      /
      If Nimbus (introduced in Java SE 6) is not available, stay with the default look and feel.

      • For details see http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html
        */
        try {
        for (javax.swing.UIManager.LookAndFeelInfo info : javax.swing.UIManager.getInstalledLookAndFeels()) {
        if (“Nimbus”.equals(info.getName())) {
        javax.swing.UIManager.setLookAndFeel(info.getClassName());
        break;
        }
        }
        } catch (ClassNotFoundException ex) {
        java.util.logging.Logger.getLogger(TelaLogin.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
        } catch (InstantiationException ex) {
        java.util.logging.Logger.getLogger(TelaLogin.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
        } catch (IllegalAccessException ex) {
        java.util.logging.Logger.getLogger(TelaLogin.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
        } catch (javax.swing.UnsupportedLookAndFeelException ex) {
        java.util.logging.Logger.getLogger(TelaLogin.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
        }
        //
      /* Create and display the form */
      
      java.awt.EventQueue.invokeLater(new Runnable() {
      
      public void run() {
      
      new TelaLogin().setVisible(true);
      
      }
      
      });
      
      }
      
IgorMag

Tela Principal :

package br.com.gem.telas;

import br.com.gem.dal.ModuloConexao;

import java.text.DateFormat;

import java.util.Date;

import javax.swing.JOptionPane;

import java.sql.*;

/**
*

  • @author 212815039
    
    <em>/
    
    public class TelaPrincipal extends javax.swing.JFrame {
    
    Connection conexao = null;
    
    /</em>*
    
    • Creates new form TelaPrincipal
      */
      public TelaPrincipal() {
      initComponents();
      conexao = ModuloConexao.conector();
      }

    /**

    • This method is called from within the constructor to initialize the form.

    • WARNING: Do NOT modify this code. The content of this method is always

    • regenerated by the Form Editor.
      
      */
      
      @SuppressWarnings(unchecked)
      
      // 
      
      private void initComponents() {
      
      jDialog1 = new javax.swing.JDialog();
      
      jFrame1 = new javax.swing.JFrame();
      
      jMenu1 = new javax.swing.JMenu();
      
      jMenu2 = new javax.swing.JMenu();
      
      Desktop = new javax.swing.JDesktopPane();
      
      jLabel1 = new javax.swing.JLabel();
      
      lblUsuario = new javax.swing.JLabel();
      
      lblData = new javax.swing.JLabel();
      
      Menu = new javax.swing.JMenuBar();
      
      menReq = new javax.swing.JMenu();
      
      menReqReq = new javax.swing.JMenuItem();
      
      jMenuItem1 = new javax.swing.JMenuItem();
      
      menImp = new javax.swing.JMenu();
      
      jMenu5 = new javax.swing.JMenu();
      
      menOpc = new javax.swing.JMenu();
      
      jMenuItem2 = new javax.swing.JMenuItem();
      
      menOpcSai = new javax.swing.JMenuItem();
      
      javax.swing.GroupLayout jDialog1Layout = new javax.swing.GroupLayout(jDialog1.getContentPane());
      
      jDialog1.getContentPane().setLayout(jDialog1Layout);
      
      jDialog1Layout.setHorizontalGroup(
      
      jDialog1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
      
      .addGap(0, 400, Short.MAX_VALUE)
      
      );
      
      jDialog1Layout.setVerticalGroup(
      
      jDialog1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
      
      .addGap(0, 300, Short.MAX_VALUE)
      
      );
      
      javax.swing.GroupLayout jFrame1Layout = new javax.swing.GroupLayout(jFrame1.getContentPane());
      
      jFrame1.getContentPane().setLayout(jFrame1Layout);
      
      jFrame1Layout.setHorizontalGroup(
      
      jFrame1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
      
      .addGap(0, 400, Short.MAX_VALUE)
      
      );
      
      jFrame1Layout.setVerticalGroup(
      
      jFrame1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
      
      .addGap(0, 300, Short.MAX_VALUE)
      
      );
      

      jMenu1.setText(“jMenu1”);

      jMenu2.setText(“jMenu2”);

      setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
      
      setTitle(Tela de Requisição - Impressão);
      
      setResizable(false);
      
      addWindowListener(new java.awt.event.WindowAdapter() {
      
      public void windowActivated(java.awt.event.WindowEvent evt) {
      
      formWindowActivated(evt);
      
      }
      
      });
      
      javax.swing.GroupLayout DesktopLayout = new javax.swing.GroupLayout(Desktop);
      
      Desktop.setLayout(DesktopLayout);
      
      DesktopLayout.setHorizontalGroup(
      
      DesktopLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
      
      .addGap(0, 1602, Short.MAX_VALUE)
      
      );
      
      DesktopLayout.setVerticalGroup(
      
      DesktopLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
      
      .addGap(0, 0, Short.MAX_VALUE)
      
      );
      

      jLabel1.setIcon(new javax.swing.ImageIcon(“C:\Users\212815039\Desktop\Projeto JAVA+MYSQL\GE_TP.png”)); // NOI18N

      lblUsuario.setFont(new java.awt.Font(“Tahoma”, 1, 18)); // NOI18N
      lblUsuario.setText(“Usuário”);

      lblData.setFont(new java.awt.Font(“Tahoma”, 1, 18)); // NOI18N
      lblData.setText(“Data”);

      menReq.setText(“Requisição”);

      menReqReq.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_R, java.awt.event.InputEvent.SHIFT_MASK | java.awt.event.InputEvent.CTRL_MASK));
      
      menReqReq.setText(Requisitar);
      
      menReqReq.setEnabled(false);
      
      menReqReq.addActionListener(new java.awt.event.ActionListener() {
      
      public void actionPerformed(java.awt.event.ActionEvent evt) {
      
      menReqReqActionPerformed(evt);
      
      }
      
      });
      
      menReq.add(menReqReq);
      
      jMenuItem1.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_T, java.awt.event.InputEvent.SHIFT_MASK | java.awt.event.InputEvent.CTRL_MASK));
      
      jMenuItem1.setText(AdicionarEmitir);
      
      jMenuItem1.addActionListener(new java.awt.event.ActionListener() {
      
      public void actionPerformed(java.awt.event.ActionEvent evt) {
      
      jMenuItem1ActionPerformed(evt);
      
      }
      
      });
      
      menReq.add(jMenuItem1);
      

      Menu.add(menReq);

      menImp.setText(Impressão);
      
      menImp.setEnabled(false);
      
      Menu.add(menImp);
      

      jMenu5.setText(“Ajuda”);
      Menu.add(jMenu5);

      menOpc.setText(Opções);
      
      menOpc.addActionListener(new java.awt.event.ActionListener() {
      
      public void actionPerformed(java.awt.event.ActionEvent evt) {
      
      menOpcActionPerformed(evt);
      
      }
      
      });
      
      jMenuItem2.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_F10, java.awt.event.InputEvent.ALT_MASK));
      
      jMenuItem2.setText(Sobre);
      
      jMenuItem2.addActionListener(new java.awt.event.ActionListener() {
      
      public void actionPerformed(java.awt.event.ActionEvent evt) {
      
      jMenuItem2ActionPerformed(evt);
      
      }
      
      });
      
      menOpc.add(jMenuItem2);
      
      menOpcSai.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_F4, java.awt.event.InputEvent.ALT_MASK));
      
      menOpcSai.setText(Sair);
      
      menOpcSai.addActionListener(new java.awt.event.ActionListener() {
      
      public void actionPerformed(java.awt.event.ActionEvent evt) {
      
      menOpcSaiActionPerformed(evt);
      
      }
      
      });
      
      menOpc.add(menOpcSai);
      

      Menu.add(menOpc);

      setJMenuBar(Menu);

      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(Desktop, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
      
      .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
      
      .addGroup(layout.createSequentialGroup()
      
      .addGap(40, 40, 40)
      
      .addComponent(jLabel1))
      
      .addGroup(layout.createSequentialGroup()
      
      .addGap(110, 110, 110)
      
      .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
      
      .addComponent(lblUsuario)
      
      .addComponent(lblData))))
      
      .addContainerGap(1991, Short.MAX_VALUE))
      
      );
      
      layout.setVerticalGroup(
      
      layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
      
      .addGroup(layout.createSequentialGroup()
      
      .addGap(60, 60, 60)
      
      .addComponent(lblUsuario)
      
      .addGap(289, 289, 289)
      
      .addComponent(lblData)
      
      .addGap(130, 130, 130)
      
      .addComponent(jLabel1)
      
      .addContainerGap(41, Short.MAX_VALUE))
      
      .addGroup(layout.createSequentialGroup()
      
      .addContainerGap()
      
      .addComponent(Desktop)
      
      .addContainerGap())
      
      );
      
      setSize(new java.awt.Dimension(2009, 887));
      
      setLocationRelativeTo(null);
      
      }//
      
    private void menOpcSaiActionPerformed(java.awt.event.ActionEvent evt) {
    
    // exibe uma caixa de dialogo
    
    int sair = JOptionPane.showConfirmDialog(null, Tem certeza que deseja sair?”,Atenção,JOptionPane.YES_NO_OPTION); // Crio uma variavel int de nome sair e coloco dentro dela um JOptionPane de pergunta SIM ou NÃO.
    
    if (sair == JOptionPane.YES_OPTION){ //Se caso eu escolha por sim, fechar o sistema.
    
    System.exit(0); //fecha o sistema
    
    }
    
    }
    
    private void formWindowActivated(java.awt.event.WindowEvent evt) {
    
    // as linhas abaixo substituem a label data lblData, pela data autal do sistema ao inicializar o form
    
    Date data = new Date();
    
    DateFormat formatador = DateFormat.getDateInstance(DateFormat.SHORT); //escolhe o formato que vai aparecer a data
    
    lblData.setText(formatador.format(data)); //faz com que, quando rode o programa ele rode com a data do sistema
    
    }
    
    private void menReqReqActionPerformed(java.awt.event.ActionEvent evt) {
    
    // Chamando a tela de requisição
    
    Tela_Requisicao requisitar = new Tela_Requisicao();
    
    requisitar.setVisible(true);
    
    Desktop.add(requisitar);
    
    }
    
    private void jMenuItem1ActionPerformed(java.awt.event.ActionEvent evt) {
    
    // Chamando a tela de adicionar
    
    Tela_Adicionar_Imprimir adicionar = new Tela_Adicionar_Imprimir();
    
    adicionar.setVisible(true);
    
    Desktop.add(adicionar);
    

    }

    private void menOpcActionPerformed(java.awt.event.ActionEvent evt) {

    }

    private void jMenuItem2ActionPerformed(java.awt.event.ActionEvent evt) {
    
    // // Chamanda Tela Sobre
    
    Tela_Sobre sobre = new Tela_Sobre();
    
    sobre.setVisible(true);
    
    }
    

    /**

    • @param args the command line arguments
      /
      public static void main(String args[]) {
      /
      Set the Nimbus look and feel /
      //
      /
      If Nimbus (introduced in Java SE 6) is not available, stay with the default look and feel.

      • For details see http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html
        */
        try {
        for (javax.swing.UIManager.LookAndFeelInfo info : javax.swing.UIManager.getInstalledLookAndFeels()) {
        if (“Nimbus”.equals(info.getName())) {
        javax.swing.UIManager.setLookAndFeel(info.getClassName());
        break;
        }
        }
        } catch (ClassNotFoundException ex) {
        java.util.logging.Logger.getLogger(TelaPrincipal.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
        } catch (InstantiationException ex) {
        java.util.logging.Logger.getLogger(TelaPrincipal.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
        } catch (IllegalAccessException ex) {
        java.util.logging.Logger.getLogger(TelaPrincipal.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
        } catch (javax.swing.UnsupportedLookAndFeelException ex) {
        java.util.logging.Logger.getLogger(TelaPrincipal.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
        }
        //
      /* Create and display the form */
      
      java.awt.EventQueue.invokeLater(new Runnable() {
      
      public void run() {
      
      new TelaPrincipal().setVisible(true);
      
      }
      
      });
      
      }
      
IgorMag

Tela Adicionar_Imprimir

ackage br.com.gem.telas;

import br.com.gem.dal.ExcelAdapter;

import br.com.gem.dal.ModuloConexao;

import java.awt.print.PrinterException;

import java.sql.Connection;

import java.sql.PreparedStatement;

import java.sql.ResultSet;

import javax.swing.JOptionPane;

import javax.swing.JTable;

import javax.swing.ListSelectionModel;

import javax.swing.table.DefaultTableModel;

import net.sf.jasperreports.engine.JasperFillManager;

import net.sf.jasperreports.engine.JasperPrint;

import net.sf.jasperreports.view.JasperViewer;

/**
*

  • @author 212815039
    */
    class Tela_Adicionar_Imprimir extends javax.swing.JInternalFrame {

    Connection conexao = null;
    
    PreparedStatement pst = null;
    
    ResultSet rs = null;
    

    /**

    • Creates new form Tela_Adicionar_Imprimir
      */
      public Tela_Adicionar_Imprimir() {
      initComponents();
      conexao = ModuloConexao.conector();
      ExcelAdapter myAd = new ExcelAdapter(jTable1);
      }
//Chamando Tela Pesquisar PEP

private void pesquisar() {

String sql = " Select * from tblgem where pepaux=? order by lista desc";

try {

pst = conexao.prepareStatement(sql);

pst.setString(1, txtPepPesq.getText());

rs = pst.executeQuery();

if (rs.next()) {

txtNumList.setText(rs.getString(1));

} else {

}

} catch (Exception e) {

JOptionPane.showMessageDialog(null, e);

}

}
private void adicionar() {

    String sql = "insert into tblgem(lista,dat,pep,listec,item,material,txtbre,qtde,um,rncrm,necob,natnf,local,pepaux,projeto) values(?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)";
    try {
        pst = conexao.prepareStatement(sql);

        pst.setString(1, jTable1.getValueAt(jTable1.getSelectedRow(), 0).toString());
        pst.setString(2, jTable1.getValueAt(jTable1.getSelectedRow(), 1).toString());
        pst.setString(3, jTable1.getValueAt(jTable1.getSelectedRow(), 2).toString());
        pst.setString(4, jTable1.getValueAt(jTable1.getSelectedRow(), 3).toString());
        pst.setString(5, jTable1.getValueAt(jTable1.getSelectedRow(), 4).toString());
        pst.setString(6, jTable1.getValueAt(jTable1.getSelectedRow(), 5).toString());
        pst.setString(7, jTable1.getValueAt(jTable1.getSelectedRow(), 6).toString());
        pst.setString(8, jTable1.getValueAt(jTable1.getSelectedRow(), 7).toString());
        pst.setString(9, jTable1.getValueAt(jTable1.getSelectedRow(), 8).toString());
        pst.setString(10, jTable1.getValueAt(jTable1.getSelectedRow(), 9).toString());
        pst.setString(11, jTable1.getValueAt(jTable1.getSelectedRow(), 10).toString());
        pst.setString(12, jTable1.getValueAt(jTable1.getSelectedRow(), 11).toString());
        pst.setString(13, jTable1.getValueAt(jTable1.getSelectedRow(), 12).toString());
        pst.setString(14, jTable1.getValueAt(jTable1.getSelectedRow(), 13).toString());
        pst.setString(15, jTable1.getValueAt(jTable1.getSelectedRow(), 14).toString());

        int adicionado = pst.executeUpdate();

        if (adicionado > 0) {
            JOptionPane.showMessageDialog(null, "Requisições adicionadas com sucesso!");
        }

    } catch (Exception e) {
        JOptionPane.showMessageDialog(null, e);
    }
}
        private void imprimir(){
        try {
        jTable1.print(javax.swing.JTable.PrintMode.FIT_WIDTH,
                new java.text.MessageFormat("Logistica Movimentação de Materiais"), // titulo da pagina
                new java.text.MessageFormat("Page {0}"));
    } catch (PrinterException e) {
        JOptionPane.showMessageDialog(this, "Erro ao tentar imprimir!\n"
                + e.getMessage());
    }
        }


/**
 * This method is called from within the constructor to initialize the form.
 * WARNING: Do NOT modify this code. The content of this method is always
 * regenerated by the Form Editor.
 */
@SuppressWarnings("unchecked")
// <editor-fold defaultstate="collapsed" desc="Generated Code">                          
private void initComponents() {

    jScrollPane1 = new javax.swing.JScrollPane();
    jTable1 = new javax.swing.JTable();
    jButton1 = new javax.swing.JButton();
    jButton2 = new javax.swing.JButton();
    txtPepPesq = new javax.swing.JTextField();
    jLabel1 = new javax.swing.JLabel();
    txtNumList = new javax.swing.JTextField();
    jLabel2 = new javax.swing.JLabel();
    jButton3 = new javax.swing.JButton();
    jButton4 = new javax.swing.JButton();

    setClosable(true);
    setIconifiable(true);
    setMaximizable(true);
    setResizable(true);
    setTitle("Adicionar/Impressão");

    jTable1.setModel(new javax.swing.table.DefaultTableModel(
        new Object [][] {
            {null, null, null, null, null, null, null, null, null, null, null, null, null, null, null},
            {null, null, null, null, null, null, null, null, null, null, null, null, null, null, null},
            {null, null, null, null, null, null, null, null, null, null, null, null, null, null, null},
            {null, null, null, null, null, null, null, null, null, null, null, null, null, null, null},
            {null, null, null, null, null, null, null, null, null, null, null, null, null, null, null},
            {null, null, null, null, null, null, null, null, null, null, null, null, null, null, null},
            {null, null, null, null, null, null, null, null, null, null, null, null, null, null, null},
            {null, null, null, null, null, null, null, null, null, null, null, null, null, null, null},
            {null, null, null, null, null, null, null, null, null, null, null, null, null, null, null},
            {null, null, null, null, null, null, null, null, null, null, null, null, null, null, null},
            {null, null, null, null, null, null, null, null, null, null, null, null, null, null, null},
            {null, null, null, null, null, null, null, null, null, null, null, null, null, null, null},
            {null, null, null, null, null, null, null, null, null, null, null, null, null, null, null},
            {null, null, null, null, null, null, null, null, null, null, null, null, null, null, null},
            {null, null, null, null, null, null, null, null, null, null, null, null, null, null, null},
            {null, null, null, null, null, null, null, null, null, null, null, null, null, null, null},
            {null, null, null, null, null, null, null, null, null, null, null, null, null, null, null},
            {null, null, null, null, null, null, null, null, null, null, null, null, null, null, null},
            {null, null, null, null, null, null, null, null, null, null, null, null, null, null, null},
            {null, null, null, null, null, null, null, null, null, null, null, null, null, null, null},
            {null, null, null, null, null, null, null, null, null, null, null, null, null, null, null},
            {null, null, null, null, null, null, null, null, null, null, null, null, null, null, null},
            {null, null, null, null, null, null, null, null, null, null, null, null, null, null, null},
            {null, null, null, null, null, null, null, null, null, null, null, null, null, null, null},
            {null, null, null, null, null, null, null, null, null, null, null, null, null, null, null},
            {null, null, null, null, null, null, null, null, null, null, null, null, null, null, null},
            {null, null, null, null, null, null, null, null, null, null, null, null, null, null, null},
            {null, null, null, null, null, null, null, null, null, null, null, null, null, null, null},
            {null, null, null, null, null, null, null, null, null, null, null, null, null, null, null},
            {null, null, null, null, null, null, null, null, null, null, null, null, null, null, null},
            {null, null, null, null, null, null, null, null, null, null, null, null, null, null, null},
            {null, null, null, null, null, null, null, null, null, null, null, null, null, null, null},
            {null, null, null, null, null, null, null, null, null, null, null, null, null, null, null},
            {null, null, null, null, null, null, null, null, null, null, null, null, null, null, null},
            {null, null, null, null, null, null, null, null, null, null, null, null, null, null, null},
            {null, null, null, null, null, null, null, null, null, null, null, null, null, null, null},
            {null, null, null, null, null, null, null, null, null, null, null, null, null, null, null},
            {null, null, null, null, null, null, null, null, null, null, null, null, null, null, null},
            {null, null, null, null, null, null, null, null, null, null, null, null, null, null, null},
            {null, null, null, null, null, null, null, null, null, null, null, null, null, null, null},
            {null, null, null, null, null, null, null, null, null, null, null, null, null, null, null},
            {null, null, null, null, null, null, null, null, null, null, null, null, null, null, null},
            {null, null, null, null, null, null, null, null, null, null, null, null, null, null, null},
            {null, null, null, null, null, null, null, null, null, null, null, null, null, null, null},
            {null, null, null, null, null, null, null, null, null, null, null, null, null, null, null},
            {null, null, null, null, null, null, null, null, null, null, null, null, null, null, null},
            {null, null, null, null, null, null, null, null, null, null, null, null, null, null, null},
            {null, null, null, null, null, null, null, null, null, null, null, null, null, null, null},
            {null, null, null, null, null, null, null, null, null, null, null, null, null, null, null},
            {null, null, null, null, null, null, null, null, null, null, null, null, null, null, null},
            {null, null, null, null, null, null, null, null, null, null, null, null, null, null, null},
            {null, null, null, null, null, null, null, null, null, null, null, null, null, null, null},
            {null, null, null, null, null, null, null, null, null, null, null, null, null, null, null},
            {null, null, null, null, null, null, null, null, null, null, null, null, null, null, null},
            {null, null, null, null, null, null, null, null, null, null, null, null, null, null, null},
            {null, null, null, null, null, null, null, null, null, null, null, null, null, null, null},
            {null, null, null, null, null, null, null, null, null, null, null, null, null, null, null},
            {null, null, null, null, null, null, null, null, null, null, null, null, null, null, null},
            {null, null, null, null, null, null, null, null, null, null, null, null, null, null, null},
            {null, null, null, null, null, null, null, null, null, null, null, null, null, null, null},
            {null, null, null, null, null, null, null, null, null, null, null, null, null, null, null},
            {null, null, null, null, null, null, null, null, null, null, null, null, null, null, null},
            {null, null, null, null, null, null, null, null, null, null, null, null, null, null, null},
            {null, null, null, null, null, null, null, null, null, null, null, null, null, null, null},
            {null, null, null, null, null, null, null, null, null, null, null, null, null, null, null},
            {null, null, null, null, null, null, null, null, null, null, null, null, null, null, null},
            {null, null, null, null, null, null, null, null, null, null, null, null, null, null, null},
            {null, null, null, null, null, null, null, null, null, null, null, null, null, null, null},
            {null, null, null, null, null, null, null, null, null, null, null, null, null, null, null},
            {null, null, null, null, null, null, null, null, null, null, null, null, null, null, null},
            {null, null, null, null, null, null, null, null, null, null, null, null, null, null, null},
            {null, null, null, null, null, null, null, null, null, null, null, null, null, null, null},
            {null, null, null, null, null, null, null, null, null, null, null, null, null, null, null},
            {null, null, null, null, null, null, null, null, null, null, null, null, null, null, null},
            {null, null, null, null, null, null, null, null, null, null, null, null, null, null, null},
            {null, null, null, null, null, null, null, null, null, null, null, null, null, null, null},
            {null, null, null, null, null, null, null, null, null, null, null, null, null, null, null},
            {null, null, null, null, null, null, null, null, null, null, null, null, null, null, null},
            {null, null, null, null, null, null, null, null, null, null, null, null, null, null, null},
            {null, null, null, null, null, null, null, null, null, null, null, null, null, null, null},
            {null, null, null, null, null, null, null, null, null, null, null, null, null, null, null},
            {null, null, null, null, null, null, null, null, null, null, null, null, null, null, null},
            {null, null, null, null, null, null, null, null, null, null, null, null, null, null, null},
            {null, null, null, null, null, null, null, null, null, null, null, null, null, null, null},
            {null, null, null, null, null, null, null, null, null, null, null, null, null, null, null},
            {null, null, null, null, null, null, null, null, null, null, null, null, null, null, null},
            {null, null, null, null, null, null, null, null, null, null, null, null, null, null, null},
            {null, null, null, null, null, null, null, null, null, null, null, null, null, null, null},
            {null, null, null, null, null, null, null, null, null, null, null, null, null, null, null},
            {null, null, null, null, null, null, null, null, null, null, null, null, null, null, null},
            {null, null, null, null, null, null, null, null, null, null, null, null, null, null, null},
            {null, null, null, null, null, null, null, null, null, null, null, null, null, null, null},
            {null, null, null, null, null, null, null, null, null, null, null, null, null, null, null},
            {null, null, null, null, null, null, null, null, null, null, null, null, null, null, null},
            {null, null, null, null, null, null, null, null, null, null, null, null, null, null, null},
            {null, null, null, null, null, null, null, null, null, null, null, null, null, null, null},
            {null, null, null, null, null, null, null, null, null, null, null, null, null, null, null},
            {null, null, null, null, null, null, null, null, null, null, null, null, null, null, null},
            {null, null, null, null, null, null, null, null, null, null, null, null, null, null, null},
            {null, null, null, null, null, null, null, null, null, null, null, null, null, null, null}
        },
        new String [] {
            "lista", "dat", "pep", "listec", "item", "material", "txtbre", "qtde", "um", "rncrm", "necob", "natnf", "local", "pepaux", "projeto"
        }
    ) {
        Class[] types = new Class [] {
            java.lang.String.class, java.lang.String.class, java.lang.String.class, java.lang.String.class, java.lang.String.class, java.lang.String.class, java.lang.String.class, java.lang.String.class, java.lang.String.class, java.lang.String.class, java.lang.String.class, java.lang.String.class, java.lang.String.class, java.lang.String.class, java.lang.String.class
        };

        public Class getColumnClass(int columnIndex) {
            return types [columnIndex];
        }
    });
    jTable1.getTableHeader().setReorderingAllowed(false);
    jScrollPane1.setViewportView(jTable1);

    jButton1.setIcon(new javax.swing.ImageIcon(getClass().getResource("/br/com/gem/icones/create.png"))); // NOI18N
    jButton1.setCursor(new java.awt.Cursor(java.awt.Cursor.HAND_CURSOR));
    jButton1.setPreferredSize(new java.awt.Dimension(80, 80));
    jButton1.addActionListener(new java.awt.event.ActionListener() {
        public void actionPerformed(java.awt.event.ActionEvent evt) {
            jButton1ActionPerformed(evt);
        }
    });

    jButton2.setIcon(new javax.swing.ImageIcon(getClass().getResource("/br/com/gem/icones/print.png"))); // NOI18N
    jButton2.setCursor(new java.awt.Cursor(java.awt.Cursor.HAND_CURSOR));
    jButton2.setPreferredSize(new java.awt.Dimension(80, 80));
    jButton2.addActionListener(new java.awt.event.ActionListener() {
        public void actionPerformed(java.awt.event.ActionEvent evt) {
            jButton2ActionPerformed(evt);
        }
    });

    jLabel1.setFont(new java.awt.Font("Tahoma", 1, 14)); // NOI18N
    jLabel1.setText("Lista:");

    txtNumList.setEditable(false);

    jLabel2.setFont(new java.awt.Font("Tahoma", 1, 14)); // NOI18N
    jLabel2.setText("PEP");

    jButton3.setIcon(new javax.swing.ImageIcon(getClass().getResource("/br/com/gem/icones/pesquisar.png"))); // NOI18N
    jButton3.setCursor(new java.awt.Cursor(java.awt.Cursor.HAND_CURSOR));
    jButton3.addActionListener(new java.awt.event.ActionListener() {
        public void actionPerformed(java.awt.event.ActionEvent evt) {
            jButton3ActionPerformed(evt);
        }
    });

    jButton4.setText("jButton4");
    jButton4.setPreferredSize(new java.awt.Dimension(80, 80));
    jButton4.addActionListener(new java.awt.event.ActionListener() {
        public void actionPerformed(java.awt.event.ActionEvent evt) {
            jButton4ActionPerformed(evt);
        }
    });

    javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
    getContentPane().setLayout(layout);
    layout.setHorizontalGroup(
        layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
        .addGroup(layout.createSequentialGroup()
            .addGap(31, 31, 31)
            .addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 1180, javax.swing.GroupLayout.PREFERRED_SIZE)
            .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                .addGroup(layout.createSequentialGroup()
                    .addGap(44, 44, 44)
                    .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                        .addComponent(txtPepPesq, javax.swing.GroupLayout.PREFERRED_SIZE, 152, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addComponent(jLabel2)))
                .addGroup(layout.createSequentialGroup()
                    .addGap(78, 78, 78)
                    .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
                        .addComponent(jButton3)
                        .addComponent(jButton1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))))
            .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 37, Short.MAX_VALUE)
            .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
                    .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                        .addComponent(jLabel1)
                        .addComponent(txtNumList, javax.swing.GroupLayout.PREFERRED_SIZE, 126, javax.swing.GroupLayout.PREFERRED_SIZE))
                    .addGap(124, 124, 124))
                .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
                    .addComponent(jButton2, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addGap(42, 42, 42)
                    .addComponent(jButton4, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addGap(59, 59, 59))))
    );
    layout.setVerticalGroup(
        layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
        .addGroup(layout.createSequentialGroup()
            .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                .addGroup(layout.createSequentialGroup()
                    .addGap(25, 25, 25)
                    .addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 440, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addGroup(layout.createSequentialGroup()
                    .addGap(106, 106, 106)
                    .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
                        .addGroup(layout.createSequentialGroup()
                            .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                                .addComponent(jButton2, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                                .addComponent(jButton4, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                            .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                            .addComponent(jLabel1)
                            .addGap(30, 30, 30)
                            .addComponent(txtNumList, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                        .addGroup(layout.createSequentialGroup()
                            .addComponent(jButton1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addGap(55, 55, 55)
                            .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
                                .addComponent(jLabel2, javax.swing.GroupLayout.PREFERRED_SIZE, 17, javax.swing.GroupLayout.PREFERRED_SIZE)
                                .addComponent(jButton3))
                            .addGap(30, 30, 30)
                            .addComponent(txtPepPesq, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)))))
            .addContainerGap(46, Short.MAX_VALUE))
    );

    pack();
}// </editor-fold>                        

private void jButton3ActionPerformed(java.awt.event.ActionEvent evt) {                                         
    // chamando metodo pesquisar
    pesquisar();
}                                        

private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {                                         
    // gerando impressão
    int confirma = JOptionPane.showConfirmDialog(null, "Confirma a impressão?", "Atenção", JOptionPane.YES_NO_OPTION);
    if (confirma == JOptionPane.YES_OPTION);
    {
        //imprimindo relatório 
        try {
            // usando a classe JasperPrint para preparar a impressao de um relatório
            JasperPrint print = JasperFillManager.fillReport("C:/reports/report4.jasper", null, conexao);
            // a linha abaixo exibe o relatório através da classe JasperViewer
            JasperViewer.viewReport(print, false);
        } catch (Exception e) {
            JOptionPane.showMessageDialog(null, e);
        }
    }
}                                        

private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {                                         
    // chamaando metodo adicionar
    adicionar();

}                                        

private void jButton4ActionPerformed(java.awt.event.ActionEvent evt) {                                         
               
    // TODO add your handling code here:
    try {
        jTable1.print(javax.swing.JTable.PrintMode.FIT_WIDTH,
                new java.text.MessageFormat("Agenda de Contatos"), // titulo da pagina
                new java.text.MessageFormat("Page {0}"));
    } catch (PrinterException e) {
        JOptionPane.showMessageDialog(this, "Erro ao tentar imprimir!\n"
                + e.getMessage());
    }
IgorMag

Tela de Requisição e Sobre não vou postar pois creio que não precisa, elas estão acertadas já. Segue uma imagem ilustrativa da composição para que você consiga se encontrar nas informações.

image

E

Olá Igor.
Nao consegui encontrar o main do seu programa.
Onde voce inicia as telas?

IgorMag

Bom dia! Eu inicio o Login, e assim que eu logo, já chama a tela principal pra mim onde eu faço as aplicações. Mas o main está na tela principal.

Criado 21 de dezembro de 2020
Ultima resposta 23 de dez. de 2020
Respostas 16
Participantes 2