Search the Community
Showing results for tags 'java'.
-
Boas a todos. Comecei a trabalhar com o gradle para fazer testes e ao tentar executá-los aparece-me este erro: Could not write standard input to Gradle Test Executor 1. java.io.IOException: O encaminhamento (pipe) está a ser fechado at java.base/java.io.FileOutputStream.writeBytes(Native Method) at java.base/java.io.FileOutputStream.write(FileOutputStream.java:400) at java.base/java.lang.Process$PipeOutputStream.write(Process.java:907) at java.base/java.io.BufferedOutputStream.flushBuffer(BufferedOutputStream.java:125) at java.base/java.io.BufferedOutputStream.implFlush(BufferedOutputStream.java:252) at java.base/java.io.BufferedOutputStream.flush(BufferedOutputStream.java:240) at org.gradle.process.internal.streams.ExecOutputHandleRunner.writeBuffer(ExecOutputHandleRunner.java:98) at org.gradle.process.internal.streams.ExecOutputHandleRunner.forwardContent(ExecOutputHandleRunner.java:85) at org.gradle.process.internal.streams.ExecOutputHandleRunner.run(ExecOutputHandleRunner.java:64) at org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:64) at org.gradle.internal.concurrent.AbstractManagedExecutor$1.run(AbstractManagedExecutor.java:48) at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144) at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642) at java.base/java.lang.Thread.run(Thread.java:1575) > Task :app:test FAILED Error: Could not find or load main class worker.org.gradle.process.internal.worker.GradleWorkerMain Caused by: java.lang.ClassNotFoundException: worker.org.gradle.process.internal.worker.GradleWorkerMain Já tentei de tudo, já reinstalei o jdk, gradle, alterei as versões e nada funciona. Até mesmo alterando o IDE ou correndo pelo cmd não funciona. Já procurei na net também e não consigo encontrar uma solução plausível. Mais concretamente, este erro apenas acontece quando o meu projeto tem um ficheiro de teste. Se apenas tiver as classes em main/java consigo fazer build sem problemas, mas se criar um ficheiro .java na pasta de testes já nem build consigo fazer. Se alguém já teve ou sabe como resolver este problema agradecia a ajuda.
-
Boa noite, estou trabalhando em um pequeno sistema que organiza eventos. Pretendo utilizar um projeto Java Maven e o Banco de Dados em Memória "H2", mas não encontrei nenhum tutorial ou vídeo que me explicasse como utiliza-lo. Poderiam me ajudar com algum link ou tutorial?
-
Boa noite, Tenho um arquivo executavel.jar e um Banco de Dados MySQL que fiz com a intenção de ajudar uma amigo, porem mesmo estando funcionando sem erros, me falta o conhecimento para exporta-lo de forma que funcione em outro computador. Poderiam me ajudar a concluir esse projeto. De já, agradeço sua ajuda.
-
Tenho uma aplicação simples em android que faz download do conteúdo de uma página web e envia para uma impressora portátil bluetooth. Esta aplicação estava a funcionar perfeitamente mas com as alterações da google neste momento não se consegue instalar em android a partir da versão 12. Fiz esta aplicação a partir de um exemplo de um fabricante de impressoras chines já há alguns anos e pouco mais mexi na app. Agora tenho que fazer alterações para colocar isto a funcionar mas estou com algumas dificuldades pois não sou especialista em android. Já alterei o TargetSdkVersion da app no android studio mas ao tentar fazer download do conteúdo da pagina web "estoura" e dá erro. Pelo que entendi o erro acontece porque a função que faz o download e enviar para bluetooth está na actitvity principal da app e isso agora não é permitido. Esta função é chamada a partir do evento de click num botão. public void onClick(View v) { if (v.getId() == R.id.btn_printdoc) { printdoc(); } //... } public void printdoc(){ try{ connectToPrinter(); } catch (Exception e) { e.printStackTrace(); } try{ //BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(new URL(uriToPrint).openConnection().getInputStream())); URL myUrl = new URL(uriToPrint); HttpURLConnection myCon = (HttpURLConnection) myUrl.openConnection(); InputStream stream = null; try { stream = myCon.getInputStream(); } catch(Exception ex){ ex.printStackTrace(); Toast.makeText(this, ex.getMessage(), Toast.LENGTH_SHORT).show(); } InputStreamReader reader = new InputStreamReader(stream); BufferedReader bufferedReader = new BufferedReader(reader); byte[] init = {0x1b,0x74,0x03}; woosim.controlCommand(init, init.length); //StringBuilder sb = new StringBuilder(); String line = null; while( ( line = bufferedReader.readLine() ) != null) { String noHTMLString = ConverCore(line); Pattern pattern = Pattern.compile("data=\"(.*?)\""); Matcher matcher = pattern.matcher(line); if (matcher.find()){ woosim.saveSpool(UTF_8, noHTMLString + "\n", 0x11, false); //Toast.makeText(this, Integer.parseInt(matcher.group(1)), Toast.LENGTH_SHORT).show(); }else{ pattern = Pattern.compile("data-src=\"(.*?)\""); matcher = pattern.matcher(line); if(matcher.find()){ try { downloadFile(matcher.group(1), Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOWNLOADS).getAbsolutePath() + "/sig.bmp"); int resp = this.PrintImage(Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOWNLOADS) + "/sig.bmp", 0, 0, 0); }catch(Exception ex) { } }else { woosim.saveSpool(UTF_8, noHTMLString + "\n", 0, false); } } } bufferedReader.close(); byte[] ff ={0x0c}; woosim.controlCommand(ff, 1); woosim.printSpool(true); Toast.makeText(this, "Impressão concluida.", Toast.LENGTH_SHORT).show(); } catch (Exception e) { e.printStackTrace(); Toast.makeText(this, e.getMessage(), Toast.LENGTH_SHORT).show(); } } Agora estou com problemas a fazer o download através da InputStream e desconfio que irá acontecer também no envio vi bluetooth. Mas uma coisa de cada vez... Já li que poderia ser através de uma asyncTask mas isto parece que também já foi descontinuado. Também li qualquer coisa sobre Executors ou Threads mas ainda não entendi bem como posso fazer isto. Alguém me sabe dizer como posso fazer isto?
- 2 replies
-
- android
- concorrência
-
(and 1 more)
Tagged with:
-
Boa noite amigos, venho mais uma vez humildemente pedir vossa ajuda, estou implementando um pequeno projeto e esbarrei nessa dificuldade, não consigo salvar, atualizar, excluir nem limpar os campos, por favor peço que me ajudem a descobrir esse erro. De já meu muito obrigado. //Classe Menu import java.awt.EventQueue; import javax.swing.JFrame; import java.awt.Panel; import javax.swing.BoxLayout; import javax.swing.JTable; import javax.swing.table.DefaultTableModel; import Conexao.DAOPessoas; import Conexao.Pessoas; import javax.swing.JMenuBar; import javax.swing.JOptionPane; import javax.swing.JScrollPane; import javax.swing.JTextField; import javax.swing.JButton; import java.awt.event.ActionListener; import java.util.List; import java.awt.event.ActionEvent; public class Menu { private JFrame frame; private JTable table; private JTextField txtDigiteONome; private DAOPessoas dao; /** * Launch the application. */ public static void main(String[] args) { EventQueue.invokeLater(new Runnable() { public void run() { try { Menu window = new Menu(); window.frame.setVisible(true); } catch (NullPointerException e) { e.printStackTrace(); } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } } }); } /** * Create the application. * @throws Exception */ public Menu() throws Exception{ try { dao = new DAOPessoas(); initialize(); }catch(Exception e) { JOptionPane.showMessageDialog(null, this,"[ERRO] "+e.getMessage(), 0, null); } } /** * Initialize the contents of the frame. */ private void initialize() { frame = new JFrame(); frame.setBounds(100, 100, 600, 450); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.getContentPane().setLayout(new BoxLayout(frame.getContentPane(), BoxLayout.X_AXIS)); frame.setLocationRelativeTo(null); frame.setResizable(true); Panel panel = new Panel(); frame.getContentPane().add(panel); panel.setLayout(null); table = new JTable(); table.setBounds(278, 18, 0, 0); panel.add(table); JMenuBar menuBar = new JMenuBar(); frame.setJMenuBar(menuBar); JButton btnNewButton_1 = new JButton("CADASTRAR"); btnNewButton_1.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e){ try { Cadastro cadastroForm = new Cadastro(); cadastroForm.setVisible(true); }catch(Exception ex) { JOptionPane.showMessageDialog(btnNewButton_1, this,"[ERRO] "+ex.getMessage(), 0, null); } } }); menuBar.add(btnNewButton_1); txtDigiteONome = new JTextField(); txtDigiteONome.setToolTipText(""); menuBar.add(txtDigiteONome); txtDigiteONome.setColumns(10); JButton btnNewButton = new JButton("BUSCAR"); btnNewButton.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { carregarDados(txtDigiteONome.getText()); } }); menuBar.add(btnNewButton); // JTable e JScrollPane table = new JTable(); JScrollPane scrollPane = new JScrollPane(table); scrollPane.setBounds(10, 50, 560, 300); // Ajuste as dimensões conforme necessário panel.add(scrollPane); carregarDados(""); } public void carregarDados(String nome) { List<Pessoas> lista = dao.listar(); String[] colunas = {"ID","Nome", "Agosto", "Setembro", "Outubro", "Novembro", "Dezembro"}; DefaultTableModel modelo = new DefaultTableModel(colunas, 0); for (Pessoas p : lista) { if (nome.isEmpty() || p.getNome().toUpperCase().contains(nome.toUpperCase())) { Object[] linha = { p.getId(), p.getNome(), p.getAgosto(), p.getSetembro(), p.getOutubro(), p.getNovembro(), p.getDezembro() }; modelo.addRow(linha); } table.setModel(modelo); } } } //Classe Cadastro import java.awt.GridBagConstraints; import java.awt.GridBagLayout; import java.awt.Insets; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.JButton; import javax.swing.JCheckBox; import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JOptionPane; import javax.swing.JTextField; import Conexao.DAOPessoas; import Conexao.Pessoas; public class Cadastro extends JFrame implements ActionListener{ /** * */ private static final long serialVersionUID = 1L; private JLabel lbID; private JTextField txtID; private JLabel lbNome; private JTextField txtNome; private JLabel lbAgosto; private JCheckBox cbAgosto; private JLabel lbSetembro; private JCheckBox cbSetembro; private JLabel lbOutubro; private JCheckBox cbOutubro; private JLabel lbNovembro; private JCheckBox cbNovembro; private JLabel lbDezembro; private JCheckBox cbDezembro; private JButton btSalvar; private JButton btAtualizar; private JButton btExcluir; private JButton btLimpar; private DAOPessoas dao; public Cadastro() throws Exception { try { dao = new DAOPessoas(); //Configuração visual da rela setTitle("Cadastro dos Esponjinhas"); setSize(350, 350); setLayout(new GridBagLayout()); setResizable(false); setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE); setLocationRelativeTo(null); // Centraliza a janela na tela //Configurando o Layout "x" e "y" do formulário GridBagConstraints gbc = new GridBagConstraints(); Insets margens = new Insets(4,3,4,3); JLabel lbID = new JLabel("ID"); gbc.gridx = 0; gbc.gridy = 0; gbc.anchor = GridBagConstraints.WEST; // Alinha à esquerda gbc.insets = margens; add(lbID,gbc); JTextField txtID = new JTextField(2); txtID.setEnabled(false); gbc.gridx = 1; gbc.gridy = 0; gbc.fill = GridBagConstraints.HORIZONTAL; // Preenche horizontalmente gbc.insets = margens; add(txtID, gbc); JLabel lbNome = new JLabel("Nome"); gbc.gridx = 0; gbc.gridy = 1; gbc.insets = margens; add(lbNome, gbc); JTextField txtNome = new JTextField(); gbc.gridx = 0; gbc.gridy = 2; gbc.gridwidth = 3; // Ocupa duas colunas gbc.fill = GridBagConstraints.HORIZONTAL; // Preenche horizontalmente gbc.insets = margens; add(txtNome, gbc); JLabel lbAgosto = new JLabel("Agosto"); gbc.gridx = 0; gbc.gridy = 3; gbc.gridwidth = 1; // Restaura gridwidth para 1 gbc.fill = GridBagConstraints.NONE; // Restaura fill para NONE gbc.insets = margens; add(lbAgosto, gbc); JCheckBox cbAgosto = new JCheckBox(); cbAgosto.setSelected(false); gbc.gridx = 1; gbc.gridy = 3; gbc.insets = margens; add(cbAgosto, gbc); JLabel lbSetembro = new JLabel("Setembro"); gbc.gridx = 0; gbc.gridy = 4; gbc.insets = margens; add(lbSetembro, gbc); JCheckBox cbSetembro = new JCheckBox(); cbSetembro.setSelected(false); gbc.gridx = 1; gbc.gridy = 4; gbc.insets = margens; add(cbSetembro, gbc); JLabel lbOutubro = new JLabel("Outubro"); gbc.gridx = 0; gbc.gridy = 5; gbc.insets = margens; add(lbOutubro, gbc); JCheckBox cbOutubro = new JCheckBox(); cbOutubro.setSelected(false); gbc.gridx = 1; gbc.gridy = 5; gbc.insets = margens; add(cbOutubro, gbc); JLabel lbNovembro = new JLabel("Novembro"); gbc.gridx = 0; gbc.gridy = 6; gbc.insets = margens; add(lbNovembro, gbc); JCheckBox cbNovembro = new JCheckBox(); cbNovembro.setSelected(false); gbc.gridx = 1; gbc.gridy = 6; gbc.insets = margens; add(cbNovembro, gbc); JLabel lbDezembro = new JLabel("Dezembro"); gbc.gridx = 0; gbc.gridy = 7; gbc.insets = margens; add(lbDezembro, gbc); JCheckBox cbDezembro = new JCheckBox(); cbDezembro.setSelected(false); gbc.gridx = 1; gbc.gridy = 7; gbc.insets = margens; add(cbDezembro, gbc); JButton btSalvar = new JButton("Salvar"); gbc.gridx = 0; gbc.gridy = 8; gbc.insets = margens; add(btSalvar, gbc); JButton btAtualizar = new JButton("Atualizar"); gbc.gridx = 1; gbc.gridy = 8; gbc.insets = margens; add(btAtualizar, gbc); JButton btExcluir = new JButton("Excluir"); gbc.gridx = 2; gbc.gridy = 8; gbc.insets = margens; add(btExcluir, gbc); JButton btLimpar = new JButton("Limpar"); gbc.gridx = 3; gbc.gridy = 8; gbc.insets = margens; add(btLimpar,gbc); btSalvar.addActionListener(this); btAtualizar.addActionListener(this); btExcluir.addActionListener(this); btLimpar.addActionListener(this); setVisible(true); }catch(Exception e) { JOptionPane.showMessageDialog(this,e.getMessage()); } } public void salvar() { try{ Pessoas pessoas= new Pessoas(); //Verifica se o campo está vaisio String nome = txtNome.getText(); if (nome.isEmpty()) { JOptionPane.showMessageDialog(this, "O campo Nome não pode estar vazio.", "Erro de Validação", JOptionPane.ERROR_MESSAGE); return; } pessoas.setNome(nome); pessoas.setAgosto(cbAgosto.isSelected()); pessoas.setSetembro(cbSetembro.isSelected()); pessoas.setOutubro(cbOutubro.isSelected()); pessoas.setNovembro(cbNovembro.isSelected()); pessoas.setDezembro(cbDezembro.isSelected()); dao.salvar(pessoas); JOptionPane.showMessageDialog(this,"Salvo com sucesso!"); }catch(Exception e){ JOptionPane.showMessageDialog(this,"Erro ao Salvar! "+e.getMessage()); } } public void excluir(){ try{ Pessoas pessoas = new Pessoas(); pessoas.setNome(txtNome.getText()); dao.excluir(pessoas); JOptionPane.showMessageDialog(this,"Excluido com sucesso!"); }catch(Exception e){ JOptionPane.showMessageDialog(this,"Exclusão mal sucedida!"); } } public void atualizar(){ try{ Pessoas pessoas = new Pessoas(); pessoas.setId(Integer.parseInt(txtID.getText())); pessoas.setNome(txtNome.getText()); pessoas.setAgosto(cbAgosto.isSelected()); pessoas.setSetembro(cbSetembro.isSelected()); pessoas.setOutubro(cbOutubro.isSelected()); pessoas.setNovembro(cbNovembro.isSelected()); pessoas.setDezembro(cbDezembro.isSelected()); dao.atualizar(pessoas); JOptionPane.showMessageDialog(this,"Atualizado com sucesso!"); }catch(Exception e){ JOptionPane.showMessageDialog(this,"Erro ao Atualizar!"); } } public void limpar(){ txtID.setText(""); txtNome.setText(""); cbAgosto.setSelected(false); cbSetembro.setSelected(false); cbOutubro.setSelected(false); cbNovembro.setSelected(false); cbDezembro.setSelected(false); } public void actionPerformed(ActionEvent pessoas){ if (pessoas.getSource() == btSalvar) { salvar(); } else if (pessoas.getSource() == btAtualizar) { atualizar(); } else if (pessoas.getSource() == btExcluir) { excluir(); } else if (pessoas.getSource() == btLimpar) { limpar(); } } } //Classe DAOPessoas package Conexao; import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; import java.util.ArrayList; import java.util.List; import javax.swing.JOptionPane; public class DAOPessoas { private Connection con = null; private PreparedStatement stmt = null; private ResultSet rs = null; public DAOPessoas() throws SQLException, ClassNotFoundException{ try { Class.forName("com.mysql.cj.jdbc.Driver"); con = DriverManager.getConnection("jdbc:mysql://localhost:3306/confra","root",""); }catch(SQLException e) { JOptionPane.showMessageDialog(null, e.getMessage(), "Erro", JOptionPane.ERROR_MESSAGE); }catch (ClassNotFoundException ex) { System.out.println("Erro: Não encontrou o driver do BD."); ex.printStackTrace(); } } public void desconectar(Connection con) throws SQLException{ try { if (con != null && !con.isClosed()) { con.close(); System.out.println("Desconectou do banco de dados."); } } catch (SQLException ex) { System.out.println("Não conseguiu desconectar do BD."); ex.printStackTrace(); } } public void salvar(Pessoas pessoas) throws Exception{ try { stmt = con.prepareStatement("INSERT INTO PESSOAS(NOME, AGOSTO, SETEMBRO, OUTUBRO, NOVEMBRO, DEZEMBRO) VALUES(?,?,?,?,?,?)"); stmt.setString(1, pessoas.getNome()); stmt.setBoolean(2, pessoas.getAgosto()); stmt.setBoolean(3, pessoas.getSetembro()); stmt.setBoolean(4, pessoas.getOutubro()); stmt.setBoolean(5, pessoas.getNovembro()); stmt.setBoolean(6, pessoas.getDezembro()); stmt.executeUpdate(); }finally { if (stmt != null) { stmt.close(); } if (con != null) { desconectar(con); } } } public void atualizar(Pessoas pessoas) throws Exception{ try { stmt = con.prepareStatement("UPDATE PESSOAS SET NOME = ?, AGOSTO = ?, SETEMBRO = ?, OUTUBRO = ?, NOVEMBRO = ?, DEZEMBRO = ? WHERE ID = ?"); stmt.setString(1, pessoas.getNome()); stmt.setBoolean(2, pessoas.getAgosto()); stmt.setBoolean(3, pessoas.getSetembro()); stmt.setBoolean(4, pessoas.getOutubro()); stmt.setBoolean(5, pessoas.getNovembro()); stmt.setBoolean(6, pessoas.getDezembro()); stmt.setInt(7, pessoas.getId()); stmt.executeUpdate(); }finally { if (stmt != null) { stmt.close(); } if (con != null) { desconectar(con); } } } public void excluir(Pessoas pessoas)throws Exception{ try { stmt = con.prepareStatement("DELETE FROM PESSOAS WHERE NOME = ?"); stmt.setString(1,pessoas.getNome()); stmt.executeUpdate(); }finally { if (stmt != null) { stmt.close(); } if (con != null) { desconectar(con); } } } public List<Pessoas> listar() { List<Pessoas> lista = new ArrayList<>(); try { String sql = "SELECT * FROM PESSOAS"; stmt = con.prepareStatement(sql); rs = stmt.executeQuery(); while (rs.next()) { Pessoas pessoa = new Pessoas(); pessoa.setId(rs.getInt("ID")); pessoa.setNome(rs.getString("NOME")); pessoa.setAgosto(rs.getBoolean("AGOSTO")); pessoa.setSetembro(rs.getBoolean("SETEMBRO")); pessoa.setOutubro(rs.getBoolean("OUTUBRO")); pessoa.setNovembro(rs.getBoolean("NOVEMBRO")); pessoa.setDezembro(rs.getBoolean("DEZEMBRO")); lista.add(pessoa); } }catch (Exception e) { e.printStackTrace(); } finally { try { if (rs != null) { rs.close(); }if (stmt != null) { stmt.close(); }if (con != null) { desconectar(con); } } catch (SQLException e) { e.printStackTrace(); } } return lista; } } //Classe Pessoas package Conexao; public class Pessoas { //Objetos da classe private int id; private String nome; private Boolean agosto; private Boolean setembro; private Boolean outubro; private Boolean novembro; private Boolean dezembro; //Getters e Setters public int getId() { return id; } public void setId(int id) { this.id = id; } public String getNome() { return nome; } public void setNome(String nome) { this.nome = nome; } public Boolean getAgosto() { return agosto; } public void setAgosto(Boolean agosto) { this.agosto = agosto; } public Boolean getSetembro() { return setembro; } public void setSetembro(Boolean setembro) { this.setembro = setembro; } public Boolean getOutubro() { return outubro; } public void setOutubro(Boolean outubro) { this.outubro = outubro; } public Boolean getNovembro() { return novembro; } public void setNovembro(Boolean novembro) { this.novembro = novembro; } public Boolean getDezembro() { return dezembro; } public void setDezembro(Boolean dezembro) { this.dezembro = dezembro; } }
-
Classe inicial import GUI.Tela; /* * Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license */ /** * * @author User */ public class Principal { public static void main(String[] args) { Tela tela = new Tela(); tela.setVisible(true); } } Este é o DAO: package Conexao; import OBJ.Residencia; import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; import java.sql.ResultSet; /** * * @author User */ public class DAO { private Connection con = null; private PreparedStatement stmt = null; private ResultSet rs = null; public DAO() throws Exception{ Class.forName("com.mysql.cj.jdbc.Driver"); con = DriverManager.getConnection("jdbc:mysql://localhost:3306/locar","root",""); } public void incluir(Residencia residencia) throws Exception{ stmt = con.prepareStatement("INSERT INTO CAD(NOME, ENDERECO, ESTADO, IPTU, TIPO) VALUES(?,?,?,?,?)"); stmt.setString(1, residencia.getNome()); stmt.setString(2, residencia.getEndereco()); stmt.setString(3, residencia.getEstado()); stmt.setDouble(4, Double.valueOf(residencia.getIptu())); stmt.setString(5, residencia.getTipo()); stmt.executeUpdate(); stmt.close(); } public void alterar(Residencia residencia) throws Exception{ stmt = con.prepareStatement("UPDATE CAD SET NOME = ?, ENDERECO = ?, ESTADO = ?, IPTU = ?, TIPO = ? WHERE CODIGO = ?"); stmt.setString(1, String.valueOf(residencia.getCodigo())); stmt.setString(2, residencia.getNome()); stmt.setString(3, residencia.getEndereco()); stmt.setString(4, residencia.getEstado()); stmt.setDouble(5, residencia.getIptu()); stmt.setString(6, residencia.getTipo()); stmt.executeUpdate(); stmt.close(); } public void excluir(Residencia residencia) throws Exception{ stmt = con.prepareStatement("DELETE FROM CAD WHERE CODIGO = ?"); stmt.setInt(1, residencia.getCodigo()); stmt.executeUpdate(); stmt.close(); } public void consultar(Residencia residencia) throws Exception{ stmt = con.prepareStatement("SELECT * FROM CAD WHERE CODIGO = ?"); stmt.setInt(1 , residencia.getCodigo()); rs = stmt.executeQuery(); if(rs.next()){ residencia.setCodigo(rs.getInt(1)); residencia.setNome(rs.getString(2)); residencia.setEndereco(rs.getString(3)); residencia.setEstado(rs.getString(4)); residencia.setIptu(rs.getDouble(5)); residencia.setTipo(rs.getString(6)); } stmt.close(); } } Aqui temos a classe que capta os dados e cuida do grafico package GUI; import Conexao.DAO; import OBJ.Residencia; import java.awt.FlowLayout; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.ButtonGroup; import javax.swing.JButton; import javax.swing.JComboBox; import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JList; import javax.swing.JOptionPane; import javax.swing.JRadioButton; import javax.swing.JTextField; import javax.swing.WindowConstants; /** * * @author User */ public class Tela extends JFrame implements ActionListener { private JLabel lbNome = null; private JTextField txtNome = null; private JLabel lbCodigo = null; private JTextField txtCodigo = null; private JLabel lbEstado = null; private JComboBox<String> cbEstado = null; private JLabel lbIPTU = null; private JTextField txtIPTU = null; private JRadioButton rbCasa = null; private JRadioButton rbApartamento = null; private ButtonGroup bgEscolha = null; private JLabel lbEndereco = null; private JTextField txtEndereco = null; private JButton bntIncluir = null; private JButton bntAlterar = null; private JButton bntExcluir = null; private JButton bntConsultar = null; private JButton bntLimpar = null; private JButton bntSair = null; private DAO dao; public Tela(){ super("SYS LOCAÇÂO"); try{ dao = new DAO(); setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE); setLayout(new FlowLayout()); setSize(600,200); setResizable(false); setLocationRelativeTo(null); String[] estados = { " - ESCOLHA - ", "ALAGOAS", "BAHIA", "CEARÁ", "MARANHÃO", "PIAUÍ", "PARAIBA", "PERNAMBUCO", "RIO GRANDE DO NORTE", "SERGIPE" }; lbEndereco = new JLabel(); lbEndereco.setText("Endereço: "); txtEndereco = new JTextField(45); rbCasa = new JRadioButton("Casa"); rbCasa.setSelected(true); rbApartamento = new JRadioButton("Apartamento"); bgEscolha = new ButtonGroup(); bgEscolha.add(rbCasa); bgEscolha.add(rbApartamento); lbNome = new JLabel(); lbNome.setText("Nome: "); txtNome = new JTextField(45); lbCodigo = new JLabel(); lbCodigo.setText("Código: "); txtCodigo = new JTextField(10); lbEstado = new JLabel(); lbEstado.setText("Estado: "); cbEstado = new JComboBox<>(estados); lbIPTU = new JLabel(); lbIPTU.setText("Valor IPVA: "); txtIPTU = new JTextField(45); bntIncluir = new JButton(); bntIncluir.setText("Incluir"); bntAlterar = new JButton(); bntAlterar.setText("Alterar"); bntExcluir = new JButton(); bntExcluir.setText("Excluir"); bntConsultar = new JButton(); bntConsultar.setText("Consultar"); bntLimpar = new JButton(); bntLimpar.setText("Limpar"); bntSair = new JButton(); bntSair.setText("Sair"); rbCasa.addActionListener(this); rbApartamento.addActionListener(this); bntIncluir.addActionListener(this); bntAlterar.addActionListener(this); bntExcluir.addActionListener(this); bntConsultar.addActionListener(this); bntLimpar.addActionListener(this); bntSair.addActionListener(this); add(lbCodigo); add(txtCodigo); add(rbCasa); add(rbApartamento); add(lbEstado); add(cbEstado); add(lbNome); add(txtNome); add(lbEndereco); add(txtEndereco); add(lbIPTU); add(txtIPTU); add(bntIncluir); add(bntAlterar); add(bntExcluir); add(bntConsultar); add(bntLimpar); add(bntSair); }catch(Exception e){ JOptionPane.showMessageDialog(rootPane, "[ERRO] - "+e.getMessage()); } } private void incluir(){ try{ Residencia imovel = new Residencia(); if (rbCasa.isSelected()) { imovel.setTipo("Casa"); } else if (rbApartamento.isSelected()) { imovel.setTipo("Apartamento"); } imovel.setNome(txtNome.getText()); imovel.setEndereco(txtEndereco.getText()); imovel.setEstado(String.valueOf(cbEstado.getSelectedItem())); imovel.setIptu(Double.valueOf(txtIPTU.getText())); dao.incluir(imovel); JOptionPane.showMessageDialog(rootPane, "Inclusão efetuada com sucesso!"); }catch(Exception e){ JOptionPane.showMessageDialog(rootPane, "Erro ao tentar Incluir!"+ e.getMessage()); } } private void alterar(){ try{ Residencia imovel = new Residencia(); imovel.setCodigo(Integer.valueOf(txtCodigo.getText())); imovel.setNome(txtNome.getText()); imovel.setEndereco(txtEndereco.getText()); imovel.setEstado(String.valueOf(cbEstado.getSelectedItem())); imovel.setIptu(Double.valueOf(txtIPTU.getText())); if (rbCasa.isSelected()) { imovel.setTipo("Casa"); } else if (rbApartamento.isSelected()) { imovel.setTipo("Apartamento"); } dao.alterar(imovel); JOptionPane.showMessageDialog(rootPane, "Alteração efetuada com sucesso!"); }catch(Exception e){ JOptionPane.showMessageDialog(rootPane, "Erro ao tentar Alterar!"+ e.getMessage()); } } private void excluir(){ try{ Residencia imovel = new Residencia(); imovel.setCodigo(Integer.valueOf(txtCodigo.getText())); dao.excluir(imovel); JOptionPane.showMessageDialog(rootPane, "Exclusão efetuada com sucesso!"); }catch(Exception e){ JOptionPane.showMessageDialog(rootPane, "Erro ao tentar Excluir!"); } } private void consultar(){ try{ Residencia imovel = new Residencia(); imovel.setCodigo(Integer.valueOf(txtCodigo.getText())); dao.consultar(imovel); txtCodigo.setText(String.valueOf(imovel.getCodigo())); txtNome.setText(imovel.getNome()); txtEndereco.setText(imovel.getEndereco()); cbEstado.setSelectedItem(imovel.getEstado()); txtIPTU.setText(String.valueOf(imovel.getIptu())); if (imovel.getTipo().equals("Casa")) { rbCasa.setSelected(true); } else { rbApartamento.setSelected(true); } }catch(Exception e){ JOptionPane.showMessageDialog(rootPane, "Erro ao tentar Consultar!"+ e.getMessage()); } } private void limpar(){ txtCodigo.setText(null); txtNome.setText(null); txtEndereco.setText(null); txtIPTU.setText(null); cbEstado.setSelectedIndex(0); } private void sair(){ dispose(); } public void actionPerformed(ActionEvent aux){ if(aux.getSource() == bntIncluir){ incluir(); }else if(aux.getSource() == bntAlterar){ alterar(); }else if(aux.getSource() == bntExcluir){ excluir(); }else if(aux.getSource() == bntConsultar){ consultar(); }else if(aux.getSource() == bntLimpar){ limpar(); }else if (aux.getSource() == bntSair){ sair(); } } } Aqui a Classe que recebe os dados: package Negocios; /** * * @author User */ public class Produtos { private String codigo; private String descricao; private double valorUnit; private int qtEstoque; public String getCodigo() { return codigo; } public void setCodigo(String codigo) { this.codigo = codigo; } public String getDescricao() { return descricao; } public void setDescricao(String descricao) { this.descricao = descricao; } public double getValorUnit() { return valorUnit; } public void setValorUnit(double valorUnit) { this.valorUnit = valorUnit; } public int getQtEstoque() { return qtEstoque; } public void setQtEstoque(int qtEstoque) { this.qtEstoque = qtEstoque; } } Baco de dados: CREATE TABLE CAD( CODIGO INT PRIMARY KEY AUTO_INCREMENT, NOME VARCHAR(40) NOT NULL, ENDERECO VARCHAR(40) NOT NULL, ESTADO VARCHAR(20) NOT NULL, IPTU DOUBLE NOT NULL, TIPO VARCHAR(20) );
-
Olá Pessoal, Eu estou iniciar a minha programação em java, tenho de fazer um texto e numa estrutura de árvore binária tenho de ver nº de ocorrências de cada caráter e a sua frequência relativa num fila de prioridade, os heaps. E para linhas onde estão as palavras uma lista ligada. Será que alguém me pode orientar num que tenho de fazer ? Obrigado
-
Boas, Alguem me pode dizer se o grafico de consumo de heap abaixo é normal? Este garfico de consumo da app a ser executada durante 1 dia e meio +/-. A aplicaçao basicamente faz a mesma coisa durante todo o tempo, que no fundo é de x em x tempo por exemplo de 5 em 5 minutos, faz um HTTP Post request etc. Nao entendo porque estes saltos de consumo, alguem me consegue ajudar a analizar?
-
Caros, criei um endPoint que recebe no postman credittypeVAR = HIP,JUR (que seria uma lista). Isto chega no controler certinho dentro de List(String) credittypeVAR. Sendo que quando eu uso na chamada ao repositorio “AND (:credittypeVAR IS NULL OR :credittypeVAR = ‘’” OR credittype IN (:credittypeVAR))" este valor não é consultado. Eu tenho uma erro oracle.jdbc.OracleDatabaseException: ORA-00920: operador relacional inválido o que pode ser? Se eu fizer "Matelado" assim "AND (:credittypeVAR IS NULL OR :credittypeVAR = ‘’” OR credittype IN ('HIP','JUR'))" Funciona. estou a usar o Oracle.
-
Olà! Eu atulizei o spring boot do 2 para o 3 e o Java do 8 para o 17,em um sistema e tenho este erro que ainda não consegui resolver. Alguém sabe o que fazer? org.springframework.dao.InvalidDataAccessApiUsageException: org.hibernate.QueryException: Parameter 2 of function extract() has type TEMPORAL, but argument is of type java.time.Duration Não tenho certeza se tem a ver com este método: public static Query updateSchedulerControl(EntityManager em, String query, String podId) { Query q = em.createQuery(query); q.setParameter("podId", podId); q.setParameter("sysDate", Timestamp.valueOf(LocalDateTime.now())); return q; }
-
Preciso de ajuda a realizar uma ficha de Java! Alguém me consegue ajudar?
-
package jogoGalo; import java.util.Scanner; public class jogoGalo { static char tabuleiro [][]; // inicia o tabuleiro public static void inicializaçãoDoTabuleiro () { tabuleiro = new char[3][3]; for (int i = 0; i < tabuleiro.length; i++) { for (int j = 0; j < tabuleiro.length; j++) { tabuleiro[i][j]=' '; } } } // desenha o tabuleiro public static void mostrarTabuleiro () { tabuleiro = new char[3][3]; for (int i = 0; i < tabuleiro.length; i++) { System.out.println("----------"); System.out.print("| "); for (int j = 0; j < tabuleiro.length; j++) { System.out.print(" | "); } System.out.println(); } System.out.println("-----------"); } // faz uma jogada, mas não guarda o simbolo no tabuleiro não sei porque public static boolean fazerJogada(char simbolo){ Scanner teclado = new Scanner(System.in); System.out.println("Insira a linha onde quer jogar"); int linha = teclado.nextInt(); if((linha < 1) || (linha > 3)){ //linha invalida return false; } System.out.println("Insira a coluna onde quer jogar"); int coluna = teclado.nextInt(); if((coluna < 1) || (coluna > 3)){ //coluna invalida return false; } //guardar a jogada que foi feita tabuleiro[linha-1][coluna-1] = simbolo; return true; //devolver sucesso } public static void main(String[] args) { // TODO Auto-generated method stub char simboloCorrente='x'; inicializaçãoDoTabuleiro(); fazerJogada(simboloCorrente); mostrarTabuleiro(); } } Olá. Eu precisava que me dessem pistas, sobre um problema neste código: Faço uma jogada mas o tabuleiro é mostrado vazio. Poderiam, assim por alto, detectar o erro? Best regards
-
ola, eu estou a fazer o jogo tetris em processing para um trabalho de fim de semestre, mas não consegui ainda fazer as pecas se mexeram e rodarem. Também queria q aparecesse a previsão da queda da peça. Se alguém pode se me ajudar com alguma dica ou algo assim agradecia.
-
Bom dia Estou a tentar assinar vários documentos PDF com o cartão de cidadão mas queria que fosse pedido o pin da assinatura apenas uma vez, já que isto seria para assinar vários de seguida e não é pratico estar sempre a pedir o PIN. Sei que o middleware do CC permite isso através do signbatch e que funciona mas não vou poder usar isso no projecto que estou a fazer. Tenho de fazer manualmente. Tentei o PKCS#11 direto mas pede-me sempre o PIN cada vez que quero assinar. Alguém já fez alguma coisa parecida? Obrigado
-
Olá a todos Sou de Angola estou desenvolvendo um software de facturação usando java e precisso de ajuda na criação do SAF-T(AO). Tentei pesquisar mas quase não existe conteudo relacionado com o assunto em Angola. Alguém poderia me ajudar?
-
Olá caros, tive um problema com meu sistema operacional (Windows 10) e tive que formatar meu computador. Estou programando no Eclipse com JAVA no Spring Boot e coloquei o Swagger. Quando eu subo para servidor, depois de ter compilado (java -jar target/nomeDoArquivo.Jar) e tento abrir o Swagger (http://localhost:8080/swagger-ui) da este erro "O acesso a localhost foi recusado" no navegador. Como eu resolvo isto? Grato.
-
Há por aqui alguem com experiência em Java em iSeries (AS400)?
-
Olá! Alguém pode me ajudar com uma solução. Preciso transforma um numero BigDecimal que tem várias casas decimais depois do ponto em duas casas depois do ponto e ainda e zero até quatro deve ser arredondado para baixo e cinco até nove deve ser arredondado para cima. Já vi algumas coisas como isso: BigDecimal bd2 = new BigDecimal(1.815f).setScale(2, RoundingMode.HALF_EVEN); Mas, não funciona pro meu caso.
-
Bom dia! Alguém poderia me ajudar com o código para o problema abaixo? É um exercício sugerido por um professor de um curso de Engenharia. Abaixo está o solicitado, se alguém puder ajudar, ficaria muito grato. "Em exercícios anteriores, foi criado um algoritmo para converter um código de cores de resistores em valor numérico da resistência. Agora, iremos fazer o inverso. Faça um programa que, ao informar o valor da resistência, retorne o código de cores do resistor. Obs.: Basta considerar valores de resistência a partir de 10 Ω. Em outras palavras, basta considerar as cores preto, marrom, vermelho, laranja, amarelo, verde, azul, violeta, cinza e branco. Não precisa considerar resistores maiores que 91 MΩ. Em outras palavras, eventualmente não será necessário utilizar os tipos de dados unsigned int ou long int para armazenar os valores dos resistores, já que os valores não serão muito grandes numericamente. Parte 1 ----> Após as mensagens de boas-vindas e informações, incluindo o nome do autor do programa, o usuário deve entrar no teclado com um valor inteiro entre 10 e 91000000. O programa só pode avançar caso o usuário digite um número inteiro nesta faixa de valores. Obs.: Não precisa testar se o usuário digitou um número inteiro. Complemento: ao pressionar enter, deve ser impresso ‘Ω’ após o número digitado. Parte 2 ----> O computador deve identificar os dois primeiros dígitos e informar se o resistor faz parte da série E-24. (10, 11, 12, 13, 15, 16, 18, 20, 22, 24, 27, 30, 33, 36, 39, 43, 47, 51, 56, 62, 68, 75, 82, 91) Obs.: Lembre-se de fazer soluções simples e curtas. Complemento: se não fizer parte do E-24, perguntar novamente pelo resistor. Parte 3 ----> Deve ter um método que recebe um número, entre 0 e 9, e retorna uma string com o nome da cor. Esse método deve ser utilizado para obter as 3 cores. Parte 4 ----> As 3 cores retornadas devem ser armazenadas em um vetor de string. Imprimir na tela as três cores. Complemento: A chamada do método desenvolvido em (3) deve estar dentro de um laço de repetição. Parte 5 ----> Pergunte ao usuário a potência do resistor. Retorne para o usuário a máxima tensão que aquele resistor pode ser submetido ( 𝑉=√𝑃.𝑅 ). O cálculo deve ser feito dentro de um novo método.
-
Boas tardes, Na unidade hoteleira onde trabalho vamos implementar o pagamento por Referência Multibanco através da SIBS. Necessitamos agora de, do nosso lado, ter um executável em JAVA com as informações necessárias para gerar a referência multibanco (nome, data, entidade, etc). Temos o código em JAVA da parte da SIBS para usar no dito executável/programa. Qual a melhor forma de fazer este executável para uma pessoa que não tem grande experiência em JAVA? Tenho o Eclipse instalado, é necessária mais alguma ferramenta? Obrigado desde já.
-
Boa noite, Sou iniciante na programação e não estou a conseguir parar o loop deste código: freelancersarray = []; var xMen = ['Professor X', 'Cyclops', 'Beast', 'Iron-Man', 'Hobgoblin']; var freelancers = ['Legion', 'Magneto']; xMen.pop(); xMen.pop(); for(i=0, j=0; i<freelancers.length; i++, j++) { freelancers.push(...xMen); console.log(freelancers[i]); } A ideia é retirar da variável xMen os 2 últimos itens e depois fazer um for loop em que junte o array xMen ao array freelancers. O código resulta só que está a fazer um loop infinito em vez de parar quando imprime os dois arrays. Se alguém eme conseguir ajudar a perceber porquê agradeço.
-
Tópico relativo ao sistema SAFE: https://www.autenticacao.gov.pt/serviço-de-assinatura-de-faturas-eletrónicas-safe- Serviço de Assinatura de Faturas Eletrónicas (SAFE) O Serviço de Assinatura de Faturas Eletrónicas (SAFE) permite que o administrador, gerente ou diretor de uma empresa possa assinar faturas eletrónicas em softwares de faturação integrados com o SAFE. A assinatura digital através do SAFE é certificada pelo Estado Português. A documentação técnica do Serviço de Assinatura de Faturas Eletrónicas (SAFE) está disponível em: https://cloud.ama.gov.pt/index.php/s/2CV8yEJLLOxwjQA password: 12345 Em ambiente de qualidade devem utilizar as credenciais que constam na documentação. O procedimento para integração do OAuth e a documentação necessária está disponível em:https://cloud.ama.gov.pt/index.php/s/NfWvh2ERmJ22dFd password: 12345
-
Olá Viva, Ando com um problema já algum tempo. Necessito de assinar um PDF, recorrendo aos serviços da AMA, com Chave Móvel Digital. Recentemente vi um tópico em C# aqui. Tendo por base os contributos do @Labreu, tentei implementar o projeto em java (está disponível uma versão no github), não correu bem. Enquadramento: Obtém certificados utilizador Cria assinatura vazia no PDF Obtém hash do PDF a assinar, com prefixo da AMA Cria PDF temporário com a assinatura vazia Envia hash para AMA AMA -> envio SMS para envio de hash assinada Obtenção de hash assinada e inclusão da mesma e PDF. Criação do PDF assinado, mas falha. Alguma ideia/sugestão? Obrigado
-
Estou a tentar programar em vb.net um executavel java. Ele no gestor de tarefas do windows aparece com estes parametros de linha de comandos, e tenho de usar esses comandos senão meus objetos nao funcionam. Estou a lançar esse executável com estes comandos: "C:\Holyrics\Holyrics\jre\bin\javaw.exe" -Xms850m -Xmx850m -XX: MaxDirectMemorySize = 512m -Dsun.java2d.d3d=False -Dfile.encoding=UTF-8 -jar "C:\Holyrics\Holyrics.exe" Mas seu eu introduzir esse comando em algum lado o java dá-me erro e eu não sei porquê. O erro obtido é este: Não consigo assim perceber como colocar iste comando.
-
Boa tarde Estou a construir um sistema solar processing, mas aoa colocar as imagens nos planetas as imagens estao repetir-se, alguem me pode ajudar? obrigada import peasy.*; Planet sun; PeasyCam cam; PImage sunTexture; PImage[] textures = new PImage[3]; void setup() { size(600, 600, P3D); sunTexture = loadImage("sun.jpg"); textures[0] = loadImage("mars.jpg"); textures[1] = loadImage("earth.jpg"); textures[2] = loadImage("mercury.jpg"); cam = new PeasyCam(this, 500); sun = new Planet(50, 0, 0, sunTexture); sun.spawnMoons(4, 1); }