Look and feel kunststoff

35 respostas
E

ESTOU TENTANDO APRENDER SOBRE L&F MAS NAO CONSIGO USAR
ESSE TAL DO KUSTSTOFF
...JA SETEI O CLASSPATH MAS DEVO ESTAR FAZENDO ALGO ERRADO
ALGUEM PODE DAR UMA AJUDA...AGRADECO

package br;

// Exemplo de  JTREE
//

import javax.swing.*;
import javax.swing.filechooser.*;
import javax.swing.border.*;
import javax.swing.tree.*;

import java.awt.*;
import java.awt.event.*;
import java.io.*;

class RPanel extends JPanel {

	JTree tree;
	JTree tree2;
	DefaultMutableTreeNode mn;
	DefaultMutableTreeNode c1;
	DefaultMutableTreeNode cc;

	public RPanel() {
		setLayout(null);

		mn = new DefaultMutableTreeNode();
		c1 =  new DefaultMutableTreeNode();
		c1.setUserObject(new Integer(1));
		mn.insert(c1, 0);

		c1 =  new DefaultMutableTreeNode();
		c1.setUserObject("Isso eh uma string");
		mn.insert(c1, 1);

		cc =  new DefaultMutableTreeNode();
		cc.setParent(c1);

		tree = new JTree(mn);
		tree.setBounds(10, 10, 200, 300);
		tree.setRootVisible(true);
		tree.setShowsRootHandles(true);
		add(tree);

		tree2 = new JTree();
		tree2.setBounds(220, 10, 200, 300);
		tree2.setRootVisible(true);
		tree2.setShowsRootHandles(true);
		add(tree2);
	}

}

class run extends JFrame {

	public run() {
	
		setSize(500, 400);
		addWindowListener(new WinEvents());
		RPanel panel = new RPanel();
		getContentPane().add(panel);

		show();
	}

	public static void main(String args[]) throws Exception {
UIManager.setLookAndFeel(new com.incors.plaf.kunststoff.KunststoffLookAndFeel();
		run r = new run();
	}
	
	class WinEvents extends WindowAdapter {
		public void windowClosing(WindowEvent e) {
			System.exit(0);
		}
	}

}

35 Respostas

mlopes

Ola,

Primeiro, declare classes com a letra inuicial maiuscula…

Segundo, tente usar setLookAndFeel(String className), ou seja:
UIManager.setLookAndFeel(“com.incors.plaf.kunststoff.KunststoffLookAndFeel”);

Terceiro, certifique-se que o Kuntstoff.jar está no CLASSPATH.

[]'s

E

Obrigado pela ajuda depois de 62 visualizacoes alguem acaou dando uma ajuda

Valeu

Mas tenho uma duvida ainda esta correta essa linha abaixo para setar o classpath?

SET CLASSPATH=C:eclipseworkspacejpgm01
esourceskunststoff.jar
E

ficou faltando as barras invertidas

SET CLASSPATH=C:eclipseworkspacejpgm01
esourceskunststoff.jar

E

SET CLASSPATH=C:_eclipse_workspace_jpgm01_resources_kunststoff.jar
considere o underline como barra invertida

thiagorani

Galera, to curioso pra saber o que seria esse Kuntstoff?

[]´s

luiz_ross

É apenas uma outra alternativa de Look And Feel para suas aplicações
No SDK vem os 3 Look And Feels básicos, o do java mesmo, o motif(que deixa a aplicação medonha) e o Windows (que deixam suas aplicações com a aparência do Windows argggghhhhhhh!!!).

R

o q vc tem contra a aparencia do windows, luiz??

o look and feel do windowsXP eh um dos melhores q existem…

E

Alguem ja usou esse L&F kunstStoff e tem um exemplo para
postar no grupo? ja fiz de tudo e nao consigo utilizar
agradeco a ajuda

luiz_ross

O XP é muito loco agora os outros Windows eu não curto não, fazer programa com o Look and Feel do windows antigo me da impressão que meu programa foi feito em VB e eu não curto VB .

luiz_ross

Tai ai galera como usar o Look And Feel KunstStoff

public class teste extends javax.swing.JFrame {
    
    /** Creates new form teste */
    public teste() {
        initComponents();
    }
    
    /** This method is called from within the constructor to
     * initialize the form.
     * WARNING: Do NOT modify this code. The content of this method is
     * always regenerated by the Form Editor.
     */
    private void initComponents() {
        jTabbedPane1 = new javax.swing.JTabbedPane();
        jPanel1 = new javax.swing.JPanel();
        jPanel2 = new javax.swing.JPanel();
        jPanel3 = new javax.swing.JPanel();
        jScrollPane1 = new javax.swing.JScrollPane();
        jTextArea1 = new javax.swing.JTextArea();
        jButton1 = new javax.swing.JButton();
        jButton2 = new javax.swing.JButton();
        jMenuBar1 = new javax.swing.JMenuBar();
        jMenu1 = new javax.swing.JMenu();

        getContentPane().setLayout(null);

        addWindowListener(new java.awt.event.WindowAdapter() {
            public void windowClosing(java.awt.event.WindowEvent evt) {
                exitForm(evt);
            }
        });

        jTabbedPane1.addTab("tab1", jPanel1);

        jTabbedPane1.addTab("tab2", jPanel2);

        jTabbedPane1.addTab("tab3", jPanel3);

        getContentPane().add(jTabbedPane1);
        jTabbedPane1.setBounds(20, 160, 260, 100);

        jScrollPane1.setVerticalScrollBarPolicy(javax.swing.JScrollPane.VERTICAL_SCROLLBAR_ALWAYS);
        jScrollPane1.setHorizontalScrollBarPolicy(javax.swing.JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS);
        jScrollPane1.setViewportView(jTextArea1);

        getContentPane().add(jScrollPane1);
        jScrollPane1.setBounds(33, 23, 190, 120);

        jButton1.setText("jButton1");
        getContentPane().add(jButton1);
        jButton1.setBounds(260, 60, 81, 27);

        jButton2.setText("jButton2");
        getContentPane().add(jButton2);
        jButton2.setBounds(260, 110, 81, 27);

        jMenu1.setText("Menu");
        jMenuBar1.add(jMenu1);

        setJMenuBar(jMenuBar1);

        pack();
    }
    
    /** Exit the Application */
    private void exitForm(java.awt.event.WindowEvent evt) {
        System.exit(0);
    }
    
    /**
     * @param args the command line arguments
     */
    public static void main(String args[]) {
    com.incors.plaf.alloy.AlloyLookAndFeel.setProperty("alloy.licenseCode", "2003/04/07#[email removido]#w547se#18f3q7");
    try {
  javax.swing.LookAndFeel alloyLnF = new com.incors.plaf.alloy.AlloyLookAndFeel();
  javax.swing.UIManager.setLookAndFeel(alloyLnF);
} catch (javax.swing.UnsupportedLookAndFeelException ex) {
  // You may handle the exception here
}

        new teste().show();
    }
    
    
    // Variables declaration - do not modify
    private javax.swing.JTabbedPane jTabbedPane1;
    private javax.swing.JButton jButton2;
    private javax.swing.JButton jButton1;
    private javax.swing.JScrollPane jScrollPane1;
    private javax.swing.JPanel jPanel3;
    private javax.swing.JPanel jPanel2;
    private javax.swing.JTextArea jTextArea1;
    private javax.swing.JPanel jPanel1;
    private javax.swing.JMenuBar jMenuBar1;
    private javax.swing.JMenu jMenu1;
    // End of variables declaration
    
}
Agora é  fazer as alterações necessárias pra rodar em sua máquina,
coloque o arquivo alloy.jar no C:\j2sdk[suaversão]\jre\lib\ext e compile esse código na mão mesmo, não tente fazer pelo Eclipse pois o classpath do eclipse é diferente então irá dar pau. Outra alteração fazer é na seguinte linha do código

com.incors.plaf.alloy.AlloyLookAndFeel.setProperty("alloy.licenseCode", "[b]2003/04/07#[email removido]#w547se#18f3q7[/b]"); exatamente aqui vc deve colocar o código da licença que passaram pra vc por e-mail e trocar por este que está aqui.

mlopes

Bom,

Eu uso de outra forma:

try {
			UIManager.setLookAndFeel("com.incors.plaf.kunststoff.KunststoffLookAndFeel");			
		} catch Exception ex) {
			ex.printstacktrace();
		}

Funciona normalmente. Não só no meu computador mas tb nos dos meus colegas.

Na verdade o q eu fiz depois foi colocar esse look and feel como default para minha VM. O q é muito mais conveniente.

No seu jdk, entre no diretório /jre/lib e crie um arquivo chamado swing.properties. Nesse arquivo insira o seguinte:

swing.defaultlaf=com.incors.plaf.kunststoff.KunststoffLookAndFeel

É isso ai, agora todos os seu programas que usam o look and feel default da VM vão rodar com o Kunstsoff ( que em alemão significa plastico ).

Eu tive problemas com o net beans, mas como uso o eclipse, não tentei resolver.

[]'s

E

Marco legal valeu …essa palavra kunststoff eh muito interessante…
pois kunst vem da origem de art e stoff de materiais…
e o artista que eh o kunstler pode usar o plastico (que eh um stoff)…
como material para sua arte…mas DEIXANDO AS ORIGENS DAS PALAVRAS DE LADO…

ONDE EU COLOCO O KUNSTSTOFF.JAR DEPOIS QUE CRIEI O ARQUIVO
SWING.PROPERTIES?

VALEU PELA AJUDA!!

mlopes

Ola,

O arquivo tem que estar no seu classpath, ou seja, antes de rodar o programa, digite “set” no command prompt, vc deve ver algo do tipo:

CLASSPATH=.;Q:/MyJars/kunststoff.jar

Isso ai, agora todos os programa (bem feitos) vão funcionar com este look and feel.

ps: Não importa onde vc coloca os seus .jar.

[]'s

E

eu coloquei o arquivo kunsstoff.jar na pasta c>jdk1.3.1>lib

e no prompt de comando digitei

C:_set CLASSPATH=.;C:_JDK1.3.1_LIB_KUNSTSTOFF.JAR

mesmo assim quando o eclipse roda ele nao encontra a classe

Error setting  LAF: java.lang.ClassNotFoundException: com.incors.plaf.kunststoff.KunststoffLookAndFeel

agradeco qualquer ajuda

luiz_ross

Coloca o trecho de código que vc tenta chamar o Look and Feel pra gente ver que talvez seu erro possa estar no código e não aonde vc esta colocando o .jar.

mlopes

Ola,

Se vc está usando windows… abra o system properties e coloque sua variável CLASSPATH lá. No Environment Variables.

Se vc setar só no command prompt, significa que será válido só pra essa seção.

Se este é o caso, após setar o classpath, digite apenas set. Isso devera mostrar todas as suas variáveis, cheque se o CLASSPATH está la.

Se estiver, chame seu programa com java … nomedoseuprograma ( bom, vc sabe como)

ps: Não creio q há algo de errado com o código.

[]'s

E

COLOQUEI O CLASSPATH NAS VARIAVEIS DE AMBIENTE

package br;

import java.awt.BorderLayout;
import java.awt.Dimension;
import java.awt.Toolkit;

import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.UIManager;


public class principal {
	
private JFrame dlframe;
private JLabel msg;


public principal() {
	
		dlframe = new JFrame("");
	
		int height = 200;
		int width = 300;
		
		dlframe.setSize( new Dimension( width, height ) );
		
		JPanel p = new MyPanel( new BorderLayout( 300, 200 ), " Informação " );
		msg = new JLabel( "" );
		
		p.add( new JLabel( Util.createImageIcon( "resources/imagem/bandeiramontando.gif" ) ), BorderLayout.WEST );
		p.add( msg, BorderLayout.CENTER );
		
		Dimension d = Toolkit.getDefaultToolkit().getScreenSize();
		
		dlframe.setLocation( (int)( d.getWidth() - width ) - 20, (int)( d.getHeight() - height ) - 40 );
		dlframe.getContentPane().add( p );
		dlframe.setVisible(true);	


      try { 
         UIManager.setLookAndFeel("com.incors.plaf.kunststoff.KunststoffLookAndFeel");          
      } catch (Exception ex) { 
   ex.printStackTrace(); 
      } 
 

    

} // Ends class constructor

	public static void main(String[] args) {
		
	principal dl = new principal();

	}

}

ERRO QUE ESTA IMPRIMINDO EH O SEGUINTE

java.lang.Error: can't load com.incors.plaf.kunststoff.KunststoffLookAndFeel
	at javax.swing.UIManager.initializeDefaultLAF(Unknown Source)
	at javax.swing.UIManager.initialize(Unknown Source)
	at javax.swing.UIManager.maybeInitialize(Unknown Source)
	at javax.swing.UIManager.getUI(Unknown Source)
	at javax.swing.JPanel.updateUI(Unknown Source)
	at javax.swing.JPanel.<init>(Unknown Source)
	at javax.swing.JPanel.<init>(Unknown Source)
	at javax.swing.JRootPane.createGlassPane(Unknown Source)
	at javax.swing.JRootPane.<init>(Unknown Source)
	at javax.swing.JFrame.createRootPane(Unknown Source)
	at javax.swing.JFrame.frameInit(Unknown Source)
	at javax.swing.JFrame.<init>(Unknown Source)
	at br.principal.<init>(principal.java:21)
	at br.principal.main(principal.java:67)
mlopes

Bom,

não sei o q está errado, mas eu chamaria o setVisible depois de ter carregado o look and feel.

[]'s

luiz_ross

Ou um dl.show();

E

DANDO UM SET NO PROMPT TENHO O SEGUINTE

CLASSPATH=.;C:Arquivos de programasJavaSoftJRE1.3.1libkunststoff.jar
COMPUTERNAME=CSBC00012840
ComSpec=C:WINNTsystem32cmd.exe
HOMEDRIVE=C:
HOMEPATH=
LOGONSERVER=\SSBCD001
NUMBER_OF_PROCESSORS=1
OS=Windows_NT
Os2LibPath=C:WINNTsystem32os2dll;
Path=C:WINNTsystem32;C:WINNT;C:Arquivos de programasMQSeries Clientin;C:Arquivos de programasMicrosoft SQL Server80ToolsBINN;C:Arquivos de programasMicrosoft SQL Server80ToolsBinn;;C:ARQUIV~1E!PC
PATHEXT=.COM;.EXE;.BAT;.CMD
PROCESSOR_ARCHITECTURE=x86
PROCESSOR_IDENTIFIER=x86 Family 6 Model 8 Stepping 6, GenuineIntel
PROCESSOR_LEVEL=6
PROCESSOR_REVISION=0806
PROMPT=$P$G
SystemDrive=C:
SystemRoot=C:WINNT
TEMP=C:TEMP
TMP=C:TEMP
USERDOMAIN=NAFTA
USERNAME=ECAVALC
USERPROFILE=C:WINNTProfilesecavalc
windir=C:WINNT

APARENTEMENTE O CLASSPATH ESTA OK…OU ALGUEM VÊ ALGO ERRADO?

mlopes

Cara,

Ta difícil… o seu CLASSPATH parece certo.

Eu tentei o seu código, modificado um pouco e funcionou…

import java.awt.BorderLayout;
import java.awt.Dimension;
import java.awt.Toolkit;

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.UIManager;

public class principal {

	private JFrame dlframe;
	private JLabel msg;

	public principal() {

		try {
			UIManager.setLookAndFeel("com.incors.plaf.kunststoff.KunststoffLookAndFeel");
		} catch (Exception ex) {
			ex.printStackTrace();
		}

		dlframe = new JFrame("");

		int height = 200;
		int width = 300;

		dlframe.setSize(new Dimension(width, height));

		JPanel p = new JPanel(new BorderLayout(300, 200));
		msg = new JLabel("Teste");
		JButton button = new JButton("Button");

		//p.add( new JLabel( Util.createImageIcon( "resources/imagem/bandeiramontando.gif" ) ), BorderLayout.WEST );
		p.add(msg, BorderLayout.CENTER);
		p.add(button, BorderLayout.SOUTH);

		Dimension d = Toolkit.getDefaultToolkit().getScreenSize();

		dlframe.setLocation((int) (d.getWidth() - width) - 20, (int) (d.getHeight() - height) - 40);
		dlframe.getContentPane().add(p);

		dlframe.setVisible(true);

	} // Ends class constructor

	public static void main(String[] args) {

		principal dl = new principal();

	}

}

Não consigo entender pq não funciona. Tente remover o swing.properties e ve se esse erro aparece.

Falouz.

E

SERÁ QUE O PROBLEMA ESTA NO MEU ARQUIVO KUNSTSTOFF.JAR?

DENTRO DO SEU ARQUIVO KUNSTSTOFF.JAR TENHO O ARQUIVO
MANIFEST ELE INDICA QUAL É A MAIN CLASS?

eferraz

Galera desculpe a ignorancia mas o que vem a ser na integra o LOOK AND FEEL KUNSTSTOFF

mlopes

Ok,

Para tirar a dúvida, faça o download de novo:
Bom, serve pra vc tb eferraz, vc vai poder ver sobre o q estamos falando.

http://javootoo.l2fprod.com/plaf/kunststoff/index.php

Mas eu acho que se vc consegue abrir o jar com uma ferramenta do tipo winzip, não creio que haja algo de errado…

Não consigo pensar em outra solução.

[]'s

E

OK MARCO VALEU PELA AJUDA

VOU DESISTIR DE TESTAR POR ENQUANTO…ATÉ
QUE ENCONTRE ALGUMA SOLUÇÃO.

E

A MENSAGEM TEVE 320 VISUALIZAÇÕES…ISSO MOSTRA
QUE MUITA POUCAS PESSOAS UTILIZAM O KUNSTSTOFF COMO
LOOK AND FEEL.

POIS ATÉ AGORA ESTAMOS SEM SOLUÇÃO…NEM OS MODERADORES
ARRISCARAM A DAR UMA SUGESTÃO PARA SOLUCIONAR.

EH IMPRESSÃO MINHA OU NINGUEM USA ESSE L&F?

R

caro edervc…

baixei aki o L&F…coloquei o jar no classpath e rodei um exemplo q foi colocado aki mesmo no topico…

funcionou perfeitamente…nao sei qual estah sendo seu problema…

ate mais

E

caro rbarioni

puxa meu então da uma força…

você usa o eclipse?

aonde você seta seu classpath? onde você coloca seu arquivo kunststoff.jar?

aqui eu uso nt …e setei o CLASSPATH nas variaveis de ambiente

R

foi lah mesmo q setei…

nem usei o eclipse…foi editplus mesmo…
aqui uso win2000 e acho q o lance de variaveis de ambiente eh o mesmo…

coloquei o caminho completo do .jar e funcionou…

falow

mlopes

Bom,

Eu e mais uma galera usamos o Kuntstoff por aqui, como já disse tivemos problemas com o Net beans mas não sei q versão.

No eclipse, vc pode clicar com o botão direito no projeto, dai propriedades e então java build path. Clique então em add external jars, e coloque o path para o seu jar.

Isso TEM que funcionar.

ps: se o jar ja estiver no seu projeto, use add jars.

[]'s

luiz_ross

Gente o código que postei foi escrito no NetBeans e não deu problema nenhum, rodou com o L&F legalzinho.

E

ARRE EGUA…VALEU MARCO…AGORA TO FELIZ…

RESOLVEU.

PUTZ ERA MAIS SIMPLES DO QUE EU PENSAVA.

ESSE ECLIPSE EH MUITO BOM.

mlopes

Caro Luiz,

Não quis dizer compilar com o net beans… é claro que da certo :smiley:

Quis dizer fazer o netbeans USAR o look and feel. lol

[]'s

Rafael_Steil

“edervc”:
caro rbarioni

puxa meu então da uma força…

você usa o eclipse?

aonde você seta seu classpath? onde você coloca seu arquivo kunststoff.jar?

aqui eu uso nt …e setei o CLASSPATH nas variaveis de ambiente

So para deixar claro, o Eclipse usa o seu proprio classpath, portando ignorando o do sistema. Caso voce queira que alguma lib esteja disponivel a sua aplicacao que esta sendo feita no Eclipse, eh necessario adicionar ela pelo Workbench mesmo. Para fazer isso eh bastante simples:

  1. Clique com o botao direito do mouse no nome do projeto e va em “Properties”;

  2. Clique em Java Build Path;

  3. Clique na aba “Libraries”;

  4. E por final clique no botao “Add External JARs”.

Entao eh soh selecionar o arquivo e pronto!!

Rafael

luiz_ross

Agora entendi mlopes!!! :smiley:

Criado 6 de março de 2003
Ultima resposta 13 de mar. de 2003
Respostas 35
Participantes 7