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の短所を,「熟達者、キーボードと指示装置の併用、計算機資源、パイプ、正規表現、コマンドスクリプト言語」などの言葉を使って説明せよ.