Java 组合框中的选定项不会添加到文本字段?
我有下面的代码,但我不断得到错误 void是变量itemStateChanged的无效类型 这是错误消息,但当我取出void时,会出现语法错误 有人能修好密码吗Java 组合框中的选定项不会添加到文本字段?,java,swing,actionlistener,jcombobox,itemlistener,Java,Swing,Actionlistener,Jcombobox,Itemlistener,我有下面的代码,但我不断得到错误 void是变量itemStateChanged的无效类型 这是错误消息,但当我取出void时,会出现语法错误 有人能修好密码吗 final JComboBox combobox = new JComboBox(procedurelist); combobox.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent event) { p
final JComboBox combobox = new JComboBox(procedurelist);
combobox.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent event) {
procedure = (String) combobox.getSelectedItem();
private void itemStateChanged(ItemEvent e) {
if(e.getStateChange() == ItemEvent.SELECTED) {
if("Focus".equals(e.getItem())) {
textField_9.requestFocus();
}
}
}
}
});
combobox.setBounds(68, 216, 86, 20);
contentPane.add(combobox);
您可以在另一个方法中声明一个方法。Java语法不允许这样做。如果您试图监视组合框中项目的状态更改
,请使用项目侦听器
final JComboBox combobox = new JComboBox(procedurelist);
combobox.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent event) {
procedure = (String) combobox.getSelectedItem();
}
});
combobox.addItemListener(new ItemListener(){
public void itemStateChanged(ItemEvent e) {
if(e.getStateChange() == ItemEvent.SELECTED) {
if("Focus".equals(e.getItem())) {
textField_9.requestFocus();
}
}
}
});
您正在方法中声明一个方法,这无法完成 根据你想做什么,你实际上不需要它
final JComboBox combobox = new JComboBox(procedurelist);
combobox.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent event) {
procedure = (String) combobox.getSelectedItem();
if("Focus".equals(procedure)) {
// Set text??
textField_9.requestFocusInWindow();
// Select all..
}
}
});
// Bad idea, learn to use layout managers
//combobox.setBounds(68, 216, 86, 20);
contentPane.add(combobox);
你试图在一个方法中定义一个方法,我很确定这是不可能的…好的。那么我要在哪里声明第二种方法才能使它起作用呢?从技术上来说,如果我不使用该方法,则组合框中的选定项将永远不会添加到文本字段,除非有其他方法将其添加到文本字段。现在获取以下错误消息:无法降低ItemListener继承方法的可见性?注意
public void itemStateChanged
+1textField_9.setText(textField_9.getText());textField_9.选择全部;textField_9.requestFocusInWindow()
@mKorbel+1代表requestFocusInWindow
我很清楚地记得你的课程
final JComboBox combobox = new JComboBox(procedurelist);
combobox.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent event) {
procedure = (String) combobox.getSelectedItem();
if("Focus".equals(procedure)) {
// Set text??
textField_9.requestFocusInWindow();
// Select all..
}
}
});
// Bad idea, learn to use layout managers
//combobox.setBounds(68, 216, 86, 20);
contentPane.add(combobox);