Skip to main content

Thread: Deviding the center of jfraem into two parts


hi guys

have java programm allow user draw doodle , save it. program also, allow user have templates such camel, bear in order him/her find out how draw them.
program works fine problem when user press button show templates, templates displayed in external window not in jframe window. have tried divide center of jframe 2 parts: 1 drawing , 1 showing templates.

have been trying way many times , have been searching around not find how can it.
here code of painting , showing templates. very helpfull if can help. have started hate java because of code

import
java.awt.*;

import
java.awt.event.*;

import
java.awt.event.actionlistener;

import
java.awt.image.bufferedimage;

import
java.io.bufferedreader;

import
java.io.file;

import
java.io.fileinputstream;

import
java.io.fileoutputstream;

import
java.io.ioexception;

import
java.io.inputstreamreader;

import
java.io.objectinputstream;

import
java.io.objectoutputstream;

import
java.util.arraylist;

import
java.util.list;

import
java.util.vector;

import
java.awt.point;

import
javax.imageio.imageio;

import
javax.swing.event.*;

import
javax.swing.jbutton;

import
javax.swing.jcombobox;

import
javax.swing.jframe;

import
javax.swing.jlabel;

import
javax.swing.joptionpane;

import
javax.swing.jpanel;

import
javax.swing.jtextarea;

import
javax.swing.jtextfield;

public
class paintprush extends jframe implements mouselistener, actionlistener, mousemotionlistener{

int
xvalue = -10, yvalue = -10;
painter
p ;

private
panel top, drawingarea, bottom;

private
jtextfield text1, text2, text3, text4, text5;

private
jlabel mylabel;

private
jcombobox templates;

private
jbutton open, mspaint, show, draw, clear, save, exit;

private
usersaccount ua;
bufferedimage
image;
process
process;
file
inputfile;
list<point>
displaylist = new arraylist<point>();
string
pathname = "data.dat";

public
paintprush (usersaccount a){
bufferedreader bf=
new bufferedreader(new inputstreamreader(system.in));

addmouselistener(
this);
addmousemotionlistener(
this);
setdefaultcloseoperation (
exit_on_close);
settitle (
"drwoing tool");

setsize (1000,600);
ua = a;
layoutcomponents();
}

private
void layoutcomponents(){
setlayout(
new borderlayout());
top = new panel();
open = new jbutton("open doodle");
top.add(open);
open.addactionlistener(this);

mspaint = new jbutton("open mspaint");
top.add(mspaint);
mspaint.addactionlistener(this);

draw = new jbutton("creat doodle");
top.add(draw);
draw.addactionlistener(this);


//line = new jbutton("line");

//top.add(line);

//line.addactionlistener(this);


clear = new jbutton("clear");
top.add(clear);
clear.addactionlistener(this);

save = new jbutton("save doodle");
top.add(save);
save.addactionlistener(this);

exit = new jbutton("exit");
top.add(exit);
exit.addactionlistener(this);


add(
top,borderlayout.north);

bottom = new panel();
mylabel = new jlabel("select template");
bottom.add(mylabel);

templates = new jcombobox ();
templates.additem("armadillo");
templates.additem("bear");
templates.additem("camel");
templates.additem("cartons");
templates.additem("dragonhead");
templates.additem("fish");
templates.additem("hedgehog");
templates.additem("historic ornament rosettes");
templates.additem("leaf forms");
templates.additem("parrot");
templates.additem("rose");
templates.additem("sheep");
templates.additem("stick");
templates.additem("swan");





templates.addactionlistener(this);
bottom.add(templates);
show = new jbutton("show template");
bottom.add(show);
show.addactionlistener(this);


add(
bottom,borderlayout.south);
//drawingarea = new jpanel();


//drawingarea.setpreferredsize(new dimension(400, 0));

//drawingarea.setbackground(color.white);



 
//add(drawingarea,borderlayout.center);

setvisible(
true);

}

public
void actionperformed (actionevent e){

string template =
templates.getselecteditem().tostring();
if (e.getsource()== open)
{
string name = joptionpane.showinputdialog(
null, "enter name");
try {
fileinputstream fis =
new fileinputstream(name+".dat");
objectinputstream ois =
new objectinputstream(fis);
displaylist = (vector) (ois.readobject());
ois.close();
fis.close();
repaint();
}
catch (exception ex) {
system.
out.println("trouble reading display list vector");

}
}
elseif (e.getsource()== mspaint)
{
try {
runtime.getruntime().exec(
"c:\\windows\\system32\\mspaint.exe");
}
catch (ioexception e1) {
// todo auto-generated catch block

e1.printstacktrace();
}
}
elseif (e.getsource()== show)
{
// file input = new file(template+".jpg");

// try {

// image = imageio.read(input);


//} catch (ioexception e1) {

// todo auto-generated catch block

//e1.printstacktrace();

// }


try {
process = new processbuilder("mspaint",template+".jpg").start();
}
catch (ioexception e1) {
//todo auto-generated catch block

e1.printstacktrace();
}


}
//else if (e.getsource()== draw)

//{

// addmousemotionlistener


//(


// new mousemotionadapter()


// {//




// }


//);

// setsize( 500,500 );


// setvisible( true );



//}

elseif (e.getsource()== save)
{
try {
fileoutputstream fos =
new fileoutputstream(ua.name+".dat");
objectoutputstream oos =
new objectoutputstream(fos);
oos.writeobject(
displaylist);
oos.flush();
oos.close();
fos.close();
}
catch (exception ex) {
system.
out.println("trouble writing display list vector");
}
}


elseif (e.getsource()== clear)
{
displaylist = new vector();
repaint();
}
elseif (e.getsource()== exit)
{
joptionpane.showmessagedialog(
null, "good bay","result summary", joptionpane.information_message);

system.exit(0);
}
}

public
void paint ( graphics g )

{
g.setcolor(color.
white);
//system.out.print(getsize().height);

// g.fillrect(0, 0, 600, 600);

// g.setcolor(color.gray);

// g.fillrect(getsize().width-400,getsize().height-550, 600, 600);


g.fillrect(0, 0, getsize().
width, getsize().height);
g.setcolor(color.
red);
int = 0;
while (i < displaylist.size()) {
point p0 = (point) (
displaylist.get(i++));

g.filloval(p0.
x, p0.y, 10,10);

//g.drawimage( image, 50, 50, null);

}
//g.drawoval( xvalue, yvalue, 10, 10 );

// g.drawline(prevx, prevy, x, y);


}
@override
public
void mouseclicked(mouseevent event) {
// todo auto-generated method stub


}
@override
public
void mouseentered(mouseevent event) {
// todo auto-generated method stub


}
@override
public
void mouseexited(mouseevent event) {
// todo auto-generated method stub


}
@override
public
void mousepressed(mouseevent event) {
// todo auto-generated method stub

point p =
new point(event.getx(), event.gety());
displaylist.add(p);

}

@override
public
void mousereleased(mouseevent event) {
// todo auto-generated method stub

point p =
new point(event.getx(), event.gety());
displaylist.add(p);
repaint();
}

public
void mousedragged( mouseevent event )

{
point p =
new point(event.getx(), event.gety());
displaylist.add(p);
repaint();
//xvalue = event.getx();

// yvalue = event.gety();
// repaint();



}
@override
public
void mousemoved(mouseevent e) {
// todo auto-generated method stub


}
}



Forum The Ubuntu Forum Community Ubuntu Specialised Support Development & Programming Programming Talk Deviding the center of jfraem into two parts


Ubuntu

Comments

Popular posts from this blog

Hur installera Joomla på One.com - Joomla! Forum - community, help and support

removing index.php from URL address - Joomla! Forum - community, help and support

「イメージマップのアンカー名には、...」のエラーが出ないようにしたい