Jump to content

Search the Community

Showing results for tags 'java'.



More search options

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Content Type


Forums

  • Bem-vindos ao Portugal-a-Programar
    • Sugestões, Críticas ou Dúvidas relativas ao P@P
    • Acerca do P@P
  • Comunidade a Trabalhar
    • Wiki P@P
    • Apresentação de Projectos de Programação
    • Downloads
  • Revista PROGRAMAR
    • Revista PROGRAMAR
  • Desenvolvimento Geral
    • C
    • C++
    • Java
    • Haskell
    • Pascal
    • Python
    • Bases de Dados
    • Dispositivos Móveis
    • Outras Linguagens
  • Desenvolvimento Orientado para Web
    • PHP
    • HTML
    • CSS
    • Javascript
    • Outras Linguagens de WebDevelopment
    • Desenvolvimento Web
  • Desenvolvimento .NET
    • C#
    • Visual Basic .NET
    • ASP.NET
    • WPF & SilverLight
  • Software e Sistemas Operativos
    • Software de Produtividade
    • Sistemas Operativos
    • Apresentação de Software
  • Informática
    • Interfaces Visuais
    • Computação Gráfica
    • Algoritmia e Lógica
    • Segurança e Redes
    • Hardware
    • Electrónica
    • Automação Industrial
    • Matemática
    • Dúvidas e Discussão de Programação
    • Notícias de Tecnologia
  • Outras Áreas
    • Dúvidas Gerais
    • Discussão Geral
    • Eventos
    • Anúncios de Emprego
    • Tutoriais
    • Snippets / Armazém de Código
  • Arquivo Morto
    • Projectos Descontinuados
    • System Empires

Blogs

  • Blog dos Moderadores
  • Eventos
  • Notícias de Tecnologia
  • Blog do Staff
  • Revista PROGRAMAR
  • Projectos
  • Wiki

Categories

  • Revista PROGRAMAR
  • Tutoriais
  • Textos Académicos
  • Exercícios Académicos
    • Exercícios c/ Solução
    • Exercícios s/ Solução
  • Bibliotecas e Aplicações
  • Outros

Find results in...

Find results that contain...


Date Created

  • Start

    End


Last Updated

  • Start

    End


Filter by number of...

Found 3,451 results

  1. Luis Nina

    Código Java para certificar APP

    Alguém sabe onde encontrar, tem ou quer vender código em Java para certificar uma app android. geração de hash, exportar Saft-pt, utilizar os webservices da AT, etc.
  2. Preciso de ajuda neste programa em eclipse, tenho que fazer gestão dos contactos dos funcionários de uma empresa, mas a minha orientadora diz que tá muito imcompleto se me conseguirem ajudar agradecia, obrigado import java.io.FileWriter; import java.io.IOException; import java.io.PrintWriter; import java.util.Scanner; public class gestaoPrograma { public static void main(String[] args) throws IOException { Scanner ler = new Scanner(System.in); String telefoneFuncionario; String nomeFuncionario,enderecoFuncionario,emailFuncionario; String linha; String codigoFunc; FileWriter arq = new FileWriter("gestao.txt"); PrintWriter salvar = new PrintWriter(arq); System.out.printf("Informe o codigo do Funcionario:\n"); codigoFunc = ler.toString(); System.out.printf("Informe o nome do Funcionario:\n"); nomeFuncionario = ler.nextLine(); System.out.printf("Informe o E-mail do Funcionario:\n"); emailFuncionario = ler.nextLine(); System.out.printf("Informe o endereço do Funcionario:\n"); enderecoFuncionario = ler.nextLine(); System.out.printf("Informe o número de telefone do funcionario:\n"); telefoneFuncionario = ler.toString(); linha=nomeFuncionario+";"+emailFuncionario+";"+enderecoFuncionario+";"+telefoneFuncionario+";"; salvar.println(linha); arq.close(); } }
  3. Rui Moreira

    Erro PropertyValueFactory

    Boa noite, estou a desenvolver uma aplicação em Java utilizando o Eclipse quero mostrar uns valores de uma tabela da base de dados e dá me o seguinte erro: javafx.scene.control.cell.PropertyValueFactory getCellDataReflectively WARNING: Can not retrieve property 'Preço' in PropertyValueFactory: javafx.scene.control.cell.PropertyValueFactory@3a2afc88 with provided class type: class model.entities.Lidl java.lang.IllegalStateException: Cannot read from unreadable property Preço Será que alguém me podia ajudar?
  4. bruno21

    Jogo de tabuleiro com listas ligadas

    Boas, tenho uma jogo de tabuleiro para implementar, e querem que implemente com listas ligadas, o jogo é o yote. Eu sem as listas ligadas consigo programar bem, agora com as listas ligadas não sei como proceder na implementação para controlar as casas do tabuleiro. Se me conseguirem ajudar fico muito grato!
  5. Estamos no ano de 2020. Aplicativos Desktop ainda vale a pena desenvolver hoje em dia ?
  6. DarkKnight

    Jogo do galo (verificação de vitória)

    import java.util.Scanner; public class Galo { static char [][]tabuleiro; Scanner teclado = new Scanner(System.in); public static void inicializacaoTabuleiro () { tabuleiro = new char[3][3]; for (int linha=0 ;linha <3; linha ++) { for (int coluna=0 ;coluna <3; coluna ++) { tabuleiro[linha][coluna]=' '; } } } public static void mostraTabuleiro() { for (int linha=0 ;linha <3; linha ++) { System.out.println("------------") ; System.out.print("| ") ; for (int coluna=0 ;coluna <3; coluna ++) { System.out.print(tabuleiro[linha][coluna] + " | ") ; } System.out.println(); } System.out.println("------------") ; } 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>3 || linha <1) { return false; } System.out.println("Insira a linha onde quer jogar") ; int coluna =teclado.nextInt(); if( coluna>3 || coluna <1) { return false; } tabuleiro[linha-1][coluna-1]=simbolo; return true; } public static boolean verificacaoVitoria ( char c) { for (int i=0; i<3;i++) { for (int j=0; j<3;j++) { tabuleiro[i][j]=c; if( i==i+j) { return false; } } } return true; } public static void main(String[] args) { // TODO Auto-generated method stub inicializacaoTabuleiro(); //boolean jogada= true; boolean jogoTerminado; char simbolocorrente='X'; //jogoTerminado=verificacaoVitoria('X'); while(verificacaoVitoria(simbolocorrente)==false) { fazerJogada(simbolocorrente); if(simbolocorrente=='X') { simbolocorrente='O'; } else simbolocorrente='X'; mostraTabuleiro(); // jogoAcabado(); } } } Olá pessoal. Tenho uma dúvida aqui no meu projecto do jogo do galo que agradecia que me pudessem ajudar. Eu fiz uma função (verificacaoVitoria) que verifica se as linhas horizontais contêm uma linha preenchida pelo mesmo símbolo. Só que quando corro o programa verifico através do debug que o código da função verificacaoVitoria não é chamado, como se estivesse à parte do resto. Alguém me pode ajudar a "ligar" a função ao resto do código?
  7. public class PrincipalActivity extends AppCompatActivity { private RecyclerView recyclerView; private List<MenuVertical> postagens = new ArrayList<>(); @SuppressLint("WrongConstant") @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_principal); recyclerView = findViewById(R.id.recyclerView); //Define layout LinearLayoutManager layoutManager = new LinearLayoutManager(this); layoutManager.setOrientation(LinearLayout.VERTICAL); //RecyclerView.LayoutManager layoutManager = new GridLayoutManager(this, 2); recyclerView.setLayoutManager(layoutManager); //Define adapter this.criarListagem(); Adapter adapter = new Adapter(postagens); recyclerView.setAdapter(adapter); } public void criarListagem() { MenuVertical p = new MenuVertical("Émerson Henrique", "Aqui ficam os Textos", R.drawable.miami, "Alguns eu escrevi e outros eu achei que devia colocar"); this.postagens.add(p); p = new MenuVertical("Usuário Henrique", "Aqui ficam algumas músicas", R.drawable.musica, "Musicas Selecionas por mim"); this.postagens.add(p); p = new MenuVertical("Usuário Émerson", "logo em breve vou fazer mais", R.drawable.manutencao, "Em manutenção"); this.postagens.add(p); } } public class Adapter extends RecyclerView.Adapter { private List<MenuVertical> postagens; public Adapter(List<MenuVertical> listaPostagens) { this.postagens = listaPostagens; } @NonNull @Override public MyViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) { // tranformar o adapter xml em item view View itemLista = LayoutInflater.from(parent.getContext()).inflate(R.layout.adapter_lista_vertical, parent, false); return new MyViewHolder(itemLista); } @Override public void onBindViewHolder(@NonNull MyViewHolder holder, int position) { MenuVertical postagem = postagens.get(position); holder.nome.setText(postagem.getNome()); holder.subTitulo.setText(postagem.getSubTitulo()); holder.imagePostagem.setImageResource(postagem.getImagem()); holder.descricao.setText(postagem.getDescricao()); //holder.buttonProx.setOnClickListener((View.OnClickListener) postagem.getButtonProx()); //holder.genero.setText(filme.getGenero()); //holder.ano.setText(filme.getAno()); } @Override public int getItemCount() { return postagens.size(); } public class MyViewHolder extends RecyclerView.ViewHolder { private TextView nome; private TextView subTitulo; private ImageView imagePostagem; private TextView descricao; //Button buttonProx; public MyViewHolder(@NonNull View itemView) { super(itemView); nome = itemView.findViewById(R.id.textNome); subTitulo = itemView.findViewById(R.id.textSubTitulo); imagePostagem = itemView.findViewById(R.id.imagePostagem); descricao = itemView.findViewById(R.id.textDescricao); // buttonProx = itemView.findViewById(R.id.buttonProx); } } }
  8. daniel_silva

    Ordenar por data em ArrayList

    Boa tarde, Estou a fazer um projecto em que regista consultas de utentes e a minha dúvida é, como posso ordenar essa lista pela data de consultas? Estou a usar um arraylist para guardar os registos. Obrigado.
  9. DarkKnight

    ANSWERED Imprimir resultado de split

    import java.lang.*; import java.util.*; import java.util.Scanner; public class firstLast { public static void main(String[] args) { // TODO Auto-generated method stub Scanner teclado= new Scanner(System.in); String nome=teclado.next(); String[] nome2 = nome.split(" "); System.out.println(nome2); } } Boa noite. Pretendo escrever um nome e fazer split através do método da classe String.Só que o output do código é isto: imput -miguel paulo output -[Ljava.lang.String;@7d4991ad Alguém me pode dizer porque é que ele reage assim?
  10. DarkKnight

    Uso de bibliotecas

    Olá pessoal. Sou novo nesta área e tenho uma dúvida que mesmo corra o risco de ser estúpida tenho de fazer. A minha questão prende-se com o pragmatismo associado uso de bibliotecas (java neste caso).É suposto em contexto laboral usar bibliotecas - métodos funções e objectos já criados- para concluir a tarefa proposta? É que me parece que o pessoal na net usa muita coisa já criada por outros sendo que o código por vezes parece blocos de lego para uma dada construção
  11. Gonçalo

    Problema JAVA

    Boa noite, comecei há uma semana a programar em java por ser a linguagem de uma unidade curricular na Universidade. Fui deparado com o seguinte problema: Considere que um determinado parque de estacionamento pratica os preços indicados na tabela seguinte: 10 minutos 0,20 1ª hora 1,2€ 2ª hora 1€ horas seguintes 0,70€ Escreva um programa que, dado o tempo de estacionamento em horas e minutos, determine o total a pagar. O período de estadia, para além da hora completa, é sempre taxado em períodos de 10 minutos. Este foi o código que escrevi: package javaapplication18; import java.util.Scanner; public class NewClass { public static void main(String[] args) { double horas, minutos, preço1, preço2, preço3, preço4; Scanner ler = new Scanner(System.in); System.out.println("Horas: "); horas=ler.nextInt(); System.out.println("Minutos: "); minutos=ler.nextInt(); preço1=1.2; preço2=2.2; preço3=2.2 + 0.2*minutos + 0.7*horas - 2; if (horas <= 1) { System.out.println("Preço: " +preço1); if (horas<=2) { System.out.println("Preço: " +preço2); if (horas>2) { System.out.println("Preço: " +preço3); } } } } } Se alguém me conseguisse ajudar ficava muito agradecido.
  12. Nuno Miguel

    iText geração formulários com iText

    Estou a criar um formulário dinâmico em pdf, através da api iText7. O formulário consiste em vários campos que são dinâmicos e que por isso podem ser de vários tipos, string, inteiros, text, file, date etc. Para isso, eu crio o pdfCrio os campos de acordo com os seus tipos e atribuo "tags" a esses campos. Depois do lado do servidor, leio esse ficheiro, faço o corrimento desses campos/tags e com dados, associado a tags com o mesmo nome e que vêm de uma tabela da base de dados... faço o match com as respectivas tags do formulário.. preenchendo os seus valores. Até aqui tudo bem.. percorria os 'fields' e fazia o setValue(...).. excepto quando era do tipo imagem.. pois se pusesse os bytes ele não funcionava. Na documentação deles aqui deram-me esta solução: CustomButton ad = new CustomButton((PdfButtonFormField) form.getField("advertisement")); ad.setImage(ImageDataFactory.create(resource)); form.removeField("advertisement"); doc.add(new Paragraph().add(ad)); Basicamente pelo que percebi.. é uma martelada.. em vez de criar um campo do tipo imagem no pdf, crio um campo do tipo button e depois customizo-o com a imagem.. Funcionou muito bem durante vários meses até que alguém se lembrou de pôr não só uma imagem na primeira página do pdf (como era normal) mas tb na segunda.. e nestes casos a imagem que teoricamente deveria aparecer na segunda página aparecia no sitio respectivo.. mas na primeira. Já dei carradas de voltas pela net e pela documentação e não achei nada. A olhar o código.. decidi dar um tiro no escuro pq não percebi bem o pq desta parte no código e comentei esta linha: form.removeField("advertisement"); .. e por acaso a imagem já apareceu na segunda página.... mas continua tb aparecer na primeira. Alguém tem alguma ideia do que poderá estar mal? Alguém já fez alguma coisa do género? O método é este: private static byte[] fillform(DataFile dataFile, Long requestId) throws Exception { Request req = DeskmanFactory.getRequestRepository().findById(requestId); ByteArrayOutputStream baos = new ByteArrayOutputStream(); try { PdfDocument pdfDoc = new PdfDocument(new PdfReader(new ByteArrayInputStream(dataFile.getData())), new PdfWriter(baos)); PdfAcroForm form = PdfAcroForm.getAcroForm(pdfDoc, true); form.setGenerateAppearance(true); // PdfFont font = PdfFontFactory.createFont(FONT, PdfEncodings.IDENTITY_H); Document doc = new Document(pdfDoc); for(RequestTypeFields fld: req.getType().getFields()) { //doc.flush(); if(fld.getFieldTag() != null && fld.getFieldTag().trim().length() != 0) { if(form.getField(fld.getFieldTag()) != null && req.getField(fld.getFieldTag(), fld.getTitle()) != null) // se existir aquele field no form { List<RequestFile> rfList = DeskmanFactory.getRequestRepository().getRequestFileByRequest(req); if (rfList != null) { //TEMPORÁRIO 12/04/2019 DataFile fieldDataFile; //sacar a imagem ou imagens que se tenha adicionado rfList = DeskmanFactory.getRequestRepository().getRequestFileByRequestAndFieldTag(req, fld.getFieldTag()); if (req.getType().getType().equalsIgnoreCase("C")) //se for do tipo cartão vamos ler o extrafile fieldDataFile = rfList.get(0).getExtraDataFile(); else fieldDataFile = rfList.get(0).getDataFile(); //se nao vamos ler o datafile original //convert byte[] to bufferedImage InputStream in = new ByteArrayInputStream(fieldDataFile.getData()); BufferedImage bimg = ImageIO.read(in); //merge BufferedImage overlay = MiraUtils.mergeImage(bimg); //convert bufferedImage to byte[] byte[] overlayInByte = MiraUtils.bytesFromBufferedImage(overlay, fieldDataFile.getExtension()); //ImageData id = ImageDataFactory.create(fieldDataFile.getData()); ImageData id = ImageDataFactory.create(overlayInByte); //sacar o 'botao' do pdf correspondente a um determinado field CustomButton ad = new CustomButton((PdfButtonFormField) form.getField(fld.getFieldTag())); //retirar o border //ad.setBorderColor(Color.WHITE); //settar a imagem no botão ad.setImage(id); //form.removeField(fld.getFieldTag()); //comentei.. para as imagens que não estão na primeira imagem poderem tb aparecer (embora tb continuem a aparecer na primeira) //criar o doc do pdf e acrescentar a costumização do botão doc.add(new Paragraph().add(ad)); } } } } KDate create = new KDate(req.getDateCreation()); if(form.getField("dia") != null) { form.getField("dia").setValue("" + create.day()); form.getField("dia").setBorderWidth(0f); } if(form.getField("mes") != null) { String mes = ""; switch (create.month()) { case (1): mes = "JAN"; break; case (2): mes = "FEV"; break; case (3): mes = "MAR"; break; case (4): mes = "ABR"; break; case (5): mes = "MAI"; break; case (6): mes = "JUN"; break; case (7): mes = "JUL"; break; case (8): mes = "AGO"; break; case (9): mes = "SET"; break; case (10): mes = "OUT"; break; case (11): mes = "NOV"; break; case (12): mes = "DEZ"; break; default: mes = ""; } form.getField("mes").setValue(mes); form.getField("mes").setBorderWidth(0f); } if(form.getField("ano") != null) { form.getField("ano").setValue("" + create.year()); form.getField("ano").setBorderWidth(0f); } if(form.getField("email") != null) { form.getField("email").setValue("" + req.getRequester().getEmail()); form.getField("email").setBorderWidth(0f); } form.flattenFields(); doc.close(); pdfDoc.close(); } catch(Exception e) { System.err.println("ERRO (RequestAction - fillform): "+e.getMessage()); e.printStackTrace(); } byte[] data = baos.toByteArray(); // setFileInputStream(new ByteArrayInputStream(data)); // setFname(df.getName()); // setFmime(df.getMimeType()); return data; }
  13. Olá a todos, Estou a programar algo que abre um JFrame inicial contendo um painel. Nesse painel eu programei alguma animação que opera nos botões. Assim que eu clico num botão, abre um segundo JFrame que contém componentes swing que vão servir para formulário. O que eu pretendo é que quando clico nesse botão, o JFrame inicial feche e apenas o segundo JFrame (do formulário) fique visivel. Vou tentar disponibilizar a estrutura base principal do código que tenho, para não ser muito pesado colocar tudo aqui. public class DBLauncher extends JFrame { //Constructor public DBLauncher() throws IOException { super("Database Launcher v1.0"); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); setSize(706, 768); setLocation(350, 50); setResizable(false); DBPanel panel = new DBPanel(); Container container = getContentPane(); container.setLayout(new BorderLayout()); //Use BorderLayout container.add(panel, BorderLayout.CENTER); //Insert e center panel on BorderLayout } private class DBPanel extends JPanel implements MouseListener, MouseMotionListener { //Constants... //Variables... //Constructor private DBPanel() throws IOException { //Panel constants... //Panel variables... ... ... this.setOpaque(false); this.setFocusable(true); this.addMouseListener(this); this.addMouseMotionListener(this); Thread thread = new Thread(() -> animate()); thread.start(); } public void delay(int milliseconds) { try { Thread.sleep(milliseconds); } catch (InterruptedException e) { } } @Override protected void paintComponent(Graphics g) { super.paintComponent(g); Graphics2D g2 = (Graphics2D) g; g2.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON); g2.setColor(new Color(100, 100, 100, 230)); //Define panel's transparent background using Color(r, g, b, a) where the "a" value = alpha channel g2.fillRect(0, 0, getWidth(), getHeight()); for (CustomShapeButton mainShapeButton : shapeButtons) { mainShapeButton.paintComponent(g2); } for (CustomShapeButton mainShapeWireFrame : shapeWireFrames) { mainShapeWireFrame.paintComponent(g2); } } @Override public void mouseClicked(MouseEvent me) { for (int i = 0; i < shapeButtons.size(); i++) { Shape shape = shapeButtons.get(i); if (shape.contains(me.getPoint())) { switch (i) { case 0: ... ... ... case 11: { musicButtonPressed = false; tvButtonPressed = false; gamesButtonPressed = true; booksButtonPressed = false; techButtonPressed = false; try { CardInsert ci = new CardInsert(); ci.setVisible(true); //É aqui que estou a criar a nova instância do segundo JFrame que aparece no ecrã (formulário). //É também aqui que deveria fechar a instância do JFrame inicial onde estão os botões, certo? Não estou conseguindo aceder à instância aqui para fazer dispose() ou setVisible(false), por exemplo. } catch (InstantiationException | IllegalAccessException | UnsupportedLookAndFeelException | ClassNotFoundException ex) { Logger.getLogger(DBPanel.class.getName()).log(Level.SEVERE, null, ex); } System.out.println("Clicked on shape number " + i + " that represents the cards button!"); break; } } } } } public synchronized void animate() { while (true) { if (musicButtonPressed == true) { animateShapeButtonMusic(); ... ... delay(35); repaint(); } } } //Animate methods ... ... //Método main public static void main(String args[]) throws IOException { //Aqui estou a criar uma instância da classe inicial DBLauncher (JFrame inicial) DBLauncher dbl = new DBLauncher(); //Aqui digo que essa instância tem que estar visivel, por defeito, sempre que executo o programa pela primeira vez dbl.setVisible(true); } } } Já tentei instanciar algo não estático dentro do método main, mas reparei que dá aquele erro comum "Cannot reference static methods from non-static....". Já estava à espera do erro pois o método main é estático. Foi em desespero. Como posso resolver esta simples questão de fechar o JFrame inicial e mostrar outro, após clicar num botão dele? Como devem imaginar, no segundo JFrame vou querer fazer o mesmo: fechar ele próprio quando clicar no botão Menu Principal e voltar a abrir o JFrame inicial... Obrigado a todos desde já. J Amorim
  14. General

    Httpweb request

    Bom dia tenho seguinte código em java e quero desenvolver para c# alguém já fez algo semelhante? O código é o seguinte: private boolean addRequestParametersToWebservice(SubmitWebserviceRequest submitRequest) { addParameter("systemName", "taxUser"); addParameter("systemPass", Password.encryptWithPaddingLength("y5jeC$maQe")); addParameter("decl", submitRequest.getDeclaracaoToRequest()); addParameter("declVersion", submitRequest.getDeclVersion()); if (submitRequest.hasAppVersion()) addParameter("app_version", submitRequest.getAppVersion()); addParameter("checkwarnings", String.valueOf(submitRequest.isCheckWarnings())); for (Iterator iter = submitRequest.getUsers().iterator(); iter.hasNext(); ) { SubmitUser submitUser = (SubmitUser)iter.next(); if (submitUser.getId().equals("SPA")) { addParameter("nifA", submitUser.getNif()); addParameter("passwordA", submitUser.getPassword()); } else if (submitUser.getId().equals("SPB")) { addParameter("nifB", submitUser.getNif()); addParameter("passwordB", submitUser.getPassword()); } else if (submitUser.getId().equals("TOC")) { addParameter("nifTOC", submitUser.getNif()); addParameter("passwordTOC", submitUser.getPassword()); addParameter("toc", submitUser.getNif()); addParameter("passwordToc", submitUser.getPassword()); } } for (Iterator iter = submitRequest.getOptionalFields().iterator(); iter.hasNext(); ) { Pair optionalField = (Pair)iter.next(); addParameter((String)optionalField.getFirst(), (String)optionalField.getSecond()); } return true; } A outra dúvida é: Não tendo wsdl para o webservice: https://www.portaldasfinancas.gov.pt/pt/externalws/oadmrsv/entregarDMROffline.action Há outra forma de identificar os parâmetros? Obrigado
  15. Carlos Rocha

    Spinner com Key e Value igual a Select

    Pessoal, com o código abaixo eu populo um Spiiner; Esse Spinner, é populado por um atributo de um Array de objetos À principio, temos o seguinte JSONArray: [ { "id":"1", "nome":"Carlos" }, { "id":"2", "nome":"Cleonice Rocha" }, { "id":"3", "nome":"Cleonice Rocha" } ] Agora temos o método: private void preencheComboClientes(JSONArray jsClientes) throws JSONException { JSONObject jsonObject; final HashMap<Integer, String> listaClientes = new HashMap<Integer, String>(); for (Integer i = 0; i < jsClientes.length(); i++) { jsonObject = jsClientes.getJSONObject(i).getJSONObject("cliente"); Integer id = jsonObject.getInt("id"); String nome = jsonObject.getString("nome"); listaClientes.put(id, nome); } List<StringWithTag> itemList = new ArrayList<StringWithTag>(); for (Map.Entry<Integer, String> entry : listaClientes.entrySet()) { Integer key = entry.getKey(); String value = entry.getValue(); itemList.add(new StringWithTag(value, key)); } spinnerAdapterClientes = new ArrayAdapter<StringWithTag>(this, android.R.layout.simple_spinner_item, itemList); spinnerAdapterClientes.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); spCliente.setAdapter(spinnerAdapterClientes); spCliente.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() { @Override public void onItemSelected(AdapterView<?> parent, View view, int position, long id) { for (Map.Entry<Integer, String> entry : listaClientes.entrySet()) { Integer key = entry.getKey(); String value = entry.getValue(); if (parent.getSelectedItem().toString().equals(value)) { Log.i("Achei!!!" , Integer.toString(key)); } } } @Override public void onNothingSelected(AdapterView<?> parent) { // sometimes you need nothing here } }); } Então, imagine a situação em que você tem um Array de Objetos e esse Objeto possui CPF e NOME Bom, CPF cada um tem o seu. Não se repete. Mas, Nome, infelizmente podemos ter 2 nomes iguais Logo, não posso enviar a consulta por nome e sim por CPF Como o Spinner não aceita CPF e Nome, logo, fico impossibilitado de fazer conferências. Como vocês fazer nesse caso?
  16. Carlos Rocha

    Preencher Spinner

    Tenho a seguinte saída JSON vinda de uma API: { "status":"ok", "equipamentos": [ { "equipamento": "{ \"id\":7, \"cliente\":1, \"tipo\":\"Celular\", \"marca\":\"Motorola\", \"modelo\":\"Moto G 7\", \"serial\":\"Aparelho n\\u00e3o liga\", \"caracteristicas\":\"P\\u00c9SSIMO\" }" }, { "equipamento": "{ \"id\":8, \"cliente\":1, \"tipo\":\"Celular\", \"marca\":\"Motorola\", \"modelo\":\"Moto G 7\", \"serial\":\"Aparelho n\\u00e3o liga\", \"caracteristicas\":\"P\\u00c9SSIMO\" }" } ] } E o seguinte método para gerar um novo objeto à partir do índice "equipamentos" gerado do JSON recebido da API @Override protected void onPostExecute(String str) { progressDialog.cancel(); JSONObject retorno = null; try { retorno = new JSONObject(str); if ( retorno.has("equipamentos")) preencherComboEquipamentos(retorno.getJSONObject("equipamentos")); } catch (JSONException e) { e.printStackTrace(); } } Com ele, o método preencherComboEquipamentos receberá um objeto como abaixo: [ { "equipamento": "{ \"id\":7, \"cliente\":1, \"tipo\":\"Celular\", \"marca\":\"Motorola\", \"modelo\":\"Moto G 7\", \"serial\":\"Aparelho n\\u00e3o liga\", \"caracteristicas\":\"P\\u00c9SSIMO\" }" }, { "equipamento": "{ \"id\":8, \"cliente\":1, \"tipo\":\"Celular\", \"marca\":\"Motorola\", \"modelo\":\"Moto G 7\", \"serial\":\"Aparelho n\\u00e3o liga\", \"caracteristicas\":\"P\\u00c9SSIMO\" }" } ] Agora preciso criar um JSONArray de JSONObjects com apenas 2 campos trazidos do JSONObject anterior que são id e cliente. Estou tentando assim mas não está dando certo private void preencheComboClientes(JSONObject JSClientes) throws JSONException { JSONObject clientes = null; ArrayList<JSONObject> clientesList = null; for (int i = 0; i < JSClientes.length(); i++) { clientes.put("id", JSClientes.getJSONObject(i).getInt("id")); clientes.put("nome", JSClientes.getJSONObject(i).getInt("nome")); clientesList[clientes]; } ArrayAdapter<String> spinnerArrayAdapter = new ArrayAdapter<String>(this, android.R.layout.simple_spinner_item, clientes); spinnerArrayAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); spCliente.setAdapter(spinnerArrayAdapter); } A ideia é preencher um spinner.
  17. Mário Rodrigues

    Passar dados de uma tabela em outra tabela

    Olá pessoal , É o seguinte tenho um form venda com uma tabela e um botão para pesquisa de produtos, o objectivo é ao clicar na linha de um produto este produto abra no form venda, consigo fazer usando o defaulttable, mas pelo que vi não é muito recomendável, pelo que quero fazer pelo Tablemodel ou concretamento pelo AbstractTableModel Eis como está o Formulário Venda public class frm_Venda extends javax.swing.JFrame { ConectaBanco conecta = new ConectaBanco(); public static DefautTableModel tabela2; public frm_Venda (){ initcomponent tabela2= new DefaultTableModel (); tabela2.addcolumn ("Codigo"); tabela2.addcolumn ("Produto"); jTablePedidos.setModel(tabela2); E o Formulário Pesquisa Produtos,retornando do banco; public class frm_pesquisaproduto extends javax.swing.JFrame { ConectaBanco conecta = new ConectaBanco();//Metódo usado para conectar ao Banco de Dados DefaultTableModel modelo1 = null; public frm_pesquisaproduto (){ initcomponents (); conecta.conexao(); modelo1=new DefaultTableModel(); jTablePesquisaProduto.setModel(modelo1); jTablePesquisaProduto.getRowCount(); private void jTablePesquisaProdutoMouseClicked(java.awt.event.MouseEvent evt) { //Quando se clica na linha selecionada int filaselecionada =jTablePesquisaProduto.getSelectedRow(); if (filaselecionada>=0) { String Dados []= new String[4]; Dados [0]= jTablePesquisaProduto.getValueAt(filaselecionada, 0).toString(); Dados[1]= jTablePesquisaProduto.getValueAt(filaselecionada, 1).toString(); Dados[2]= jTablePesquisaProduto.getValueAt(filaselecionada, 2).toString(); Dados[3]= jTablePesquisaProduto.getValueAt(filaselecionada, 3).toString(); frm_Venda.tabela2.addRow(Dados); //comunicando com o outro formulário
  18. Carlos Rocha

    AssyncTask, usar apenas uma vez

    Fala povo! Feliz Ano Novo a todos e a todas! Então, estou fazendo a seguinte classe que estende AssyncTask private class HttpService extends AsyncTask<String, Integer, String> { O que ocorre é que terei que chamar esse classe umas 4 vezes no mesmo arquivo e ele fica muito grande! No entanto, não consegui criar essa solução O jeito foi usar o onPosExecute() mesmo e repetir a classe HttpService 3 vezes. Uma para cada operação. Algum recurso? É que em algumas chamadas precisarei passar um token no cabeçalho (header) da requisição e em outros não. Vejam com estou tentando! package br.net.concertacell; import androidx.appcompat.app.AppCompatActivity; import android.app.ProgressDialog; import android.os.AsyncTask; import android.os.Bundle; import android.util.Log; import android.view.View; import android.widget.ArrayAdapter; import android.widget.Button; import android.widget.EditText; import android.widget.Spinner; import android.widget.TextView; import org.json.JSONException; import org.json.JSONObject; import java.io.BufferedReader; import java.io.DataOutputStream; import java.io.IOException; import java.io.InputStreamReader; import java.net.HttpURLConnection; import java.net.URL; import br.net.concertacell.classes.Orcamentos; public class Cadastrar extends AppCompatActivity { private Bundle tokenWS; private String token; private Spinner spCliente; private Spinner spEquipamento; private EditText etEstado; private EditText etDefeitoRelatado; private Button btnCadastrar; private TextView tvResposta; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.cadastrar); tokenWS = getIntent().getExtras(); token = tokenWS.getString("tokenWS"); tvResposta = findViewById(R.id.tvResposta); spCliente = findViewById(R.id.spClientes); spEquipamento = findViewById(R.id.spEquipamento); etEstado = findViewById(R.id.etEstado); etDefeitoRelatado = findViewById(R.id.etDefeitoRelatado); obtemListaClientes (); obtemListaEquipamentos (); } private void obtemListaClientes() { String urlClientes = "https://acweb.net.br/api/clientes/listar"; HttpService htClientes = new HttpService(); htClientes.execute(urlClientes, this.token, "", "spCliente"); } private void obtemListaEquipamentos() { String urlEquipamentos = "https://acweb.net.br/api/equipamentos/listar"; HttpService htEquipamentos = new HttpService(); htEquipamentos.execute(urlEquipamentos, this.token, "", "spEquipamento"); } public void cadastrar(View view) throws IOException { String url = "https://acweb.net.br/api/orcamentos/cadastrar"; Orcamentos orcamento = new Orcamentos( 2, 2, "Aparelho não liga", "PÉSSIMO" ); HttpService htOrcamentos = new HttpService(); htOrcamentos.execute(url, this.token, orcamento.toString()); } private class HttpService extends AsyncTask<String, Integer, String> { ProgressDialog progressDialog; @Override protected void onPreExecute() { progressDialog = new ProgressDialog(Cadastrar.this); progressDialog.setTitle("Aguarde"); progressDialog.setMessage("Processando..."); progressDialog.setCancelable(false); progressDialog.show(); } @Override protected String doInBackground(String... args) { String resposta = ""; try { URL url = new URL(args[0]); HttpURLConnection conn = (HttpURLConnection) url.openConnection(); conn.setRequestMethod("POST"); conn.setRequestProperty("Content-Type", "application/json;charset=UTF-8"); conn.setRequestProperty("Accept", "application/json"); conn.setRequestProperty("token", args[1]); conn.setDoOutput(true); conn.setDoInput(true); DataOutputStream os = new DataOutputStream(conn.getOutputStream()); if (!args[2].equals("")) os.writeBytes(args[2]); os.flush(); os.close(); BufferedReader in = new BufferedReader(new InputStreamReader(conn.getInputStream())); String inputLine; String linha = ""; while ((inputLine = in.readLine()) != null) { Log.i("inputLine: ", inputLine.toString()); resposta += inputLine; } in.close(); conn.disconnect(); } catch (Exception e) { e.printStackTrace(); } return [resposta, args[3]]; } @Override protected void onPostExecute(String str) { progressDialog.cancel(); JSONObject retorno = null; try { retorno = new JSONObject(str); Log.i ("Resultado", retorno.toString()); tvResposta.setText(retorno.getString("mensagem")); } catch (JSONException e) { e.printStackTrace(); } } @Override protected void onProgressUpdate(Integer... text) { super.onProgressUpdate(text); } } } Já estou perdido
  19. Carlos Rocha

    isset em JAVA

    Então, em PHP, temos um array: $meuArray = [ "indice1" => 123, "indice2" => 123, ] Então queremos saber se existe um índice nesse array com o nome de indice1 Logo fazemos: if ( isset ( $meuArray["indice1"] ) ) echo "Existe"! Como ficaria isso no java?
  20. Carlos Rocha

    Enviar json à API

    Pessoal, tenha a seguinte classe java que é a principal que abre o APP package br.net.concertacell; import android.os.Bundle; import android.os.StrictMode; import android.util.Log; import android.view.View; import android.widget.EditText; import android.widget.TextView; import androidx.appcompat.app.AppCompatActivity; import java.io.IOException; import br.net.concertacell.classes.Login; import br.net.concertacell.classes.HttpService; public class Logon extends AppCompatActivity { private EditText login; private EditText senha; private TextView resposta; private String responseJson; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.logon); if (android.os.Build.VERSION.SDK_INT > 9) { StrictMode.ThreadPolicy policy = new StrictMode.ThreadPolicy.Builder().permitAll().build(); StrictMode.setThreadPolicy(policy); } this.login = (EditText) findViewById(R.id.etLogin); this.senha = (EditText) findViewById(R.id.etSenha); this.resposta = (TextView) findViewById(R.id.tvResposta); } private String token () throws IOException { String login = this.login.getText().toString(); String senha = this.senha.getText().toString(); Login dados = new Login(login, senha); HttpService HttpService = new HttpService("https://acweb.net.br/api/orcamentos/login", dados); String retorno = HttpService.execute().toString(); Log.i("Retosno", retorno.toString()); return retorno; } public void acessar (View view) throws IOException { if (this.login.getText().toString().equals("")) this.resposta.setText("Preenha Login, campo obrigatório!"); else if (this.senha.getText().toString().equals("")) { this.resposta.setText("Preenha Senha, campo obrigatório!"); } else { //abre novo activity if (this.token() == "ok") this.resposta.setText("Prosseguimos!"); else this.resposta.setText("Erro no acesso"); } } } No método token dessa classe tenho a instanciação de uma nova classe que extends AssyncTask. package br.net.concertacell.classes; import android.app.ProgressDialog; import android.content.Context; import android.os.AsyncTask; import android.util.Log; import com.google.gson.Gson; import org.json.JSONArray; import org.json.JSONException; import org.json.JSONObject; import java.io.BufferedInputStream; import java.io.BufferedReader; import java.io.DataOutputStream; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; import java.io.OutputStream; import java.io.OutputStreamWriter; import java.io.UnsupportedEncodingException; import java.net.HttpURLConnection; import java.net.MalformedURLException; import java.net.URL; import java.net.URLConnection; import java.util.Scanner; import br.net.concertacell.classes.Login; public class HttpService extends AsyncTask<String, Integer, String> { private String url; private String jo; public HttpService (String _url, Login _login) { this.url = _url; this.jo = this.gerarString(_login.getLogin(), _login.getSenha() ); } private String gerarString (String login, String senha) { JSONObject jo = new JSONObject(); try { jo.put("login", login); jo.put("senha", senha); } catch (JSONException e) { e.printStackTrace(); } return jo.toString(); } @Override protected String doInBackground(String... args) { String resposta = ""; try { URL url = new URL(this.url); HttpURLConnection conn = (HttpURLConnection) url.openConnection(); conn.setRequestMethod("POST"); conn.setRequestProperty("Content-Type", "application/json;charset=UTF-8"); conn.setRequestProperty("Accept","application/json"); //conn.setRequestProperty("Authorization", key); conn.setDoOutput(true); conn.setDoInput(true); DataOutputStream os = new DataOutputStream(conn.getOutputStream()); os.writeBytes(this.jo); os.flush(); os.close(); BufferedReader in = new BufferedReader(new InputStreamReader(conn.getInputStream())); String inputLine; String linha=""; while ((inputLine = in.readLine()) != null) { resposta += inputLine; } in.close(); System.out.println(resposta); conn.disconnect(); } catch (Exception e) { e.printStackTrace(); } return resposta; } @Override protected void onPostExecute(String resp) { //dialog.dismiss(); //Toast.makeText(context, resp, Toast.LENGTH_LONG).show(); } @Override protected void onPreExecute() { //dialog = ProgressDialog.show(context, "Aguarde", "Enviando alunos...", true, true); } @Override protected void onProgressUpdate(Integer... text) { // your code } } Aqui eu tenho o problemas: O retorno de String retorno = HttpService.execute().toString();, conforme a assinatura do método, protected String doInBackground(String... args) , deveria ser uma String. No entanto, o que aparece quando eu mando mostrar Log.i("Retosno", retorno.toString()); é I/Retosno: br.net.concertacell.classes.HttpService@c61c842 Porque não aparece String retorno = HttpService.execute().toString();, o retorno de protected String doInBackground(String... args)?
  21. Fernanda Siqueira

    Fizzbuzz

    Dado um número n, para cada número inteiro i no intervalo de 1 a n, inclusive imprima um valor por linha da seguinte maneira: Se eu for múltiplo de 3 e 5, imprima o fizzbuzz Se i for múltiplo de 3(mas não 5), imprima fizz Se i for múltiplo de 5(mas não 3), imprima o Google Buzz Se i não for múltiplo de 3 e 5, imprima o valor de i
  22. JaFosteTuga

    Guardar estado atual de um tabuleiro Reversi

    Boas, estou a tentar criar o jogo Reversi na faculdade Já nos deram o código para mostrar numa console o tabuleiro desenhado, com as peças inicias e deram tambem o código para colocar as peças onde o cursor estiver Agora para prosseguir preciso primeiro de ir guardando o estado do tabuleiro e não estou a conseguir.
  23. Olá Há anos que não programo, e estou a retomar JAVA. Comecei um projecto novo JAVA Maven (já agora, o Maven é diferente dos outros em que sentido?) com o NetBeans 11.2 Está tudo a rolar, mas agora não consigo usar uma biblioteca externa ( javax.mail.internet ). Eis o que estou a fazer: No mail coloquei "import javax.mail.internet;" e tenho um método que o usa. Nas dependências (pom.xls) em "Project files" coloquei: <dependencies> <dependency> <groupId>com.sun.mail</groupId> <artifactId>javax.mail</artifactId> <version>1.6.2</version> </dependency> </dependencies> Nas dependências ele assume o ficheiro, clico com o botão direito e faço "manually install artifact" e vou buscar o ficheiro que descarrego (versão certa). Continuo a ter um erro: COMPILATION ERROR : ------------------------------------------------------------- LUSA/Main.java:[7,18] cannot find symbol symbol: class internet location: package javax.mail Efectivamente esta localização está errada (só tenho um package com o nome do projecto), o ficheiro está em "dependencies". Alguma ajuda? Obrigado
  24. Serg1i

    Diagonal secundária de uma matriz

    Olá malta programadora. Estou a tirar um curso de programação. Estava a fazer um exercício de matrizes para apresentar no ecrã a diagonal principal. Depois tentei fazer o mesmo mas para a diagonal secundária no entanto tive de recorrer a um ciclo if como podem ver em baixo: System.out.println(); System.out.print("Secondary diagonal: "); for (int i=0; i<n; i++){ for (int j=0; j<n; j++){ if(j+i == n-1){ System.out.print(matriz [i] [j] + " "); } } } Funciona mas pretendo fazer somente com ciclos for: A minha tentativa foi esta: System.out.println(); System.out.print("Secondary diagonal: "); for (int i=0; i<n; i++){ for (int j=n-1; j>=0; j--){ System.out.print(matriz[i+j][i+j] + " "); } } Imprime a diagonal secundária correctamente para o caso de uma matriz de 2x2 mas deu um erro de excepção -> Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: Index 2 out of bounds for length 2 Se for uma matriz 3x3 imprime a diagonal principal de cima para baixo e erro de excepção Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: Index 3 out of bounds for length 3 Alguém me pode dar uma dica? Obrigado
  25. Tiago Fortuna

    switch case sem metodos

    Boa tarde, Tenho que realizar um trabalho escolar e tenho dúvidas na seguinte parte: switch(opcao) { case 'E': System.out.println("(I)nserir item no fim da lista."); System.out.println("Inserir item na (p)osição n da lista."); System.out.println("Apagar (ú)ltimo item inserido na lista."); System.out.println("Apagar item na posição (N) da lista."); System.out.println("(A)pagar itens da posição m à n da lista."); System.out.println("(L)istar todos os itens."); System.out.println("(V)oltar."); opcao=teclado.next().charAt(0); teclado.nextLine(); break; Tenho que fazer o código para cada uma das letras com outro case mas não estou a perceber como. Podem me ajudar? PS não podemos usar métodos
×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.