http://sdc.sun.co.jp/java/docs/j2se/1.4/ja/docs/ja/api/index.html
この課題のヒントは SimpleDraw をみてください。
詳細はSimpleDrawを見てください
import javax.swing.JPanel; import java.awt.Graphics; /** * */ /** * @author siio * */ public class DrawPanel extends JPanel { public void drawLine(int x1, int y1, int x2, int y2){ Graphics g = this.getGraphics(); g.drawLine(x1, y1, x2, y2); } }
import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.event.MouseEvent; import java.awt.event.MouseListener; import java.awt.event.MouseMotionListener; import javax.swing.JFrame; /** * */ /** * @author siio * */ public class SimpleDraw extends JFrame implements ActionListener, MouseListener, MouseMotionListener { int lastx, lasty, newx, newy; DrawPanel panel; /* (non-Javadoc) * @see java.awt.event.ActionListener#actionPerformed(java.awt.event.ActionEvent) */ public void actionPerformed(ActionEvent arg0) { // TODO Auto-generated method stub } /* (non-Javadoc) * @see java.awt.event.MouseListener#mouseClicked(java.awt.event.MouseEvent) */ public void mouseClicked(MouseEvent arg0) { // TODO Auto-generated method stub } /* (non-Javadoc) * @see java.awt.event.MouseListener#mouseEntered(java.awt.event.MouseEvent) */ public void mouseEntered(MouseEvent arg0) { // TODO Auto-generated method stub } /* (non-Javadoc) * @see java.awt.event.MouseListener#mouseExited(java.awt.event.MouseEvent) */ public void mouseExited(MouseEvent arg0) { // TODO Auto-generated method stub } /* (non-Javadoc) * @see java.awt.event.MouseListener#mousePressed(java.awt.event.MouseEvent) */ public void mousePressed(MouseEvent arg0) { // TODO Auto-generated method stub lastx=arg0.getX(); lasty=arg0.getY(); } /* (non-Javadoc) * @see java.awt.event.MouseListener#mouseReleased(java.awt.event.MouseEvent) */ public void mouseReleased(MouseEvent arg0) { // TODO Auto-generated method stub } /* (non-Javadoc) * @see java.awt.event.MouseMotionListener#mouseDragged(java.awt.event.MouseEvent) */ public void mouseDragged(MouseEvent arg0) { // TODO Auto-generated method stub newx=arg0.getX(); newy=arg0.getY(); panel.drawLine(lastx,lasty,newx,newy); lastx=newx; lasty=newy; } public void mouseMoved(MouseEvent arg0) { // TODO Auto-generated method stub } private void init() { this.setTitle("Simple Draw"); this.setSize(300, 200); this.addMouseListener(this); this.addMouseMotionListener(this); panel=new DrawPanel(); this.getContentPane().add(panel); this.setVisible(true); this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); } /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub SimpleDraw frame=new SimpleDraw(); frame.init(); } }
import java.awt.*; import javax.swing.*; import java.awt.event.*; public class SimpleDraw extends JFrame implements MouseListener, MouseMotionListener{ SimpleDraw(String title) { setTitle(title); addMouseListener(this); addMouseMotionListener(this); } public void mouseClicked(MouseEvent e) { System.out.println("mouse clicked!"); } public void mouseEntered(MouseEvent e) { System.out.println("mouse entered!"); } public void mouseExited(MouseEvent e) { System.out.println("mouse exited!"); } public void mousePressed(MouseEvent e) { System.out.println("mouse pressed!"); } public void mouseReleased(MouseEvent e) { System.out.println("mouse released!"); } public void mouseDragged(MouseEvent e) { System.out.println("mouse dragged!"); } public void mouseMoved(MouseEvent e) { System.out.println("mouse moved!"); } public static void main(String[] args) { SimpleDraw sample = new SimpleDraw("Drawing application"); sample.setSize(400,300); sample.setVisible(true); sample.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); } }
import java.awt.*; import javax.swing.*; import java.awt.event.*; public class JTextFieldSample extends JFrame implements ActionListener { JButton button, clearButton; JTextField textleft, textright; JTextFieldSample(String title) { setTitle(title); button = new JButton("left to right"); clearButton = new JButton("clear"); button.addActionListener(this); clearButton.addActionListener(this); textleft = new JTextField(10); textright = new JTextField(10); JPanel panel=new JPanel(); panel.setLayout(new GridLayout(2,2)); panel.add(textleft); panel.add(textright); panel.add(button); panel.add(clearButton); Container container=this.getContentPane(); container.add(panel); } public void actionPerformed(ActionEvent e) { if(e.getSource()==(button)) { textright.setText(textleft.getText()); textleft.setText(""); }else if(e.getSource()==(clearButton)) { textright.setText(""); } } public static void main(String[] args) { JTextFieldSample sample = new JTextFieldSample("JTextFieldSample"); sample.pack(); sample.setVisible(true); sample.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); } }
import java.io.*; import java.net.*; public class URLTest { public static void main (String argv[]) { try { URL targetURL = new URL("http://www.ocha.ac.jp/"); InputStream istream = targetURL.openStream(); BufferedReader breader = new BufferedReader (new InputStreamReader(istream, "JISAutoDetect")); String line; while((line=breader.readLine()) != null) System.out.println(line); }catch(IOException e) { System.out.println("error..."); } } }
Class Osaifuを作り、以下のクラスメソッドが java Osaifuコマンドで動くようにせよ。 public static void main(String argv[]) { Osaifu saifu1 = new Osaifu(1000);//インスタンスを作る //最初の保持金額を1000円にする Osaifu saifu2 = new Osaifu(500);//インスタンスを作る //最初の保持金額を500円にする saifu2.in(saifu1.out(200));//saifu1からsaifu2に200円移す saifu1.print();//現在の金額を表示 saifu2.print();//現在の金額を表示 }
public class Point3D { private int x, y, z; void putx( int ptx) { x=ptx; } void puty(int pty) { y=pty; } void putz(int ptz) { z=ptz; } int getx() { return x; } int gety() { return y; } int getz() { return z; } Point3D(int ptx, int pty, int ptz) { //x=ptx; y=pty; z=ptz; this.putx(ptx); this.puty(pty); this.putz(ptz); } //指定された点との距離を求めるインスタンスメソッド double distance(int ptx, int pty, int ptz) { double d; int dx = ptx - x; int dy = pty - y; int dz = ptz - z; d = Math.sqrt(dx * dx + dy * dy + dz * dz); return d; } //指定された点との距離を求めるインスタンスメソッド double distance(Point3D pt) { return this.distance(pt.getx(), pt.gety(), pt.getz()); } //Point3Dクラスに以下のクラスメソッドを追加して、 //これがjava Point3Dコマンドで動くようにせよ。 public static void main(String argv[]) { Point3D pt1 = new Point3D(1,2,3); Point3D pt2 = new Point3D(30,20,10); System.out.println(pt1.distance(pt2)); //pt1,pt2の距離を表示 } }
(1-1) 以下の日用品を1つ以上例示せよ
(1-2) なぜ(1-1)のような事態になったのかを、分析せよ
制約、マッピング、Affordance、モデル、複雑性、エラー対策、状態がビジュアルかどうか、標準化の問題か、などを議論せよ。
(2) グラフィカルユーザインタフェース(GUI)をキャラクターベースのインタフェース(CUI)と比較して,以下のことを述べよ.
(2-1)CUIに対するGUIの長所を,「初心者、子供、直接操作、アフォーダンス、デスクトップメタファ、WYSIWYG」などの言葉を使って説明せよ.
(2-2)CUIに対するGUIの短所を,「熟達者、キーボードと指示装置の併用、計算機資源、パイプ、正規表現、コマンドスクリプト言語」などの言葉を使って説明せよ.