Pergunta

Editar:

A questão segue a regra horizontal; minha própria resposta precede.


Com base na ajuda de Oscar Reyes , eu trabalhada esta solução:

import javax.swing.JOptionPane;
import javax.swing.JFrame;

public class MyApp extends JFrame {
    public static void main(String [] args) {
        new MyApp();
    }

    public MyApp() {
        super("MyApp");
        setUndecorated(true);
        setVisible(true);
        setLocationRelativeTo(null);
        String i = JOptionPane.showInputDialog(this, "Enter your name:", getTitle(), JOptionPane.QUESTION_MESSAGE);
        if(null != i) {
            JOptionPane.showInputDialog(this, "Your name is:", getTitle(), JOptionPane.INFORMATION_MESSAGE, null, null, i.concat(i));
        }
        dispose();
    }
}

Observe que eu mostrar a minha saída em um JOptionPane.showInputDialog também. Desta forma, a saída é destaque em um campo de texto para que eu pode simplesmente pressionar Ctrl + C para copiar a saída para a área de transferência do sistema e eles pressionar ESC para negar provimento ao recurso.


Eu criei um GUI trivial para a minha aplicação trivial. Minhas instruções de aplicação para uma única entrada com um JOptionPane.showInputDialog, executa um cálculo e, em seguida, exibe uma única saída com um JOptionPane.showMessageDialog. Às vezes eu mudar para uma janela do navegador maximizada ou outra coisa para copiar e depois querem voltar para o meu diálogo JOptionPane para colar em.

Eu quero ter minha JOptionPane de diálogo aparecer como uma tarefa na barra de tarefas para que eu pudesse mudar para ele como quase qualquer outro programa em execução. Eu prefiro a simplicidade do JOptionPane, em vez de ter que criar um JFrame, um FlowLayout, um ícone, um JTextField, um JButton, um ActionListener, e assim por diante, e assim por diante.

  • Can JOptionPane mostrar-se como uma tarefa na barra de tarefas?
  • Se sim, como faço para obtê-lo a mostrar-se?
  • Se não, é outra coisa lá qualquer coisa que é um one-liner como JOptionPane.show[whatever]dialog()?
Foi útil?

Solução

  • Can JOptionPane mostrar-se como uma tarefa na barra de tarefas?

Não

  • Se não, é outra coisa lá qualquer coisa que é um one-liner como JOptionPane.show [seja qual for] de diálogo ()?

Não é exatamente um forro (mas algumas extra 6 linhas: P)

Eu aposto que você cam colocar tudo isso em um método utlity muito fácil e chamá-lo sempre que precisar com uma única chamada.

O código a seguir seria adicionar uma barra de tarefas para o seu aplicativo.

import javax.swing.JFrame;
import javax.swing.JOptionPane;

public class OptionTest { 
    public static void main ( String [] args ) { 

        JFrame frame = new JFrame("My dialog asks....");

        frame.setUndecorated( true );
        frame.setVisible( true );
        frame.setLocationRelativeTo( null );


        String message = JOptionPane.showInputDialog(frame,
            "Would this be enough?.", 
            "My dialog asks....", 
            JOptionPane.INFORMATION_MESSAGE);

        System.out.println( "Got " + message );

        frame.dispose();
    }
}

A propósito no Windows Vista, posso mudar para o OptionPane usando Alt + Tab, sem qualquer outra coisa (embora eu não posso vê-lo na barra de tarefas como você disse)

Outras dicas

Esta questão é dependente de plataforma. No meu sistema, o Debian Linux com OpenBox, JOptionPanes sempre aparecer na barra de tarefas. Eu não posso evitar qualquer JDialog de aparecer na barra de tarefas.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top