public String commando(String username, String channel, String text) throws RemoteException{
String[] result = text.split(" ", 3);
if(result[0].equalsIgnoreCase("/join")){
channel = result[1];
setChannel(channel);
joinChannel(username, channel);
}
else if(result[0].equalsIgnoreCase("/leave")){
channel = result[1];
setChannel(channel);
leaveChannel(username, channel);
}
else if(result[0].equalsIgnoreCase("/whisper")){
for (int x=2; x<result.length; x++)
newPrivateMessage(username, result[1], result[x]);
}
else if(result[0].equalsIgnoreCase("/exit")){
System.exit(0);
}
else{
error(brukernavn, "Wrong!");
}
return tekst;
}
我需要将错误设为红色。此消息(“错误!”)发送给写有/ dfdsfsd之类的用户 我在屏幕上显示了这条消息,但我无法将其显示为红色。有些想法?
编辑:
干扰:
public interface ChatFront extends Remote {
void error(String to, String message) throws RemoteException;
}
public interface Klient extends Remote {
void error(String to, String message) throws RemoteException;
}
在服务器中:
class ChatFrontImpl extends UnicastRemoteObject implements ChatFront {
private UserDAO b = new UserDAO();
private Hashtable<String, ArrayList<String>> chanel = new Hashtable<String, ArrayList<String>>();
private ArrayList<Klient> clients= new ArrayList<Client>();
public ChatFrontImpl() throws RemoteException {
}
public void error(String to, String message) throws RemoteException{
errorTo(to, message);
}
private void errorTo(String to, String message) throws RemoteException{
for(Client k: clients){
if(k.findName().equals(to)){
k.error(to, message);
}
}
}
我已经编辑了一些名字(使用挪威语),所以这对你来说可能是一个问题,但程序是有效的。唯一的问题是我无法在错误消息上获得红色
编辑2:在客户端忘记GUI:
public class GUI extends javax.swing.JFrame {
GUILogikk gl = new GUILogikk(this);
public void error(String to, String message){
//chatFelt.setCaretColor(Color.RED);
chatFelt.append("" + message + "\n");
chatFelt.setCaretPosition(chatFelt.getText().length());
}
}
答案 0 :(得分:0)
如果您使用的是控制台窗口,则必须找到特定于操作系统的功能才能设置文本颜色。这些功能因操作系统而异,因此要么重新考虑使用控制台窗口,要么为计划使用应用程序的每个系统解决问题。如果你正在使用类似Swing的东西,你可以检查与你试图绘制的组件相关的可用文本颜色属性(setSelectedTextColor()等)。更多信息:JTextArea
如果您只想绘制Graphics对象,可以执行以下操作:
g.setColor(Color.RED);
g.drawString("WRONG!", 32, 32); // text, x, y