【发布时间】:2020-10-07 13:52:48
【问题描述】:
我创建了一个 JCombobox,并希望当在框中选择某个项目时,会出现相应的 ConfirmDialogs/MessageDialogs。我做错了什么?因为不幸的是,当我单击按钮“okBtn”时没有任何反应:/ 我已经尝试了很多东西,但不幸的是我仍然卡住了,希望能得到任何帮助(: 我的代码:
import javax.swing.*;
import javax.swing.border.LineBorder;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
public class MusicGenre extends JFrame {
String MusicGenre[] = {"Lo-Fi", "Future-House", "Deep-House", "Anderes"};
public MusicGenre() {
setTitle("Genre-Auswahl");
setSize(250, 250);
JPanel panel = new JPanel();
panel.setLayout(new GridLayout(4, 2));
JLabel frage = new JLabel("An welches Genre denkst du?");
panel.add(frage);
JComboBox genreAuswahl = new JComboBox(MusicGenre);
panel.add(genreAuswahl);
JButton okBtn = new JButton("Okay");
okBtn.setBackground(Color.BLACK);
okBtn.setForeground(Color.GREEN);
okBtn.setBorder(new LineBorder(Color.RED));
okBtn.setOpaque(true);
JButton backBtn = new JButton("Zurück");
backBtn.setBackground(Color.BLACK);
backBtn.setForeground(Color.RED);
backBtn.setBorder(new LineBorder(Color.RED));
backBtn.setOpaque(true);
okBtn.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent actionEvent) {
if (genreAuswahl.equals("Lo-Fi")){
int lofi = JOptionPane.showConfirmDialog(null, "Produzierst du selber Musik?");
if (lofi == JOptionPane.YES_OPTION){
JOptionPane.showMessageDialog(null, "Meine Idee: Erstelle einen Lo-Fi Beat");
System.exit(0);
}else {
JOptionPane.showMessageDialog(null, "Meine Idee: Hör dir Lo-Fi an");
System.exit(0);
}
if (genreAuswahl.equals("Future-House")){
int fh = JOptionPane.showConfirmDialog(null, "Produzierst du selber Musik?");
if (fh == JOptionPane.YES_OPTION){
JOptionPane.showMessageDialog(null, "Meine Idee: Erstelle einen Future-House Beat");
}else {
JOptionPane.showMessageDialog(null, "Meine Idee: Hör dir Future-House an");
}
if (genreAuswahl.equals("Deep-House")){
int dh = JOptionPane.showConfirmDialog(null, "Produzierst du selber Musik?");
if (dh == JOptionPane.YES_OPTION){
JOptionPane.showMessageDialog(null, "Meine Idee: Erstelle einen Deep-House Beat");
}else {
JOptionPane.showMessageDialog(null, "Meine Idee: Hör dir Deep-House an");
}
if (genreAuswahl.equals("Anderes")){
int other = JOptionPane.showConfirmDialog(null, "Produzierst du selber Musik?");
if (other == JOptionPane.YES_OPTION){
JOptionPane.showMessageDialog(null, "Meine Idee: Erstelle Musik deiner Wahl");
}else {
JOptionPane.showMessageDialog(null, "Hör dir Musik deiner Wahl an");
}
}
}
}
}
}
});
backBtn.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent actionEvent) {
dispose();
}
});
panel.add(okBtn);
panel.add(backBtn);
add(panel);
setVisible(true);
}
}
【问题讨论】:
-
如果我的解决方案对您有用,请考虑接受它作为正确答案并关闭问题。快乐编码:)
标签: java swing jcombobox joptionpane