关于netbeans中 事件监听等方面的问题。

关于netbeans中 事件监听等方面的问题。
我在netbeans中设置了两个组合框(这两个组合框在同一个面板中),jComboBox1和jComboBox2。我想实现以下功能:
我已实现的:
在jComboBox1中加入items:A,B,C.
在jComboBox2中加入items:1,2,3,4,5,6,7,8.
我想实现而不懂的:
在交互中,我选择jComboBox1中的A时,jComboBox2中只有1,2,3可选,其 余不可见; 选择jComboBox1中的B时,jComboBox2中只有4,5,6可选,其 余不可见; 选择jComboBox1中的C时,jComboBox2中只有7,8可选,其 余不可见;

监听和动作函数都写出来。
邢李塬 1年前 已收到1个回答 举报

空中热播 幼苗

共回答了14个问题采纳率:92.9% 举报

/*
* NewJFrame.java
*
* Created on 2009年1月1日, 上午9:21
*/
package javaapplication5;
import javax.swing.ComboBoxModel;
import javax.swing.event.ListDataListener;
/**
*
* @author Administrator
*/
public class NewJFrame extends javax.swing.JFrame {
/** Creates new form NewJFrame */
public NewJFrame() {
initComponents();
}
/** This method is called from within the constructor to
* initialize the form.
* WARNING: Do NOT modify this code. The content of this method is
* always regenerated by the Form Editor.
*/
@SuppressWarnings("unchecked")
//
private void initComponents() {
jComboBox1 = new javax.swing.JComboBox();
jComboBox2 = new javax.swing.JComboBox();
setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
jComboBox1.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "A", "B", "C" }));
jComboBox1.addItemListener(new java.awt.event.ItemListener() {
public void itemStateChanged(java.awt.event.ItemEvent evt) {
jComboBox1ItemStateChanged(evt);
}
});
jComboBox2.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "1", "2", "3" }));
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(33, 33, 33)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING, false)
.addComponent(jComboBox2, javax.swing.GroupLayout.Alignment.LEADING, 0, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(jComboBox1, javax.swing.GroupLayout.Alignment.LEADING, 0, 123, Short.MAX_VALUE))
.addContainerGap(244, Short.MAX_VALUE))
);
layout.setVerticalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addGap(38, 38, 38)
.addComponent(jComboBox1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(31, 31, 31)
.addComponent(jComboBox2, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addContainerGap(189, Short.MAX_VALUE))
);
pack();
}//
private void jComboBox1ItemStateChanged(java.awt.event.ItemEvent evt) {
String value = jComboBox1.getSelectedItem().toString();
if(value.equals("A")){
jComboBox2.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "1", "2", "3" }));
}
else if(value.equals("B")){
jComboBox2.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "4", "5", "6" }));
}
else if(value.equals("C")){
jComboBox2.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "7", "8", "9" }));
}
}
/**
* @param args the command line arguments
*/
public static void main(String args[]) {
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
new NewJFrame().setVisible(true);
}
});
}
// Variables declaration - do not modify
private javax.swing.JComboBox jComboBox1;
private javax.swing.JComboBox jComboBox2;
// End of variables declaration
}

1年前

5
可能相似的问题
Copyright © 2024 YULUCN.COM - 雨露学习互助 - 16 q. 0.026 s. - webmaster@yulucn.com