スイッチ回路のシミュレーション
public void paint(Graphics g){ Color cRed=new Color(255,0,0); Color cBlack=new Color(0,0,0); //g.setColor(cBlack); g.drawOval(30,60,15,15);//left sw g.drawOval(260,60,15,15);//right sw g.drawRect(100,120,40,20);//batt g.drawOval(170,120,20,20);//lamp g.drawLine(140,130,170,130);//botom g.drawLine(20,130,100,130); g.drawLine(190,130,295,130); g.drawLine(295,130,295,67);//down g.drawLine(20,130,20,67);//up g.drawLine(20,67,30,67); g.drawLine(295,67,275,67); g.drawLine(80,62,204,62);//top g.drawLine(80,85,204,85); boolean swa=checkbox1.getState(); boolean swb=checkbox3.getState(); boolean lamp=swa&&swb || (!swa)&&(!swb); //System.out.println("swa:"+swa+" swb:"+swb); if(lamp) g.setColor(cRed); else g.setColor(cBlack); g.fillOval(170,120,20,20); }あとは、各チェックボックスに対するイベント処理を付加します。処理はすべてpaint()で行いますから、再描画をするrepaint()を呼び出せば良いのです。ただし、各チェックボックスをダブルクリックすると、4個のメソッド(関数)を作成してしまいます。