Como detectar a area livre do desktop?

3 respostas
W

tipo, pelo Toolkit eu pego o tamanho da tela do kra em pixels, mas eu quero saber como eu pego o pedaco livre da tela (por exemplo, sem a barra de tarefas em baixo)

em javascript eu faria:

width = screen.availWidth;

height = screen.availHeight;

tem como pega isso no java?

3 Respostas

mister_m

Wilker:
tipo, pelo Toolkit eu pego o tamanho da tela do kra em pixels, mas eu quero saber como eu pego o pedaco livre da tela (por exemplo, sem a barra de tarefas em baixo)

em javascript eu faria:

width = screen.availWidth;

height = screen.availHeight;

tem como pega isso no java?

Resposta curta: não. No Windows, até funciona usando o Toolkit pra obter a instância de Insets, mas em todas as instalações do Linux que eu vi até hoje esse método sempre retorna [0,0,0,0].

W

mister__m:
Wilker:
tipo, pelo Toolkit eu pego o tamanho da tela do kra em pixels, mas eu quero saber como eu pego o pedaco livre da tela (por exemplo, sem a barra de tarefas em baixo)

em javascript eu faria:

width = screen.availWidth;

height = screen.availHeight;

tem como pega isso no java?

Resposta curta: não. No Windows, até funciona usando o Toolkit pra obter a instância de Insets, mas em todas as instalações do Linux que eu vi até hoje esse método sempre retorna [0,0,0,0].

vc podia me da um exemplo do uso disso com windows? tipo, c vc puder, faz um exemplo q abra uma janela ocupando o espaco livre do desktop, nesse aplicativo eu n tenho problemas de compatibilidade, pois ele vai ser usado apenas em intranet

agradeco desde ja

mister_m

Seria algo +/- assim:

Insets screenInsets = Toolkit.getDefaultToolkit().getScreenInsets(
       GraphicsEnvironment.getLocalGraphicsEnvironment()
       .getDefaultScreenDevice().getDefaultConfiguration());
Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
Dimension size = new Dimension(screenSize.width - screenInsets.left - 
       screenInsets.right, screenSize.height - screenInsets.top - 
       screenInsets.bottom);

// Depois que voce criar seu Frame/JFrame:

f.setBounds(screenInsets.top, screenInsets.left, size.width, size.height);
f.setMaximizedBounds(new Rectangle(size.width, size.height));
f.setExtendedState(Frame.MAXIMIZED_BOTH);
Criado 5 de abril de 2005
Ultima resposta 5 de abr. de 2005
Respostas 3
Participantes 2