###前提・実現したいこと
btn [0][1][2]をクリックすると、それに対応した国旗が表示されるようにしたい。
###ソースコード
import java.awt.;
import java.awt.event.;
class ColorButton extends Frame implements ActionListener{
Button[] btn;
String[] ttl={"Germany","Indonesia","Romania","Exit"};
final int N=4;
ColorButton(String s, int w, int h){ super(s); int i; setSize(w,h); btn=new Button[N]; for(i=0;i<N;i++){ btn[i]=new Button(ttl[i]); btn[i].addActionListener(this); } Panel p=new Panel(); for(i=0;i<N;i++) p.add(btn[i]); p.setBackground(Color.pink); add(p,BorderLayout.SOUTH); addWindowListener(new WindowAdapter() { public void windowClosing(WindowEvent e){ System.exit(0);} }); } public void actionPerformed(ActionEvent e){ if(e.getSource()==btn[0]){ }else if(e.getSource()==btn[1]){ }else if(e.getSource()==btn[2]){ }else{ System.exit(0); } } int radius=30,width=250,height=75; public void paint(Graphics g){ g.setColor(Color.red); g.fillRect(30,60,width,height); g.setColor(Color.white); g.fillRect(30,130,width,height); g.setFont(f); g.setColor(Color.darkGray); g.drawString("Indonesia",50,240); width=width/3;height=height*2; g.setColor(Color.blue); g.fillRect(300,60,width,height); g.setColor(Color.yellow); g.fillRect(300+width,60,width,height); g.setColor(Color.red); g.fillRect(300+width*2,60,width,height); g.setFont(f); g.setColor(Color.darkGray); g.drawString("Romania",300,240); width=width*3;height=height/3; g.setColor(Color.black); g.fillRect(570,60,width,height); g.setColor(Color.red); g.fillRect(570,60+height,width,height); g.setColor(Color.yellow); g.fillRect(570,60+height*2,width,height); g.setFont(f); g.setColor(Color.darkGray); g.drawString("Germany",570,240); } public static void main(String[] args){ ColorButton a=new ColorButton("National flag",300,200); a.setVisible(true); }
}
###補足情報(言語/FW/ツール等のバージョンなど)
Javaです。よろしくお願い致します。
回答2件
あなたの回答
tips
プレビュー