我正在爲我的ap comp sci項目創建一個小組合框菜單。這是我第一次使用GUI,所以我仍然熟悉它。我有一個菜單類和一些其他類,主要運行無效的方法來做簡單的事情,如計算GPA等。我的菜單工作正常(至少我認爲是這樣)。然而,當我在菜單中選擇我的第一個項目時(我現在只有一個actionlistener,但我會在後面添加更多),actionlistener運行void方法(run())並打開窗口。但之後沒有任何反應。我有在該方法中的用戶輸入鍵入百分比等,並且它在我直接從類運行該方法時工作。但是當actionlistener運行它時,我無法輸入或似乎沒有任何輸入。感謝您的時間和幫助!使用actionlistener爲我的菜單組合框運行不同類的void方法。
package First_Semester_Project;
import java.awt.Color;
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class Menu extends GradeCalculator
{
String [] info = {"Grade Calculator", "Spanish Conjugator", "Period Table of Elements", "Sentence Compiler"};
JLabel l= new JLabel("Welcome to the Resource Library!");
JComboBox c = new JComboBox(info);
JButton b = new JButton ("Select Resource");
public Menu()
{
frame();
}
public void frame()
{
JFrame f = new JFrame ("Resource Library");
l.setForeground(Color.white);
l.setFont(new Font("Arial", Font.BOLD, 16));
f.setSize(600,90);
f.setVisible(true);
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
JPanel p = new JPanel();
p.setBackground(Color.gray);
p.add(c);
p.add(b);
p.add(l);
f.add(p);
b.addActionListener(new ActionListener()
{
public void actionPerformed (ActionEvent e){
String s = c.getSelectedItem().toString();
//l.setText(s);
if (s.equals("Grade Calculator"))
{
run();
}
else if (s.equals("travel time"))
{
l.setText(s);
}
}
});
}
好,所以我嘗試過了,空隙的方法還是不接受任何用戶輸入。而且我還得到一個編譯器警告,說它使用不安全的操作。 – user3204894
對不起,關於最近的回覆,你能否提供更多的代碼或鏈接到您的項目,以便我可以看到什麼是錯的? – Sowry