GraphExample.java===================================================================================
import java.awt.*;
import javax.swing.*;
public class GraphExample extends JApplet
{
public void init()
{
Container contentPane = getContentPane();
DrawingPanel drawingPanel = new DrawingPanel();
contentPane.add(drawingPanel, BorderLayout.CENTER);
JPanel controlPanel = new JPanel();
JTextField text1 = new JTextField(3);
JTextField text2 = new JTextField(3);
JTextField text3 = new JTextField(3);
JButton button = new JButton("그래프 그리기");
controlPanel.add(new JLabel("국어"));
controlPanel.add(text1);
controlPanel.add(new JLabel("영어"));
controlPanel.add(text2);
controlPanel.add(new JLabel("수학"));
controlPanel.add(text3);
controlPanel.add(button);
contentPane.add(controlPanel, BorderLayout.SOUTH);
button.addActionListener(new DrawActionListener(text1, text2, text3, drawingPanel));
}
}
=====================================================================================================
DrawingPanel.java===================================================================================
import java.awt.*;
import javax.swing.*;
class DrawingPanel extends JPanel
{
int korean, english, math;
public void paint(Graphics g)
{
g.clearRect(0, 0, getWidth(), getHeight());
g.drawLine(50, 250, 350, 250);
for(int cnt=1; cnt<11; cnt++)
{
g.drawString(cnt*10 + "", 25, 255 - 20*cnt);
g.drawLine(50, 250 - 20*cnt, 350, 250 - 20*cnt);
}
g.drawLine(50, 20, 50, 250);
g.drawString("국어", 100, 270);
g.drawString("영어", 200, 270);
g.drawString("수학", 300, 270);
g.setColor(Color.RED);
if(korean > 0)
{
g.fillRect(110, 250 - korean*2, 10, korean*2);
}
if(english > 0)
{
g.fillRect(210, 250 - english*2, 10, english*2);
}
if(math > 0)
{
g.fillRect(310, 250 - math*2, 10, math*2);
}
}
void setScores(int korean, int english, int math)
{
this.korean = korean;
this.english = english;
this.math = math;
}
}
=====================================================================================================
DrawActionListener.java==============================================================================
import javax.swing.*;
import java.awt.event.*;
class DrawActionListener implements ActionListener
{
JTextField text1, text2, text3;
DrawingPanel drawingPanel;
DrawActionListener(JTextField text1, JTextField text2, JTextField text3, DrawingPanel drawingPanel)
{
this.text1 = text1;
this.text2 = text2;
this.text3 = text3;
this.drawingPanel = drawingPanel;
}
public void actionPerformed(ActionEvent e)
{
try
{
int korean = Integer.parseInt(text1.getText());
int english = Integer.parseInt(text2.getText());
int math = Integer.parseInt(text3.getText());
drawingPanel.setScores(korean, english, math);
drawingPanel.repaint();
}
catch(NumberFormatException nfe){
JOptionPane.showMessageDialog(drawingPanel, "잘못된 숫자 포맷입니다.", "에러 메시지", JOptionPane.ERROR_MESSAGE);
}
}
}
=====================================================================================================
'OM' 카테고리의 다른 글
동영상 플레이어 (FLVPlayback) 2 (0) | 2008.04.10 |
---|---|
동영상 플레이어 (FLVPlayback) (0) | 2008.04.10 |
3X3 Puz (0) | 2008.04.10 |
Card Match (0) | 2008.04.08 |
테이블에 행을 추가/삭제하는 프로그램 (0) | 2008.04.06 |
htmlconverter (0) | 2008.04.04 |
에디트 플러스 자바설정 (0) | 2008.03.20 |
가사가 표시되는 MP3 Player (0) | 2008.03.15 |
MP3 플레이어 (0) | 2008.03.13 |