Java 基于JComboBox选择打开新框架
我是Java的新手。我在大学里做一个关于JavaSwing的项目 我想要的功能是,当我在JComboBox中选择项目时,它应该显示一个新的AlwaysOnTop框架,并在该框架中显示带有选定项目名称的标签,当我选择另一个项目时,它应该只更新先前创建的框架中的标签Java 基于JComboBox选择打开新框架,java,swing,Java,Swing,我是Java的新手。我在大学里做一个关于JavaSwing的项目 我想要的功能是,当我在JComboBox中选择项目时,它应该显示一个新的AlwaysOnTop框架,并在该框架中显示带有选定项目名称的标签,当我选择另一个项目时,它应该只更新先前创建的框架中的标签 Here is my code: import java.awt.CardLayout; import java.awt.Container; import java.awt.event.ActionEvent; import java
Here is my code:
import java.awt.CardLayout;
import java.awt.Container;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.ItemEvent;
import java.awt.event.ItemListener;
import javax.swing.JComboBox;
import javax.swing.JFrame;
import javax.swing.JPanel;
import Swing_Package.ToolbarFrame2;
public class JComboBoxExample extends JPanel{
JComboBox cards;
public JComboBoxExample(){
String[] items = {"Item 1", "Item 2", "Item 3"};
cards = new JComboBox(items);
ActionListener listener = new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
// TODO Auto-generated method stub
cards = (JComboBox)e.getSource();
System.out.println(cards.getSelectedItem()+" ");
}
};
add(cards);
cards.addActionListener(listener);
}
public static void createAndShowGUI(){
JFrame frame = new JFrame("ComboBox Demo");
frame.setDefaultCloseOperation(frame.EXIT_ON_CLOSE);
JComboBoxExample content = new JComboBoxExample();
content.setOpaque(true);
frame.setContentPane(content);
frame.pack();
frame.setVisible(true);
}
public static void main(String[] args){
javax.swing.SwingUtilities.invokeLater(new Runnable() {
@Override
public void run() {
// TODO Auto-generated method stub
createAndShowGUI();
}
});
}
}
因此,与其在控制台上显示所选项目,不如将其显示在具有相应选择的新框架中。1)使用创建始终位于顶部框架的太难了,您必须使用或查找
2) 将(始终调用两次SELECTED
和diselected
事件)添加到而不是ActionListener
您的帖子不包含“?”。你的问题是什么?当我从JComboBox中选择项目时,它会弹出一个新的框架,其中包含一条消息或所选项目的JLabel。假设我在combobox中有3个项目(项目1、项目2、项目3),当我选择“项目1”时,它会弹出一个新的框架,显示“U have select:项目1”。这篇文章中唯一的问号是我写的2个-所以你仍然没有问问题。这不是火箭科学。嗨,安德鲁,恕我直言,我是这个网站的新手,我仍然不知道你要我做什么,如果你不想回答我上面的问题,就别理我question@rockwire:这是您的解决方案:使用JDialog。(1+)