Java 在选择面板中显示组合框的选择';s文本字段
我试图在选择面板的文本字段中显示组合框的选择Java 在选择面板中显示组合框的选择';s文本字段,java,swing,actionlistener,Java,Swing,Actionlistener,我试图在选择面板的文本字段中显示组合框的选择 import java.awt.BorderLayout; import java.awt.Color; import java.awt.Component; import java.awt.Dimension; import java.awt.FlowLayout; import java.awt.GridLayout; import java.awt.event.ActionEvent; import java.awt.event.ActionL
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Component;
import java.awt.Dimension;
import java.awt.FlowLayout;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.IOException;
import java.text.ParseException;
import java.util.Date;
import javax.swing.AbstractButton;
import javax.swing.BorderFactory;
import javax.swing.JButton;
import javax.swing.JComboBox;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JTextField;
public class Department extends JFrame {
private static final long serialVersionUID = 1L;
public static final String Art = "Art";
public static final String Biology = "Biology";
public static final String Chemistry = "Chemistry";
public static final String Computer_Science = "Computer_Science";
public static final String Economics = "Economics";
public static final String History = "History";
public static final String Music = "Music";
public static final String Philosophy = "Philosophy";
public static final String Physics = "Physics";
public static final String Psycholgy = "Psychology";
public static final String Psychology = "Psychology";
//constructor
public Department() {
setSize(700, 150);
setLocationRelativeTo(null);
setVisible(true);// making the frame visible
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setTitle("Banner Self Service For Brahmbhatt");
TermPanel()
//使用网格布局
setLayout(新的GridLayout(1,1));
添加(新JLabel(“选择一个部门”)
}))
getContentPane().add(面板)
}
}您没有发布其他代码,因此我猜您忘了将侦听器添加到JComboBox。 如果此方法是在
ActionListener
对象中声明的,则可以执行此操作将此侦听器添加到JComboBox
JComboBox cb = new JComboBox(); //sample declaration
cb.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
//do your stuff here
}
});
问题是?发布一个适当的例子来说明问题。(1-)你还没有说明问题是什么。2) 您发布的代码未格式化。了解如何正确使用论坛时,张贴代码是你希望人们阅读它。3) 这不是一个
MCVE
。您的问题是关于组合框和在面板中设置文本。因此,创建一个简单的MCVE
。您只需要一个带有组合框和文本字段的框架。然后将ActionLIstener添加到组合框中,以在选择项目时更新文本字段。整个程序大约有20-25行代码,这使得调试变得很容易。一旦你理解了基本概念,你就可以修改你真正的代码。我编辑了代码,你现在能帮我吗。感谢您的帮助JTextField textField=null代码>为什么文本字段为空?另外,按照惯例,常量名称应该像ART一样大写,方法名称应该以小写字母开头,后面每个单词的第一个字母应该是大写,比如private void TermPanel()
应该是private void TermPanel()
。您的方法名称应该描述该方法的功能。因此,initialize()
将是termPanel()
的更好名称。希望我的评论能有所帮助。
birthdayPanel.setBackground(new Color(250, 230, 230));
String[] choices = { "","Art","Biology",
"Chemistry","Computer_Science","Economics","English", "History", "Music",
"Mathematics", "Philosophy", "Physics", "Psychology"};
//Creating a comboBox
final JComboBox<String> cb = new JComboBox<String>(choices);
cb.setVisible(true);
birthdayPanel.add(cb);
panel.add(birthdayPanel);
getContentPane().add(panel);
JTextField textField = null;
//Panels for the selection term field
zodiacSign.setEnabled(true);//so that no one can use it as input field
zodiacSign.setEditable(true);//so that no one can edit the zodiac sign
selectionPanel.add(zodiacSign); // adding the zodiacsign textfield to panel
zodiacSign.setMaximumSize(new Dimension(1000, 500)); //setting minimu
dimensions for the zodiac panel
zodiacSign.setMinimumSize(new Dimension(500, 150)); //setting minimum
dimensions for the zodia
selectionPanel.setBorder(BorderFactory.createTitledBorder("Your Selection
is"));
selectionPanel.setBackground(new Color(250, 230, 230));
panel.add(selectionPanel);
public void actionPerformed (ActionEvent event)
{
JComboBox cb = (JComboBox) event.getSource();
Object selected = cb.getSelectedItem();
textField.setText((String) cb.getSelectedItem());
}
JComboBox cb = new JComboBox(); //sample declaration
cb.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
//do your stuff here
}
});