我寫了下面的java程序,但我似乎無法讓它做我想做的事情。我想在java中製作兩個盒子。在兩個盒子裏都應該有一個綠色的盒子,裏面包含一個人的名字,另一個盒子和一個情緒盒子,當情緒高興的時候它會變成紅色,否則它是灰色的。像這樣的事情,我需要讓我的Facebook_Graphics.java做在Java程序中修改圖形?
我寫了下面的類,但我我可以做什麼。
import java.awt.*;
import jpb.*;
public class Facebook_Graphics{
private String name;
private String content;
DrawableFrame df;
private Graphics g;
public Facebook_Graphics(String nm){
content = "undefined";
name = nm;
// Create drawable frame
df = new DrawableFrame(name);
df.show();
df.setSize(200, 150);
// Obtain graphics context
g = df.getGraphicsContext();
// display name
g.drawString(name+"'s mood is undefined.", 20, 75);
// Repaint frame
df.repaint();
}
public void setContent(String newContent){
content = newContent;
if(content.equals("happy")){
g.setColor(Color.red);
g.fillRect(0, 0, 200, 150);
g.setColor(Color.black);
// display mood
g.drawString(name+"'s mood is:"+ "happy", 20, 75);
}
else{
g.setColor(Color.white);
g.fillRect(0, 0, 200, 150);
g.setColor(Color.black);
g.drawString(name+"'s mood is:"+ content, 20, 75);
}
// Repaint frame
df.repaint();
}
public String getContent(){
return content;
}
}
public class FacebookPerson_Graphics{
private String myName;
private String myMood;
private Facebook_Graphics myfacebook;
public FacebookPerson_Graphics(String name){
myName = name;
myfacebook = new Facebook_Graphics(myName);
}
public String getName(){
return myName;
}
public void setMood(String newMood){
myMood = newMood;
myfacebook.setContent(myMood);
}
public String getMood(){
return myMood;
}
}
import jpb.*;
@SuppressWarnings("deprecation")
public class testFacebook_Graphics{
public static void main (String[] args){
// Prompt user to enter the number of facebookpresons
SimpleIO.prompt("Enter the number of facebookpresons to be created: ");
String userInput = SimpleIO.readLine();
int numP = Integer.parseInt(userInput);
FacebookPerson_Graphics[] fbp = new FacebookPerson_Graphics[numP];
//Ask the user to enter the name for each person, and create the persons
for(int i=0; i< numP; i++){
SimpleIO.prompt("Enter the name for person "+ (i+1)+ ":");
String name = SimpleIO.readLine();
fbp[i] = new FacebookPerson_Graphics(name);
}
System.out.println("-------select a person and type the mood below--------");
//Ask the user to set the mood for a person, and update the mood, enter "####" to exit
while(true){
SimpleIO.prompt("Enter the name for a person (enter #### to exit):");
String name = SimpleIO.readLine();
if(name.equals("####"))
System.exit(0);
int personID = -1;
for(int i=0; i< numP; i++){
if(fbp[i].getName().equals(name)){
personID = i;
break;
}
}
if(personID!=-1){ // found the person
SimpleIO.prompt("Enter the mood for the person:");
String mood = SimpleIO.readLine();
fbp[personID].setMood(mood);
}
else
System.out.println("unrecognized name!");
} // end while
} // end main
}
什麼問題呢? – atomman
哦,我的問題是,我試圖讓它看起來像上面的圖像。但是我的程序在運行時輸入了一個名稱,它的名稱在盒子中間,而開心的是紅色的,但我不確定如何使它看起來像上面那樣。 –
我不知道如何讓我的Face_bookGraphics類做到這一點。\ –