単純なプログラムを書換えよう(Java編)−インナークラス
アウタークラスではクラスViewとクラスMainを別々に定義しましたが,クラスViewをクラスMainの中に定義することも可能です.
//Main.java import java.awt.*; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.event.WindowEvent; import java.awt.event.WindowAdapter; public class Main{ class View extends WindowAdapter implements ActionListener{ private Label value=new Label("0"); public View(){ Frame frame=new Frame(); Panel buttons=new Panel(); Button inc=new Button("inc"); Button dec=new Button("dec"); buttons.add(inc); buttons.add(dec); inc.addActionListener(this); dec.addActionListener(this); frame.add(buttons,BorderLayout.SOUTH); frame.add(value,BorderLayout.CENTER); frame.addWindowListener(this); frame.pack(); frame.show(); } public void actionPerformed(ActionEvent actionEvent){ if(actionEvent.getActionCommand()=="inc"){ value.setText(Integer.toString(Integer.parseInt(value.getText())+1)); } else{ value.setText(Integer.toString(Integer.parseInt(value.getText())-1)); } } public void windowClosing(WindowEvent windowEvent){ System.exit(0); } } public static void main(String[] args){ Main.View view=new Main().new View(); } } //end