O negocio e seguinte
eu criei um violao no java que tem 6 cordas e elas podem ser de Aço ou Nylon
no codigo tem um botao que quando clicado aciona um um metodo que troca o tipo das cordas.
e outro botao que clicando aciona um metodo que chamando dedilhar() onde toca o audio com JavaFX
o problema é que não consigo mudar o tipo da corda clicando no botao,como faz isso?
codigo:
package test;
import java.awt.Color;
import java.awt.EventQueue;
import java.awt.Image;
import java.net.URL;
import javax.swing.ImageIcon;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.border.EmptyBorder;
import javafx.scene.media.AudioClip;
import javax.swing.JLabel;
import javax.swing.JButton;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;
import javax.swing.JComboBox;
import javax.swing.JSeparator;
import java.awt.Font;
public class violao extends JFrame {
//Atributos
String TipoDeCorda;
//Referencias a variaveis
String C="nylon";
private JPanel contentPane;
public String getTipoDeCorda() {
return TipoDeCorda;
}
public void setTipoDeCorda(String tipoDeCorda) {
TipoDeCorda = tipoDeCorda;
}
private final JButton btnSubstituir = new JButton("Substituir");
private final JLabel Mostrar_Resultado = new JLabel(".");
private final JButton btnSi = new JButton("SI");
private final JButton btnSol = new JButton("SOL");
private final JButton btnL = new JButton("L\u00C1");
private final JButton btnR = new JButton("R\u00C9");
private final JButton btnMi_1 = new JButton("MI");
private final JSeparator separator_2 = new JSeparator();
private final JLabel lblTocarCordas = new JLabel(" Tocar Cordas");
private final JComboBox Corda_Afinar = new JComboBox();
private final JButton btnAfinar = new JButton("Afinar");
private final JLabel label = new JLabel();//imagem violao
private final JComboBox combo = new JComboBox();//cores do violao
private final JComboBox comboCorda = new JComboBox();// escolher se e todas as cordas ou apenas uma corda
private final JComboBox OpTipo = new JComboBox();//Tipo de corda
private final JComboBox OpCorda = new JComboBox(); //Opçao de corda
private final JLabel label_Afinar = new JLabel("");
private final JSeparator separator_3 = new JSeparator();
public void Dedilhar(String au)
{
String AUDIO_URL = getClass().getResource(au).toString();
AudioClip clip = new AudioClip(AUDIO_URL);
clip.play();
}
public void Pintar(boolean C)
{
String esc= combo.getSelectedItem().toString();
if(C==true)
{
String x ="IMAGEM/"+esc+".jpg";
URL imagem = getClass().getResource(x);
ImageIcon img = new ImageIcon(imagem);
Image Img_Branco = img.getImage().getScaledInstance(300, 350, Image.SCALE_DEFAULT);
label.setIcon(new ImageIcon(Img_Branco));
}
else {
String x ="IMAGEM/Branco.jpg";
URL imagem = getClass().getResource(x);
ImageIcon img = new ImageIcon(imagem);
Image Img_Branco = img.getImage().getScaledInstance(300, 350, Image.SCALE_DEFAULT);
label.setIcon(new ImageIcon(Img_Branco));
}
}
void Substituir(boolean esc1)
{
if(esc1=true) {
String item =comboCorda.getSelectedItem().toString();
String item2 =OpTipo.getSelectedItem().toString();
String corda1 = OpCorda.getSelectedItem().toString();
String lista[]={"MI","SI","SOL","LA","RE","MIZINHA"};
if(item=="Todas As Cordas" && item2=="Aço")
{ C = "Aço";}
else if(item=="Todas As Cordas" && item2=="Nylon")
{
C = "nylon";
}
if (item=="Uma Corda" && item2=="Aço")
{
for(int c=0;c<=5;c++)
{
if(corda1==lista[c])
{
C= "Aço";
}
}
}else if(item=="Uma Corda" && item2=="Nylon")
{
for(int c=0;c<=5;c++)
{
if(corda1==lista[c])
{
C = "nylon";
}
}}
}else
{
String C = "nylon";
}
}
//CONSTRUTOR
public violao() {
boolean esc1= false;
boolean x = false;
initComponents();
this.Pintar(x);
this.Substituir(esc1);
}
private void initComponents()
{
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setSize(760,631);
contentPane = new JPanel();
contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
contentPane.setLayout(null);
setContentPane(contentPane);
getContentPane().setBackground(Color.white);
setTitle("Violao");
label.setBounds(27, 64, 384, 403);
contentPane.add(label);
//------------------------------------------------------------------------------PINTAR----------------------------------
// BOTAO PARA PINTAR
JButton btnPintar = new JButton("Pintar");
btnPintar.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e)
{
boolean Cor = true;
Pintar(Cor);
}
});
btnPintar.setBounds(608, 176, 89, 23);
contentPane.add(btnPintar);
//combo de escolha de cores
combo.setBounds(506, 176, 78, 23);
contentPane.add(combo);
combo.addItem("Branco");
combo.addItem("Amarelo");
combo.addItem("Azul"); /*Adicionando cores as opçoes do ComboBox OpPintar*/
combo.addItem("Marrom");
combo.addItem("Vermelho");
combo.addItem("Rosa");
combo.addItem("Verde");
combo.addItem("Rosa Claro");
combo.addItem("Laranja");
//-----------------------------------------------------------------------------------------------------------------
//-----------------------------------------------------------------------------------------------BOTAO PARA TOCAR------------------------------------------------
JButton btnMi = new JButton("MI");
btnMi.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e)
{
if(e.getSource()==btnSubstituir)
{
Dedilhar("Audios/"+TipoDeCorda+"/1 º corda.mp3");
}
else
{
Dedilhar("Audios/nylon/1 º corda.mp3");
}
}
}
);
btnMi.setBounds(506, 423, 51, 23);
contentPane.add(btnMi);
btnSi.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e)
{
if(e.getSource()==btnSubstituir)
{
Dedilhar("Audios/Aço/2 º corda.mp3");
}
else
{
Dedilhar("Audios/nylon/2 º corda.mp3");
}
}
}
);
btnSi.setBounds(567, 423, 51, 23);
contentPane.add(btnSi);
btnSol.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e)
{
if(e.getSource()==btnSubstituir)
{
Dedilhar("Audios/Aço/3 º corda.mp3");
}
else
{
Dedilhar("Audios/nylon/3 º corda.mp3");
}
}
});
btnSol.setBounds(628, 423, 58, 23);
contentPane.add(btnSol);
btnL.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e)
{
if(e.getSource()==btnSubstituir)
{
Dedilhar("Audios/Aço/4 º corda.mp3");
}
else
{
Dedilhar("Audios/nylon/4 º corda.mp3");
}
}
});
btnL.setBounds(506, 457, 51, 23);
contentPane.add(btnL);
btnR.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e)
{
if(e.getSource()==btnSubstituir)
{
Dedilhar("Audios/Aço/5 º corda.mp3");
}
else
{
Dedilhar("Audios/nylon/5 º corda.mp3");
}
}
});
btnR.setBounds(567, 457, 51, 23);
contentPane.add(btnR);
btnMi_1.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e)
{
if(e.getSource()==btnSubstituir)
{
Dedilhar("Audios/Aço/6 º corda.mp3");
}
else
{
Dedilhar("Audios/nylon/6 º corda.mp3");
}
}
});
btnMi_1.setBounds(628, 457, 50, 23);
contentPane.add(btnMi_1);
// -----------------------------------------------------------------------------------SUBSTITUIR----------------------------------------------------------------
comboCorda.setBounds(462, 64, 105, 23);
contentPane.add(comboCorda);
comboCorda.addItem("Todas as Cordas");
comboCorda.addItem("Uma Corda");
OpTipo.setBounds(577, 65, 58, 20);
contentPane.add(OpTipo);
OpTipo.addItem("nylon");
OpTipo.addItem("Aço");
OpCorda.setBounds(654, 64, 43, 23);
contentPane.add(OpCorda);
OpCorda.addItem("MI"); /* Adicionando os itens do JComboBox As Cordas MI ,SI , SOL,LA,RE,MI*/
OpCorda.addItem("SI");
OpCorda.addItem("SOL");
OpCorda.addItem("LÁ");
OpCorda.addItem("RÉ");
OpCorda.addItem("MI");
//Botao de Substituir
btnSubstituir.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e)
{
boolean clicou = true;
Mostrar_Resultado.setText(C);
//Substituir(esc1);
}
});
btnSubstituir.setBounds(608, 117, 89, 23);
contentPane.add(btnSubstituir);
Mostrar_Resultado.setBounds(506, 119, 66, 19);
contentPane.add(Mostrar_Resultado);
//-----------------------------------------------------------------------------------------------------------------
// -----------------------------------------------------------------AFINAR CORDAS--------------------------------------------------------------------------------
Corda_Afinar.setBounds(514, 274, 43, 20);//ComboBox
contentPane.add(Corda_Afinar);
Corda_Afinar.addItem("MI"); /* Adicionando os itens do JComboBox As Cordas MI ,SI , SOL,LA,RE,MI*/
Corda_Afinar.addItem("SI");
Corda_Afinar.addItem("SOL");
Corda_Afinar.addItem("LÁ");
Corda_Afinar.addItem("RÉ");
Corda_Afinar.addItem("MI");
btnAfinar.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e)
{
label_Afinar.setText("Afinado!");
}
});
btnAfinar.setBounds(587, 273, 78, 23);
contentPane.add(btnAfinar);
label_Afinar.setBounds(572, 322, 46, 14);
contentPane.add(label_Afinar);
// -----------------------------------------------------------------------------------------------------------------------------------------------------------
//SEPARADORES
JSeparator separator = new JSeparator();
separator.setBounds(489, 163, 208, 2);
contentPane.add(separator);
JSeparator separator_1 = new JSeparator();
separator_1.setBounds(489, 245, 208, 8);
contentPane.add(separator_1);
contentPane.add(separator_2);
lblTocarCordas.setFont(new Font("Tahoma", Font.PLAIN, 16));
lblTocarCordas.setBounds(534, 369, 145, 23);
contentPane.add(lblTocarCordas);
separator_3.setBounds(489, 334, 208, 2);
contentPane.add(separator_3);
}
public static void main(String[] args) {
EventQueue.invokeLater(new Runnable() {
public void run() {
try {
violao frame = new violao();
frame.setVisible(true);
} catch (Exception e) {
e.printStackTrace();
}
}
});
}
}
esse metodo toca o audio
public void Dedilhar(String au)//Essa Classe recebe o caminho do audio e toca
{
String AUDIO_URL = getClass().getResource(au).toString();
AudioClip clip = new AudioClip(AUDIO_URL);
clip.play();
}
esse metodo substitui a corda
void Substituir(boolean esc1)
{
if(esc1=true) {
String item =comboCorda.getSelectedItem().toString();
String item2 =OpTipo.getSelectedItem().toString();
String corda1 = OpCorda.getSelectedItem().toString();
String lista[]={"MI","SI","SOL","LA","RE","MIZINHA"};
if(item=="Todas As Cordas" && item2=="Aço")
{ C = "Aço";}
else if(item=="Todas As Cordas" && item2=="Nylon")
{
C = "nylon";
}
if (item=="Uma Corda" && item2=="Aço")
{
for(int c=0;c<=5;c++)
{
if(corda1==lista[c])
{
C= "Aço";
}
}
}else if(item=="Uma Corda" && item2=="Nylon")
{
for(int c=0;c<=5;c++)
{
if(corda1==lista[c])
{
C = "nylon";
}
}}
}else
{
String C = "nylon";
}
}
em geral a interface esta assim
eu so quero que quando clicar no botao “SUBSITUIR” as cordas sejam substituidas
Alguem me ajuda por favor
ps: iniciante