我已经阅读了所有其他文章,但我找不到答案。
我从带有对象选项的JOptionPane开始。当用户选择动物或栖息地时,将出现另一个下拉选项。现在我正在努力获取另一个弹出窗口,当选择狮子会时打开信息。但我无法让它发挥作用。
此外,我查看了其他人的输入,以便能够显示这些下拉菜单。但是他们正在使用JFrame,因此java的另一个窗口在NetBeans之外打开。
我现在要做的是输入从下拉列表中选择的if语句,但我认为它没有正常工作。当我运行代码并选择动物并选择Tigers时,会弹出狮子会的窗口,当我说好的时候会弹出Tigers框。我还需要弄清楚如何在下拉列表的某些选项中输入警告声明。对于每种动物的健康问题。我想添加一个按钮以获取更多信息,但我希望能够自动弹出它。我还在阅读API文档,但我只想要一个简单的消息对话框来显示信息。
public class MonitoringSystem {
public static void main(String[] args){
ImageIcon icon = new ImageIcon(img.class.getResource("zoo.png"));
String[] options = {"Animals", "Habitat", "Exit"};
int x = JOptionPane.showOptionDialog(null, "Zookeepers would you like to view animal activities or monitor habitats?",
"Welcome to the Brooklyn Zoo!", JOptionPane.YES_NO_CANCEL_OPTION, JOptionPane.QUESTION_MESSAGE, icon, options, options[0]);
System.out.println(x);
JFrame animal = new JFrame("Animals");
JFrame habitat = new JFrame("Habitats");
if(x==0){
animal.setVisible(true);
String[] choices = {"Lions","Tigers","Bears","Giraffes",};
String input = (String) JOptionPane.showInputDialog(null,"Select Animal:","Zoo Animals",
JOptionPane.QUESTION_MESSAGE,null,choices,choices[1]);
if ("Lions".equals(choices));
JOptionPane.showMessageDialog(null, "Animal: Lion\nName: Leo\nAge: 5 \nFeeding Schedule: Twice daily");
{
}
if("Tigers".equals(choices));
JOptionPane.showMessageDialog(null, "Animal: Tiger\nName: Maj\nAge: 15 \nFeeding Schedule: 3x daily");
答案 0 :(得分:1)
if(choice=="Lions")
不要使用“==”进行对象比较。
而是使用String.equals(...)
方法。
我从带有对象选项
的JOptionPane开始
声音合理。您可以创建一个String of Array选项并使用showOptionPane(...)
方法。
现在我正在努力获取另一个弹出窗口,当选择狮子会时打开信息
那么为什么这次使用showInputDialog(...)
?
如果showOptionPane(...)
之前有效,为什么要更改方法?
JFrame animal = new JFrame("Animals");
JFrame habitat = new JFrame("Habitats");
这些陈述有什么意义?
阅读How to Make Dialogs上Swing教程中的部分,了解使用JOptionPane的更多示例。
如果您只是想显示有关狮友的信息。然后将文本添加到JTextArea,然后在JOptionPane中显示JTextArea。您可以将任何Swing组件添加到JOptionPane。阅读JOptionPane API。