我有以下代码用于创建包含某些排名的下拉菜单, 我需要能够从菜单中获得用户选择的任何等级,以便我可以在其他类中使用答案
package userInterface;
import java.awt.Color;
import java.awt.FlowLayout;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JComboBox;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JTextField;
@SuppressWarnings("serial")
public class gui extends JFrame implements ActionListener {
String[] messageStrings = { "RANK 1", "RANK 2", "RANK 3" };
JComboBox cmbMessageList = new JComboBox(messageStrings);
JLabel user = new JLabel();
JLabel item1;
String user_rank;
public static void main(String[] args) {
gui newguiGui = new gui();
newguiGui.setVisible(true);
}
public gui() {
setLayout(new FlowLayout());
setSize(400, 300);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
cmbMessageList.setSelectedIndex(1);
cmbMessageList.addActionListener(this);
add(cmbMessageList);
add(user);
setLayout(new FlowLayout());
setLayout(new FlowLayout());
item1 = new JLabel("enter the street you are on here");
item1.setToolTipText("In this box you enter if you are: pre flop, flop, turn or river");
// adding items to the interface
}
@Override
public void actionPerformed(ActionEvent e) {
// TODO Auto-generated method stub
if (e.getSource() == cmbMessageList) {
JComboBox cb = (JComboBox) e.getSource();
String msg = (String) cb.getSelectedItem();
switch (msg) {
case "RANK 1":
user_rank = "RANK 1";
break;
case "RANK 2":
user_rank = "RANK 2";
break;
case "RANK 3":
user_rank = "RANK 3";
break;
}
}
}
}
提前致谢
答案 0 :(得分:0)
您可以将其存储在变量中。并通过调用getter方法来使用它。
答案 1 :(得分:0)
如果您的其他班级不在同一个套餐中,您可以将String user_rank
公开:
public String user_rank;
然后您可以使用gui.user_rank
访问它。
此外:
userRank
来遵循Java命名约定。Gui
作为类名,原因与上述相同。 e.getSource() == cmbMessageList
替换为e.getSource().equals(cmbMessageList)
。setLayout(new FlowLayout())
3次。另一种方法是添加一个(公共或默认访问)方法,该方法将返回user_rank
并让另一个类调用该方法。在这种情况下,您可以将变量设为private
。