Ir para conteúdo
Fórum Script Brasil
  • 0

Como chamar e alterar imagens no JComboBox?


gtw7375

Pergunta

ex: Tenho 3 opções de JComboBox Ex:carro, galinha, sandalia.

Ao escolher a opção carro, automaticamente será chamada a imagem carro. Ao escolher galinha, a imagem carro será trocada pela imagem galinha e assim sucessivamente.

  1. public class Principal extends JFrame implements ActionListener {
  2. JLabel escolha = new JLabel("Escolha sua opção");
  3. ImageIcon ico = new ImageIcon("C:/Users/Familia/Desktop/Principal/cando.jpg");
  4. JLabel ble = new JLabel(ico);
  5. ImageIcon bud = new ImageIcon("C:/Users/Familia/Desktop/Principal/buda.jpg");
  6. JLabel buda = new JLabel(bud);
  7. JComboBox combo = new JComboBox();
  8. JTextArea area = new JTextArea();
  9. JScrollPane sc = new JScrollPane(area);
  10. Desktop desktop;
  11. URI uri;
  12. public Principal() {
  13. setTitle("Aprendendo sobre Religião");
  14. setSize(660,700);
  15. setResizable(false);
  16. setLocation(100,10);
  17. setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  18. getContentPane().setLayout(null);
  19. getContentPane().setBackground(Color.white);
  20. Container c = this.getContentPane();
  21. escolha.setBounds(40, 80, 150, 80); //"escolha usa opcao"
  22. c.add(escolha);
  23. descricao.setBounds(40,350,150,80); //"descrição"
  24. c.add(descricao);
  25. sc.setBounds(140,350,450,100); //TextArea + ScroolPanel
  26. area.setLineWrap(true);
  27. c.add(sc);
  28. combo.setBounds(155,112,120,20); //ComboBox
  29. c.add(combo);
  30. combo.addActionListener(this);
  31. combo.addItem("");
  32. combo.addItem("Candomblé");
  33. combo.addItem("Cristianismo");
  34. combo.addItem("Budismo");
  35. combo.addItem("Hinduísmo");
  36. combo.addItem("Judaísmo");
  37. }
  38. public static void main(String[] args) {
  39. Principal janela = new Principal();
  40. janela.setVisible(true);
  41. }
  42. @Override
  43. public void actionPerformed(ActionEvent acao) {
  44. if(acao.getSource() == combo) {
  45. int indice = (int) combo.getSelectedIndex();
  46. switch(indice){
  47. case 2:
  48. area.setText("Alterando o conteúdo da caixa de texto!");
  49. caixlivro.setText("Biblia sagrada");
  50. getContentPane().add(ble);
  51. ble.setBounds(160,120,240,220);
  52. getContentPane().add(linke);
  53. linke.setText("Cristianismo");
  54. linke.setBounds(138,520,220,20);
  55. linke.setBorderPainted(false);
  56. linke.setForeground(Color.blue);
  57. linke.addActionListener(this);
  58. break;
  59. case 3:
  60. area.setText("Alterando o conteúdo da caixa de texto novamente!");
  61. caixlivro.setText("Buda?");
  62. // JOptionPane.showMessageDialog(null, "Voce não selecionou: ");
  63. getContentPane().add(buda);
  64. buda.setBounds(160,120,240,220);
  65. linkb.remove(linke);
  66. linkb.setText("Budismo");
  67. getContentPane().add(linkb);
  68. linkb.setBounds(178,520,220,20);
  69. linkb.setBorderPainted(false);
  70. linkb.setForeground(Color.blue);
  71. linkb.addActionListener(this);
  72. break;
  73. case 4:
  74. break;
  75. case 5:
  76. break;
  77. }
  78. }
  79. if(acao.getSource() == linke) {
  80. try {
  81. uri = new URI("https://www.bibliaonline.com.br/");
  82. } catch (URISyntaxException e) {
  83. JOptionPane.showMessageDialog(null, "site inválido");
  84. }
  85. desktop = Desktop.getDesktop();
  86. try {
  87. desktop.browse(uri);
  88. } catch (IOException ex) {
  89. JOptionPane.showMessageDialog(null, "site inválido");
  90. }
  91. }
  92. if(acao.getSource() == linkb) {
  93. try {
  94. uri = new URI("https://www.google.com/");
  95. } catch (URISyntaxException e) {
  96. JOptionPane.showMessageDialog(null, "site inválido");
  97. }
  98. desktop = Desktop.getDesktop();
  99. try {
  100. desktop.browse(uri);
  101. } catch (IOException ex) {
  102. JOptionPane.showMessageDialog(null, "site inválido");
  103. }
  104. }
  105. }
  106. }

Link para o comentário
Compartilhar em outros sites

0 respostass a esta questão

Posts Recomendados

Até agora não há respostas para essa pergunta

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,8k
×
×
  • Criar Novo...