Java iniciante

8 respostas
programaçãojava
E

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!

8 Respostas

I

Poste o que você já fez.

E

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’

I

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.

E

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){
                
    }
    
}
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){
        
    }
    
    
}
E

Preciso fazer agora um botão para chamar atenção, como falei

I

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.

E

Valeu vou da uma olhada!

Criado 18 de abril de 2020
Ultima resposta 19 de abr. de 2020
Respostas 8
Participantes 2