Bom, eu gostaria muito que alguém me ajudasse em uma aplicação no java, sou iniciante, eu preciso fazer um botão que “chame atenção”, ou seja, quando eu clicar nesse botão a tela do Jframe em que cliquei terá de ganhar prioridade na frente e tocar um som (igual o antigo MSN).
por favor vocês poderiam me ajudar, já faz um tempo em que tento fazer isso, mas não consigo!
Java iniciante
8 Respostas
Poste o que você já fez.
Bom, a ideia geral do que estou criando é primeiro: fazer dois Jframes se comunicar, segundo: enviar caracters de um rostinho em um frame (’:)’) e aparecer o emoji no outro, terceiro: fazer esse botão que eu expliquei ai em cima, eu já tentei fazer de varias formas, até mesmo colocar uma musica pra tocar no botão e depois eu tentava mexer na tela, mas tambem nao funcionou, no momento meu código só falta fazer esse botão de ‘atenção’
Ok mas o que de concreto, programado tu já tem? Poste para irmos conversando no campo das linhas de código além do campo das ideias.
Ok, obrigada!
bom, esse é o frame do servidor, esse é o botão de Enviar como falei emais abaixo é o restante do código.
private void msg_enviarActionPerformed(java.awt.event.ActionEvent evt) {
try{
String msgout = "";
String emoji;
emoji = "😁";
msgout = msg_texto.getText();
if (msgout.equals (":)")){
dout.writeUTF(emoji);
}else{
dout.writeUTF(msgout);
}
}
catch(Exception e){
}
}
public static void main(String args[]) {
try{
String msgin = "";
ss = new ServerSocket(1201);
s = ss.accept();
din = new DataInputStream(s.getInputStream());
dout = new DataOutputStream(s.getOutputStream());
while(!msgin.equals("exit")){
msgin = din.readUTF();
msg_area.setText(msg_area.getText().trim()+"\n"+msgin);
}
}
catch (Exception e){
}
}
Esse é o Jframe Cliente!
private void msg_enviarActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
try{
String msgout = "";
String emoji;
emoji = "😁";
msgout = msg_texto.getText();
if (msgout.equals (":)")){
dout.writeUTF(emoji);
}else{
dout.writeUTF(msgout);
}
}
catch(Exception e){
}
}
public static void main(String args[]) {
try{
String msgin = "";
s = new Socket("127.0.0.1", 1201);
din = new DataInputStream(s.getInputStream());
dout = new DataOutputStream(s.getOutputStream());
while(!msgin.equals("exit")){
msgin = din.readUTF();
msg_area.setText(msg_area.getText().trim()+"\n"+msgin);
}
}
catch(Exception e){
}
}
Preciso fazer agora um botão para chamar atenção, como falei
Creio que basta tu colocar o estado do JFrame como NORMAL. Por exemplo:
public class Tela02 extends JFrame {
btnChamarAtencao = new JButton();
btnChamarAtencaoClicked.setText("Atenção");
txtSocket = new JTextField();
btnChamarAtencao.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent evento){
btnEnviarClicked(evento);
}
});
private void btnChamarAtencaoClicked(ActionEvent evento){
this.setVisible(true);
this.setLocationRelativeTo(this);
this.setExtendedState(NORMAL); //Coloca a JFrame no modo normal
txtSocket.requestFocusInWindow(); //Coloca foco no componente txtSocket
}
private JTextField txtSocket;
private JButton btnChamarAtencaoClicked;
}
Para mais detalhes, consulte: Oracle Docs - JFrame.
Valeu vou da uma olhada!