I want to ask how to add action jbutton in java, im newbie on java. im making a program to optimize chord with Harmony Search algorithm using netbeans. jButton3 has a function to process the algorithms, but i need to make 1 button more named jButton1 only for playing the pattern which already optimized. but ive got a message error
incompatible types: void cannot be converted to jButton1.
how can i fix it? thank you.
private void jButton3ActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
hs = new HarmonySearch(oriChord, hms, hmcr, par, delta, max_iteration);
//hs = new HarmonySearch();
hs.train();
String melodyMusicString = hs.nodeListToMusicString(oriMelody);
String chordMusicString = hs.nodeListToMusicString(oriChord);
String bestMusicString = hs.nodeListToMusicString(hs.best_chord());
//System.out.println(chordMusicString);
Pattern pattern = new Pattern("T["+jComboBox1.getSelectedItem()+"]");
pattern.add("V0 " + melodyMusicString);
pattern.add("V1 " + bestMusicString);
Player player = new Player();
jButton1 = player.play(pattern);
}
Here's your problem:
The problem is that
player.play
does not return a value, and this is not how you make a button take an action in Java.I think what you're trying to do is play a pattern when you press the button. I believe you need this:
and later, add this method:
(you can also play the pattern within the
actionPerformed
, but it requires markingpattern
asfinal
, the full understanding of which requires a little more Java experience on your part)