Configurando acesso à internet via proxy em aplicações Java
Hoje tive um problema no meu trabalho onde um client, que roda via prompt de comando (Prompt do DOS), não conseguia acessar o servidor hospedado na internet, isso porque a empresa onde trabalho utiliza proxy.
Depois de algumas tentativas acabei achando duas soluções para resolver o problema de acesso: a primeira foi passar como parâmetros Java as configurações do proxy.
$ java -Dhttp.proxyHost=serv -Dhttp.proxyPort=porta -Dhttp.proxyUser=usu -Dhttp.proxyPassword=senha ClasseJava
-Dhttp.proxyHost = IP ou nome do servidor proxy
-Dhttp.proxyPort = Porta do proxy
-Dhttp.proxyUser = Usuário
-Dhttp.proxyPassword = Senha
Desta forma a classe ClasseJava terá acesso à internet através do proxy.
A outra forma foi inserir as configurações na própria classe:
public static void main(String[] args){
...
System.getProperties().put("proxySet", "true");
System.getProperties().put("http.proxyHost", "serv");
System.getProperties().put("http.proxyPort", "porta");
System.getProperties().put("http.proxyUser", "usuario");
System.getProperties().put("http.proxyPassword", "senha");
...
}
proxySet = Define se passará ou não por um servidor proxy
http.proxyHost = IP ou nome do servidor proxy
http.proxyPortt = Porta do proxy
http.proxyUse = Usuário
http.proxyPassword = Senha
Usando um destes recursos você poderá configurar sua aplicação para acessar à internet através de um proxy.
Espero ter ajudado. Até +!
Playlist do Amarok pára após tocar uma música
Recentemente enfrentei um problema que vários outros usuários do Amarok 2.1.1 vêm enfrentando: O Amarok só toca uma música do playlist e depois pára.
Para resolver este problema: Feche o Amarok, delete o arquivo ~/.kde/share/apps/amarok/current.xspf e então reinicie o Amarok.
Pelo menos comigo funcionou e espero que funcione com todos!
Até +.
Criando janelas transparentes e com formas usando Java Swing/AWT
O AWT nos oferece uma gama de possibilidades quando falamos sobre manipulação de janelas. Hoje falarei sobre duas destas possibilidades com a classe AWTUtilities.
Deixando a janela transparente
Para deixar uma Window (JFrame, JDialog e etc) transparente, você deve usar o método AWTUtilities.setWindowOpacity. Este método recebe como parâmetro a janela que deve ser alterada e o grau de transparência, que varia entre 0 (zero) e 1, sendo 0 (zero) invisível e 1 totalmente visível.
JFrame window = new JFrame("Minha janela");
//70% de transparência
AWTUtilities.setWindowOpacity(window, .7f);
window.setSize(800,600);
window.setVisible(true);
Alterando a forma da janela
Para alterar a forma da janela você deve usar o método AWTUtilities.setWindowShape. Este método recebe como parâmetro a janela que deve ser alterada e a forma (java.awt.Shape) que a janela deverá assumir.
A forma mais eficiente de usar este método é através do componentResized(), pois você poderá recalcular o tamanho da janela para não deforma-la ou não perder os componentes de vista.
Aqui deixaremos nossa janela com a forma de um triângulo com 70% de transparência.
final JFrame window = new JFrame("Minha janela");
try {
//Adicionando o ComponentListener responsável pelo componentResized
window.addComponentListener(new ComponentAdapter(){
@Override
//implementando o método componentResized
public void componentResized(ComponentEvent e) {
int[] x = {0,400,800}; //Pontos X do polígono
int[] y = {600,0,600}; //Pontos Y do polígono
//Criaremos um triângulo de 800 x 600
Shape shape = new Polygon(x, y, 3);
AWTUtilities.setWindowShape(window, shape);
//com transparência de 70%
AWTUtilities.setWindowOpacity(window, 0.7f);
}
});
} catch (SecurityException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IllegalArgumentException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
window.setUndecorated(true); //removendo barra de título
window.setSize(800,600);
window.setVisible(true);
Repare que invoquei o método setUndecorated( ) passando o valor true, este método é responsável por ocultar a barra de título (aquele com o ícone e os botões de maximizar, minimizar e fechar) que, se estiver visível, o método AWTUtilities.setWindowShape( ) não surtirá efeito.
Espero que tenham gostado e até a próxima!
//Pontos X do polígono

