Você está aqui: Java ::: Dicas & Truques ::: Gráficos |
Como desenhar em um JComponent do Java Swing (JLabel, JButton, JPanel, etc) usando o método paintComponent()Quantidade de visualizações: 10016 vezes |
A classe JComponent possui um método chamado paintComponent(Graphics g) que recebe um objeto da classe Graphics que pode ser usado para desenhar na superfície do componente. Desta forma, qualquer componente que herda de JComponent pode ser usado para esta finalidade. Para demonstrar como isso é feito, veja um trecho de código no qual desenhamos uma linha em um JLabel e o anexamos à janela do aplicativo. Observe a criação de uma classe personalizada que herda de JLabel: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- import java.awt.*; import javax.swing.*; public class Estudos extends JFrame{ public Estudos() { super("Desenhando em um JLabel"); Container c = getContentPane(); // Cria o JLabel MinhaLabel label = new MinhaLabel(); c.add(label); setSize(350, 250); setVisible(true); } public static void main(String args[]){ Estudos app = new Estudos(); app.setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE); } } // classe personalizada que permite desenhar class MinhaLabel extends JLabel{ protected void paintComponent(Graphics g){ super.paintComponent(g); g.drawLine(0, 0, 200, 200); } } |
Link para compartilhar na Internet ou com seus amigos: |
Java ::: Java para Engenharia ::: Hidrologia e Hidráulica |
Como calcular o volume de chuvas em Java - Fórmula do cálculo do volume de chuvas em JavaQuantidade de visualizações: 205 vezes |
O estudo da Hidrologia passa, necessariamente, pelo cálculo do volume de chuvas em uma determinada região, ou bacia hidrológica. Assim, é comum ouvirmos alguém dizer que, em um determinado local, choveu 100 mm durante um determinado período. Mas o que isso significa? O mês mais chuvoso em Goiânia é dezembro, com média de 229 milímetros de precipitação de chuva. Isso significa que, em uma área de 1 m2, a lâmina de água formada pela chuva que cai apresenta uma altura de 229 milímetros. Como sabemos que o volume é a área multiplicada pela altura, tudo que temos a fazer é considerar a área de 1 m2 multiplicada pela altura da lâmina de água (convertida também para metros). Veja a fórmula: \[\text{Volume} = \text{(Área da Base) x Altura}\] Lembre-se de que volume pode ser retornado em litros, ou seja, 1 m3 = 1000 litros. Veja agora o código Java completo que pede para o usuário informar a precipitação da chuva, ou seja, a altura da lâmina de água em milímetros e retorna o volume de água em litros. ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- package estudos; import java.util.Scanner; public class Estudos { public static void main(String[] args) { // para ler a entrada do usuário Scanner entrada = new Scanner(System.in); // vamos pedir para o usuário informar a altura da lâmina // de água em milímetros System.out.print("Altura da lâmina de água em milímetros: "); double altura_lamina = Double.parseDouble(entrada.nextLine()); // o primeiro passo é converter os milímetros da lâmina de água // para metros altura_lamina = altura_lamina / 1000.00; // agora que já temos a altura da lâmina em metros, vamos multiplicar // pela base (1 metro quadrado) para obtermos o volume da chuva por // metro quadrado double volume_chuva = (altura_lamina * 1.00) * 1000.00; // vamos mostrar o resultado System.out.println("O volume da chuva é: " + volume_chuva + " litros para cada metro quadrado"); } } Ao executar este código Java nós teremos o seguinte resultado: Altura da lâmina de água em milímetros: 229 O volume da chuva é: 229.0 litros para cada metro quadrado Qual é o volume de 1 mm de chuva? A altura pluviométrica é a espessura da lâmina d'água precipitada que cobre a região atingida pela chuva. Geralmente a unidade de medição é o milímetro (mm) porque o aparelho que mede a chuva, o pluviômetro, é lido em milímetros. O pluviômetro é um aparelho meteorológico destinado a medir, em milímetros, a altura da lâmina de água gerada pela chuva que caiu numa área de 1 m2. 1 mm de chuva equivale a 1 litro de água, ou 1 dm3, considerando a área de 1 m2. |
Java ::: Desafios e Lista de Exercícios Resolvidos ::: Java Básico |
Exercícios Resolvidos de Java - Escreva um programa Java para calcular e imprimir o número de lâmpadas necessáriasQuantidade de visualizações: 295 vezes |
Pergunta/Tarefa: Escreva um programa Java para calcular e imprimir o número de lâmpadas necessárias para iluminar um determinado cômodo de uma residência. Dados de entrada: a potência da lâmpada utilizada (em watts), as dimensões (largura e comprimento, em metros) do cômodo. Considere que a potência necessária é de 18 watts por metro quadrado. Sua saída deverá ser parecida com: Informe a potência da lâmpada (em watts): 100 Informe a largura do cômodo (em metros): 6 Informe o comprimento do cômodo (em metros): 4 Serão necessárias 4 lâmpadas. Veja a resolução completa para o exercício em Java, comentada linha a linha: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- // Como calcular o número de lâmpadas necessárias package estudos; import java.util.Scanner; public class Estudos { public static void main(String[] args) { // variáveis usadas na resolução do problema double potencia_lampada, largura_comodo, comprimento_comodo; double area_comodo, potencia_total; int quant_lampadas; // para ler a entrada do usuário Scanner entrada = new Scanner(System.in); // vamos ler a potência da lâmpada System.out.print("Informe a potência da lâmpada (em watts): "); potencia_lampada = Double.parseDouble(entrada.nextLine()); // vamos ler a largura do cômodo System.out.print("Informe a largura do cômodo (em metros): "); largura_comodo = Double.parseDouble(entrada.nextLine()); // agora vamos ler o comprimento do cômodo System.out.print("Informe o comprimento do cômodo (em metros): "); comprimento_comodo = Double.parseDouble(entrada.nextLine()); // agora vamos calcular a área do cômodo area_comodo = largura_comodo * comprimento_comodo; // calculamos a potência total necessária para iluminar // todo o cômodo potencia_total = area_comodo * 18; // e finalmente calculamos a quantidade de lâmpadas necessárias quant_lampadas = (int)(potencia_total / potencia_lampada); // será necessário no mínimo uma lâmpada if (quant_lampadas == 0) { quant_lampadas = quant_lampadas + 1; } // e mostramos o resultado System.out.println("Serão necessárias " + quant_lampadas + " lâmpadas."); } } |
Java ::: Java Swing - JTable e classes relacionadas ::: JTable |
Como aplicar uma borda colorida a uma célula da JTable do Java Swing ao passar o mouseQuantidade de visualizações: 46 vezes |
Nesta dica mostrarei como podemos exibir uma borda colorida às células de uma tabela JTable do Java Swing ao passar o mouse sobre ela. Para isso nós vamos criar uma classe personalizada que herda da classe TableCellRenderer. Em seguida nós usamos o evento mouseMoved da classe MouseMotionAdapter para aplicar a borda colorida às células. Veja o código completo para o exemplo: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- package estudos; import javax.swing.*; import javax.swing.border.*; import java.awt.*; import java.awt.event.*; import javax.swing.table.*; public class Estudos extends JFrame{ int linha, coluna; Border vermelho = BorderFactory.createLineBorder(Color.red); Border vazia = BorderFactory.createEmptyBorder(); public Estudos(){ super("JTable"); // colunas da tabela String[] colunas = {"Cidade", "Estado", "Habitantes"}; // conteúdo da tabela Object[][] conteudo = { {"Goiânia", "GO", "43.023.432"}, {"São Paulo", "SP", "5.343.234"}, {"Rio de Janeiro", "RJ", "6.434.212"}, {"Jussara", "GO", "87.454"}, {"Barra do Garças", "MT", "64.344"} }; // constrói a tabela final JTable tabela = new JTable(conteudo, colunas); tabela.setPreferredScrollableViewportSize(new Dimension(350, 50)); class CellListener extends MouseMotionAdapter{ public void mouseMoved(MouseEvent e){ JTable tb = (JTable)e.getSource(); linha = tb.rowAtPoint(e.getPoint()); coluna = tb.columnAtPoint(e.getPoint()); tb.repaint(); } } class BordaCelula extends JLabel implements TableCellRenderer{ public BordaCelula(){ setOpaque(true); } public Component getTableCellRendererComponent ( JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column){ if(row == linha && column == coluna){ this.setBorder(vermelho); } else{ this.setBorder(vazia); } this.setText(value.toString()); return this; } } Container c = getContentPane(); c.setLayout(new FlowLayout()); tabela.addMouseMotionListener(new CellListener()); tabela.setDefaultRenderer(Object.class, new BordaCelula()); JScrollPane scrollPane = new JScrollPane(tabela); c.add(scrollPane); setSize(400, 300); setVisible(true); } public static void main(String args[]){ Estudos app = new Estudos(); app.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); } } |
Vamos testar seus conhecimentos em Ética e Legislação Profissional |
Responsabilidade civil no código de defesa do consumidor Um consumidor contrata um eletricista para consertar falhas na instalação elétrica de sua casa. Depois de alguns dias de trabalho e o serviço finalizado, o consumidor percebe que o problema não foi solucionado. Nessa situação, podemos perceber que: A) está presente o fato do serviço ou defeito. B) está presente o fato do serviço, mas também há vício do serviço. C) ocorreu vício do serviço. D) há vício do produto. E) ocorreu fato do produto ou defeito. Verificar Resposta Estudar Cards Todas as Questões |
Vamos testar seus conhecimentos em Engenharia Civil - Instalações Hidráulicas Prediais |
Materiais empregados para instalação de água fria e esgoto A rede de esgoto se divide em primário e secundário. A rede primária é aquela que fica em contato com os gases que vêm da rede externa. Durante a execução das instalações externas e enterradas de esgoto sanitário primário de uma residência, você deverá especificar a tubulação que deverá ser instalada do vaso sanitário até o sistema de coleta público de esgotos. Sobre essa tubulação, assinale a alternativa correta: A) Deverá ser adotada uma tubulação de PVC rígido da série reforçada com DN mínimo de 100mm. B) Deverá ser adotada uma tubulação de cerâmica rígida da série normal com DN máximo de 75mm. C) Deverá ser adotada uma tubulação de PVC rígido da série reforçada com DN máximo de 40mm. D) Deverá ser adotada uma tubulação de PVC rígido da série normal com DN máximo de 40mm. E) Deverá ser adotada uma tubulação de PVC rígido da série normal com DN máximo de 220mm. Verificar Resposta Estudar Cards Todas as Questões |
Vamos testar seus conhecimentos em Fenômeno de Transportes e Hidráulica |
Perfil de velocidade turbulento A Lei da Parede para a determinação do perfil de velocidade empírico-turbulento envolve a determinação da velocidade de atrito na subcamada viscosa. Além do método da Lei da Parede, quais outros métodos existem para estimar o perfil de velocidade turbulento? A) Fator de atrito de Darcy, Lei da Potência e Lei Logarítmica. B) Princípio de Arquimedes, Lei da Potência e Lei do Defeito da Velocidade. C) Lei Logarítmica, Lei do Defeito da Velocidade e Lei da Potência. D) Lei da Potência, Lei de Hooke e Lei do Defeito da Velocidade. E) Fator de atrito de Darcy, Lei Logarítmica e Princípio de Arquimedes. Verificar Resposta Estudar Cards Todas as Questões |
Vamos testar seus conhecimentos em Ética e Legislação Profissional |
Ética Empresarial e Profissional: Noções Gerais A ética investiga a forma do comportamento humano e da moral e busca explicá-los. É nesse contexto que se concentra o verdadeiro valor da ética. Portanto, a ética fornece a compreensão racional do comportamento humano, o qual será, posteriormente, o elemento formador da consciência. Assinale a alternativa que explica a função da consciência. A) A consciência nos leva a buscar o que é realmente bom, correto e justo, mantendo as mesmas condições que determinam limites e capacidades. B) A consciência não nos leva a buscar necessariamente o que é correto e justo. C) A consciência não é influenciada pela ética em nenhum aspecto ou momento. D) A consciência nos leva a buscar o que é realmente bom, correto e justo, visando a identificar e a estabelecer os novos parâmetros que nortearão os limites e as capacidades. E) A consciência nos leva a buscar o que é realmente bom, correto e justo, condicionando-se aos interesses particulares. Verificar Resposta Estudar Cards Todas as Questões |
Vamos testar seus conhecimentos em Ética e Legislação Profissional |
Postura ética profissional A maioria das sociedades profissionais preparou um código de ética para seus membros. O objetivo do código de ética dos engenheiros é guiá-los a um comportamento ético. Uma análise desses códigos fornece algumas orientações. A esse respeito, assinale a alternativa que apresenta uma conduta ética aceitável em um ambiente de trabalho: A) Promover trabalho honesto e árduo aos clientes. B) Promover conflitos de interesse. C) Aceitar benefício próprio para promover uma vantagem a uma empresa. D) Preterir a segurança, a saúde e o bem-estar. E) Ser ilusório e objetivo. Verificar Resposta Estudar Cards Todas as Questões |
Desafios, Exercícios e Algoritmos Resolvidos de Java |
Veja mais Dicas e truques de Java |
Dicas e truques de outras linguagens |
C - Exercício Resolvido de C - Como ler um número inteiro e imprimir seu sucessor e seu antecessor em C JavaScript - JavaScript Avançado - Como remover todas as ocorrências de uma substring em uma string usando uma função recursiva |
Códigos Fonte |
Software de Gestão Financeira com código fonte em PHP, MySQL, Bootstrap, jQuery - Inclui cadastro de clientes, fornecedores e ticket de atendimento Diga adeus às planilhas do Excel e tenha 100% de controle sobre suas contas a pagar e a receber, gestão de receitas e despesas, cadastro de clientes e fornecedores com fotos e histórico de atendimentos. Código fonte completo e funcional, com instruções para instalação e configuração do banco de dados MySQL. Fácil de modificar e adicionar novas funcionalidades. Clique aqui e saiba mais |
Controle de Estoque completo com código fonte em PHP, MySQL, Bootstrap, jQuery - 100% funcional e fácil de modificar e implementar novas funcionalidades Tenha o seu próprio sistema de controle de estoque web. com cadastro de produtos, categorias, fornecedores, entradas e saídas de produtos, com relatórios por data, margem de lucro e muito mais. Código simples e fácil de modificar. Acompanha instruções para instalação e criação do banco de dados MySQL. Clique aqui e saiba mais |
Linguagens Mais Populares |
1º lugar: Java |