プロが教える店舗&オフィスのセキュリティ対策術

java の Gui 初心者です。


あるGUIのボタンを押したときに
他のGUIのデータを変える
というプログラムを考えています。

(たとえば
ステレオリモコンのGUIがあり、プラスボタンを押すと
ステレオのGUIにある JSlider(音量を表わす)が変わるなど)

Java Agent DEvelopment Framework(JADE)
を用いてやり取りをするのかとも考えましたが
もっと簡素なやり方があるのではと思い、質問いたしました。


ご存知の方いらっしゃいましたら

ボタンが押されたら処理をする(actionListener)中で
どのようにして他のGUIを操作するのか
という点を教えていただきたいです。

よろしくお願いいたします。

A 回答 (1件)

jdk のdemo jdk/demo/jfc/SwingSet2/src/SliderDemo.java をまねて作ってみた。


GUI部分だけ提示します。あとは、これをJFrameやJAppletに載せれば動作します
import javax.swing.*;
import java.awt.event.*;// ActionListner
class SlideTest extends JPanel {
SlideTest(){
JButton bn;
JLabel sInfo = new JLabel( "SliderDemo.slidervalue");
JSlider slide = new JSlider( JSlider.HORIZONTAL, 0,100,50 )
SliderChanger listener = new SliderChanger(slide, sInfo);

setLayout(new BoxLayout(this, BoxLayout.Y_AXIS));
bn = new JButton("slid +10" );
bn.addActionListener(listener);
bn.setActionCommand("10");
add(bn);

bn = new JButton("slid -10");
bn.addActionListener(listener);
bn.setActionCommand("-10");
add(bn);

add(slide);
add(sInfo);
}

class SliderChanger implements ActionListner {
JSlider s1 ;
JLabel info;
public SliderChanger(JSlider s, JLabel f) {
s1 = s;
info = f;
}
public void actionPerformed(ActionEvent ev) {
String action = ev.getActionCommand();
int value;
try{
value = Integer.parseInt(action);
}catch(Exception ex){
value = 0;
}
s1.setValue( s1.getValue()+value );
info.setText( "SliderDemo.slidervalue :" + s1.getValue());
}
}
}
    • good
    • 0
この回答へのお礼

お礼が遅れまして申し訳ありません。

お蔭様で何とかできました。

ありがとうございました。

お礼日時:2008/11/24 17:04

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