アプリ版:「スタンプのみでお礼する」機能のリリースについて

二つのコンボボックスがあります。
1つのコンボボックスをcb1、もう一方のコンボボックスをcb2とします。cb1の中にはA、B、Cという項目があります。
質問の内容は、例えばcb1のAを選択するとcb2の項目が自動でa、b、cになっている、cb1のBを選択するとcb2の項目が自動でd、e、fになっている、ということなのです。
こんな感じに自動的に状態が変化することは可能なのでしょうか?宜しくお願いします。

A 回答 (3件)

こんにちは、こんな感じの事を求めているのですか


コンボボックス1を選択すると、
コンボボックス2の項目が変わります。

/*
* twocombo.java
*
* Created on 2006/02/06, 10:46
*/

package combolist;

import javax.swing.DefaultComboBoxModel;

/**
*
* @author
*/
public class twocombo extends javax.swing.JFrame {
Object [] combo1 ={"a","b","c"};
Object [] combo2 ={"d","f","g","h"};
Object [] combo3 ={"i","j","k"};
Object [] combo4 ={"l","m","n","o"};

DefaultComboBoxModel com1,com2,com3,com4;

/** Creates new form twocombo */
public twocombo() {
com1= new DefaultComboBoxModel(combo1);
com2= new DefaultComboBoxModel(combo2);
com3= new DefaultComboBoxModel(combo3);
com4= new DefaultComboBoxModel(combo4);
initComponents();
jComboBox1.setModel(com1);
jComboBox2.setModel(com2);

}

/** 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.
*/
// <editor-fold defaultstate="collapsed" desc=" 生成されたコード">
private void initComponents() {
jComboBox1 = new javax.swing.JComboBox();
jComboBox2 = new javax.swing.JComboBox();

getContentPane().setLayout(null);

setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
jComboBox1.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jComboBox1ActionPerformed(evt);
}
});

getContentPane().add(jComboBox1);
jComboBox1.setBounds(50, 60, 110, 21);

getContentPane().add(jComboBox2);
jComboBox2.setBounds(250, 60, 110, 21);

java.awt.Dimension screenSize = java.awt.Toolkit.getDefaultToolkit().getScreenSize();
setBounds((screenSize.width-408)/2, (screenSize.height-332)/2, 408, 332);
}
// </editor-fold>

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

if (jComboBox1.getSelectedItem().equals(combo1[0])){
jComboBox2.setModel(com2);
}else if (jComboBox1.getSelectedItem().equals(combo1[1])){
jComboBox2.setModel(com3);
}else {
jComboBox2.setModel(com4);
}



// ここに処理コードを追加:
}

/**
* @param args the command line arguments
*/
public static void main(String args[]) {
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
new twocombo().setVisible(true);
}
});
}

// 変数宣言 - 編集不可
private javax.swing.JComboBox jComboBox1;
private javax.swing.JComboBox jComboBox2;
// 変数宣言の終わり

}
    • good
    • 2
この回答へのお礼

ご返信ありがとうございます。
まさにこのプログラム通りです。ActionPerfomedメソッドをまた別に作ればよかったんですね。ありがとうございます。
ところで

>> java.awt.EventQueue.invokeLater(new Runnable() {
>>public void run() {
>>new twocombo().setVisible(true);
>>}
>>});

はどういう意味なのでしょうか?

お礼日時:2006/02/07 18:32

>> java.awt.EventQueue.invokeLater(new Runnable() {


>>public void run() {
>>new twocombo().setVisible(true);
>>}
>>});

はどういう意味なのでしょうか?

Jbuilderや、netbeansなどjava のIDEでの、
mainがあるGUIのプログラムのお約束事です。
IDEが、自動で作ります。。
GUIのプログラムで、こうしないと、
実行が、不安定になる場合があるみたいです。
体験談!!
ちなみに、jbuilderだと、swingの
お約束ごとになります。
    • good
    • 1
この回答へのお礼

ふむふむお約束事なのですね。
何度も質問したのに丁寧に答えていただいてありがとうございました。

お礼日時:2006/02/08 15:24

Javaで実装できるのかは判りませんが、JavaScriptでの実装は可能だと思います。


下記URLにサンプルが掲載されています。

参考URL:http://www.openspc2.org/reibun/javascript/form_s …
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!