[질문]textArea위에 동그라미를 그릴려고 하는데....
늘다
어떤메소드를 써야되는지....
import java.util.arrays;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class lottoprogram extends jframe {
jpanel panel = new jpanel();
jtextarea txtarea = new jtextarea(5, 20);
jbutton button = new jbutton(number generate!);
private jpanel contentpane;
public lottoprogram() {
enableevents(awtevent.window_event_mask);
contentpane = (jpanel)this.getcontentpane();
contentpane.setlayout(new borderlayout());
contentpane.add(center, panel);
contentpane.add(south,button);
addactionlistener();panel.add(txtarea);centerwindow();
this.settitle(lotto generator);
this.pack();
this.show();
}
private void addactionlistener()
{
button.addactionlistener(new createnumberaction());
}
private void centerwindow()
{
//center the window
dimension screensize = toolkit.getdefaulttoolkit().getscreensize();
dimension framesize = this.getsize();
if (framesize.height screensize.height) {
framesize.height = screensize.height;
}
if (framesize.width screensize.width) {
framesize.width = screensize.width;
}
this.setlocation((screensize.width - framesize.width) / 2, (screensize.height - framesize.height) / 2);
}
//overridden so we can exit when window is closed
protected void processwindowevent(windowevent e) {
super.processwindowevent(e);
if (e.getid() == windowevent.window_closing) {
system.exit(0);
}
}
class createnumberaction implements actionlistener {
public void actionperformed(actionevent e) {
lotto l = new lotto();
l.createnumberaction();
l.sortnumber();
txtarea.settext( );
for (int i = 0; i 6; i++) {
txtarea.append(l.getnumber(i) + );
}
}
}
public static void main(string[] args) {
lottoprogram cf = new lottoprogram();
}
}
class lotto {
int num[];
public lotto() { // 배열 생성
num = new int[6];
}
void createnumberaction() { // 숫자 생성
for (int i = 0; i 6; i++) {
num[i] = (int) (math.random() * 100) % 45 + 1;
for (int j = 0; j i; j++) {
if (num[j] == num[i]) {
while (num[j] == num[i]) {
num[i] = (int) (math.random() * 100) % 45 + 1;
}
}
}
}
}
void sortnumber() { // 입력된 숫자 정렬
arrays.sort(num);
}
int getnumber(int i) { // 숫자 반환
return num[i];
}
}
class mypanel extends jpanel{
public void paintcomponent(graphics g){
super.paintcomponent(g);
g.setcolor(color.red);
g.drawoval(1,1,1,1);
}
}진수다님께서 올리셨던 로또생성기를 가지고 공부중인데염
textarea라고 있자나여
그 위에 로또 공 모양처럼 빨간색 동그라미 안에 숫자를 넣고 다음공은 노란색 동그라미안에
숫자를 넣고 ... 이런식으로 바꿔볼라고 하는데
textarea.app(new mypanel());
이런식으로 추가하니까 안되네여...
왜 안될까여 ㅡㅡ?
-
세실
사실 바람직한 방법은 TextArea를 사용하는 대신 Canvas에 그림을 그리는 쪽이 낫습니다.
-
가지등
말머리 달아주세요.[질문] 질문제목 이런 형식으로 부탁드립니다.
-
캐릭터
glassLayer에 그림을 그리셔야합니다.