繁体   English   中英

按下 jbutton 时如何返回 jcombobox 的值

[英]How I return the value of jcombobox when I push a jbutton

我是 Java 新手,我想知道在按下JButton时如何打印从JComboBox选择的值。 这是我的代码的一部分:

public class inizio extends javax.swing.JFrame {


public inizio() {
    initComponents();
}


private void initComponents() {

    jComboBox1 = new javax.swing.JComboBox();
    jButton1 = new javax.swing.JButton();

    setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);

    jComboBox1.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "Item 1", "Item 2", "Item 3", "Item 4" }));
    jComboBox1.addActionListener(new java.awt.event.ActionListener() {
        public void actionPerformed(java.awt.event.ActionEvent evt) {
            jComboBox1ActionPerformed(evt);
        }
    });

    jButton1.setText("jButton1");
    jButton1.addActionListener(new java.awt.event.ActionListener() {
        public void actionPerformed(java.awt.event.ActionEvent evt) {
            jButton1ActionPerformed(evt);
        }
    });

    javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
    getContentPane().setLayout(layout);
    layout.setHorizontalGroup(
        layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
        .addGroup(layout.createSequentialGroup()
            .addGap(27, 27, 27)
            .addComponent(jComboBox1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
            .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
        .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
            .addContainerGap(169, Short.MAX_VALUE)
            .addComponent(jButton1)
            .addGap(152, 152, 152))
    );
    layout.setVerticalGroup(
        layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
        .addGroup(layout.createSequentialGroup()
            .addGap(117, 117, 117)
            .addComponent(jComboBox1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
            .addGap(52, 52, 52)
            .addComponent(jButton1)
            .addContainerGap(84, Short.MAX_VALUE))
    );

    pack();
}// </editor-fold>                        

private void jComboBox1ActionPerformed(java.awt.event.ActionEvent evt) {                                           


}                                          

private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {                                         

}  

private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) ,我如何从evt中获取JComboBoxevt 谢谢!

您不能从evt jComboBoxevt 您可以使用jComboBox1.getSelectedItem()来获取所选项目,因为您的jComboBox1似乎是一个应该可以从方法内部访问的字段。
PS:如果你还没有这样做,你应该开始使用像eclipse这样的IDE。

jComboBox1.getSelectedItem()

给你物品。 像这样测试它:

private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {                                         
    System.out.println(String.valueOf(jComboBox1.getSelectedItem()));
} 

jComboBox1应该是一个成员字段,由您的构造函数设置,以便jButton1ActionPerformed()使用它:

class inizio {
    JComboBox jComboBox1;

    inizio() {
        jComboBox1 = new JComboBox();
        initComponents();
    }
}

您可以在此处阅读有关该方法的更多信息。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM