kostenloser Webspace werbefrei: lima-city


Java style -> windows style?

lima-cityForumProgrammiersprachenJava

  1. Autor dieses Themas

    vime

    vime hat kostenlosen Webspace.

    Hallo
    Ich habe eine Frage:
    Ich habe einen "normalen" JButton erstellt. Der sieht ja so aus:
    http://www.java2s.com/Tutorial/JavaImages/JButtonWithTooltip.PNG
    Nun habe ich mir Netbeans 7 herruntergeladen. Hier sehen die JButtons aber so aus (wie der rot eingerahmte)
    http://blogs.tech-recipes.com/shamanstears/files/2008/07/vista_restore_gadgets.png

    Wie bekomme ich das nun als Code zum selbst schreiben hin...gibt es da eine methode oder ist das von Netbeans gestellt?

    Thx für Antworten
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. Dazu musst du das Look and Fell entsprechend einstellen.
    Hier wirds erklärt:
    http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html

    Kurz und knapp musst du das hier verwenden und die Exceptions abfangen:
    UIManager.setLookAndFeel( UIManager.getSystemLookAndFeelClassName() );
  4. Autor dieses Themas

    vime

    vime hat kostenlosen Webspace.

    Danke für die schnelle Antwort. Leider funktioniert sie leider nicht. ich bekomme einen Haufen exeptions.
    Class: Anzeige
    new Class: fenstereinstllungen (Einloggen)
    283 159
    Exception in thread "AWT-EventQueue-0" java.lang.ClassCastException: javax.swing.plaf.ColorUIResource cannot be cast to java.util.List
    	at javax.swing.plaf.metal.MetalUtils.drawGradient(Unknown Source)
    	at javax.swing.plaf.metal.MetalInternalFrameTitlePane.paintComponent(Unknown Source)
    	at javax.swing.JComponent.paint(Unknown Source)
    	at javax.swing.JComponent.paintChildren(Unknown Source)
    	at javax.swing.JComponent.paint(Unknown Source)
    	at javax.swing.JComponent.paintChildren(Unknown Source)
    	at javax.swing.JComponent.paint(Unknown Source)
    	at javax.swing.JComponent.paintChildren(Unknown Source)
    	at javax.swing.JComponent.paint(Unknown Source)
    	at javax.swing.JLayeredPane.paint(Unknown Source)
    	at javax.swing.JComponent.paintChildren(Unknown Source)
    	at javax.swing.JComponent.paintToOffscreen(Unknown Source)
    	at javax.swing.RepaintManager$PaintManager.paintDoubleBuffered(Unknown Source)
    	at javax.swing.RepaintManager$PaintManager.paint(Unknown Source)
    	at javax.swing.RepaintManager.paint(Unknown Source)
    	at javax.swing.JComponent.paint(Unknown Source)
    	at java.awt.GraphicsCallback$PaintCallback.run(Unknown Source)
    	at sun.awt.SunGraphicsCallback.runOneComponent(Unknown Source)
    	at sun.awt.SunGraphicsCallback.runComponents(Unknown Source)
    	at java.awt.Container.paint(Unknown Source)
    	at java.awt.Window.paint(Unknown Source)
    	at javax.swing.RepaintManager.paintDirtyRegions(Unknown Source)
    	at javax.swing.RepaintManager.paintDirtyRegions(Unknown Source)
    	at javax.swing.RepaintManager.seqPaintDirtyRegions(Unknown Source)
    	at javax.swing.SystemEventQueueUtilities$ComponentWorkRequest.run(Unknown Source)
    	at java.awt.event.InvocationEvent.dispatch(Unknown Source)
    	at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
    	at java.awt.EventQueue.access$000(Unknown Source)
    	at java.awt.EventQueue$1.run(Unknown Source)
    	at java.awt.EventQueue$1.run(Unknown Source)
    	at java.security.AccessController.doPrivileged(Native Method)
    	at java.security.AccessControlContext$1.doIntersectionPrivilege(Unknown Source)
    	at java.awt.EventQueue.dispatchEvent(Unknown Source)
    	at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
    	at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
    	at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
    	at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
    	at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
    	at java.awt.EventDispatchThread.run(Unknown Source)


    Wen ich Z.B. UIManager.setLookAndFeel("javax.swing.plaf.metal.MetalLookAndFeel"); benutze dan Funktioniert es, aber es ändert sich nichts



    falls es hilft... ich habe meinen quelltext mal umgestellt von extends JFrame auf JFrame j = new JFrame; (etwas unübersichtlich geworden aber sollte eig alles klas sein...

    [code]package mainPack;
    
    import java.awt.Color;
    import java.awt.Font;
    
    import javax.swing.Icon;
    import javax.swing.ImageIcon;
    import javax.swing.JButton;
    import javax.swing.JFrame;
    import javax.swing.JInternalFrame;
    import javax.swing.JLabel;
    import javax.swing.JPanel;
    import javax.swing.JPasswordField;
    import javax.swing.JTextField;
    import javax.swing.UIManager;
    import javax.swing.UnsupportedLookAndFeelException;
    import javax.swing.plaf.metal.DefaultMetalTheme;
    import javax.swing.plaf.metal.MetalLookAndFeel;
    import javax.swing.plaf.metal.OceanTheme;
    
    import vimeStandartPack.fenstereinstellungen;
    import actionListener.DisposeListener;
    import actionListener.IntFrameListener;
    
    public class Anzeige{
    
    	/**
    	 * 
    	 */
    	private static final long serialVersionUID = 1L;
    
    
    	public enum rechenzeichen{plus,minus};
    	
    	JFrame j = new JFrame();
    	
    
    	javax.swing.JButton dispose = new javax.swing.JButton();
    	
    
    	DisposeListener disLis = new DisposeListener();
    
    	public JInternalFrame logo = new JInternalFrame();
    	JButton logoBtn = new JButton();
    
    	public JInternalFrame login = new JInternalFrame("Login");
    
    	IntFrameListener fraLis = new IntFrameListener(this);
    
    
    	Icon logoStandart = new ImageIcon("bin\\pics\\logoStandart.png");
    	Icon logoRollover = new ImageIcon("bin\\pics\\logoRollover.png");
    	Icon logoPressed = new ImageIcon("bin\\pics\\logoPressed.png");
    	Icon loginPNG = new ImageIcon("bin\\pics\\login.png");
    
    	JButton abschicken = new javax.swing.JButton("Abschicken");
    
    
    	JTextField user = new JTextField();
    	JPasswordField pi = new JPasswordField();
    
    
    	JLabel loginLabel = new JLabel(new ImageIcon("bin\\pics\\login.png"));
    
    	@SuppressWarnings("deprecation")
    	public Anzeige() {
    		String lookAndFeel = null;
    	       
         
                    lookAndFeel = UIManager.getCrossPlatformLookAndFeelClassName();
              
                 
                    try {
    					UIManager.setLookAndFeel(lookAndFeel);
    				} catch (ClassNotFoundException e) {
    					// TODO Auto-generated catch block
    					e.printStackTrace();
    				} catch (InstantiationException e) {
    					// TODO Auto-generated catch block
    					e.printStackTrace();
    				} catch (IllegalAccessException e) {
    					// TODO Auto-generated catch block
    					e.printStackTrace();
    				} catch (UnsupportedLookAndFeelException e) {
    					// TODO Auto-generated catch block
    					e.printStackTrace();
    				}
                    
                    JFrame.setDefaultLookAndFeelDecorated(true);
                    
    		JPanel jp = new JPanel(true);
    		
    		jp.setSize(9999, 9999);
    		jp.setLocation(0, 0);
    		jp.setBackground(Color.BLACK);
    		j.setBackground(Color.RED);
    		j.setUndecorated(true);
    		j.setAlwaysOnTop(true);
    		int screensizehight = java.awt.Toolkit.getDefaultToolkit().getScreenSize ().height;
    		int screensizewidth = java.awt.Toolkit.getDefaultToolkit().getScreenSize ().width;
    		System.out.println("Class: Anzeige");
    		new fenstereinstellungen(j, "Einloggen", screensizehight, screensizewidth, false);
    		j.setVisible(true);
    
    		j.setDefaultCloseOperation(3);
    
    		j.setLayout(null);
    
    		dispose.setBounds(screensizewidth-50, 0, 50, 50);
    		dispose.setVisible(true);
    		dispose.setForeground(Color.RED);
    		dispose.setContentAreaFilled(false);
    		dispose.setBorderPainted(false);
    		dispose.addActionListener(disLis);
    
    
    		addingLogo();
    		settingUpLogin();
    
    		j.add(jp);
    		j.dispose();
    		j.setVisible(true);
    
    
    	}
    
    
    	private void settingUpLogin() {
    
    
    		user.setSize(482,  91 );
    		user.setLocation(258, 107);
    		user.setBackground(new Color(16, 131, 255));
    		user.setForeground(Color.WHITE);
    		Font f = new Font("Calibri", 0, 85);
    		user.setFont(f);
    		pi.setSize(482, 91);
    		pi.setLocation(258, 221);
    		pi.setBackground(new Color(16, 131, 255));
    		pi.setForeground(Color.WHITE);
    		Font f2 = new Font("Calibri", 0, 75);
    		pi.setFont(f2);
    
    		abschicken.setSize(200, 50);
    		abschicken.setLocation(545, 335);
    		abschicken.setBorderPainted(false);
    		login.add(abschicken);
    
    
    
    		login.add(pi);
    		login.add(user);
    
    		int width=loginPNG.getIconWidth();
    		int height=loginPNG.getIconHeight();
    		login.setSize(width, height);
    		int screensizehight = java.awt.Toolkit.getDefaultToolkit().getScreenSize ().height;
    		int screensizewidth = java.awt.Toolkit.getDefaultToolkit().getScreenSize ().width;
    
    		int x = (screensizewidth/2)-(width/2);
    		int y = (screensizehight/2)-(height/2);
    		System.out.println(x+" "+y+"");
    		login.setLocation(x, y);
    		login.add(loginLabel);
    
    		j.add(login);
    	}
    
    
    	private void addingLogo() {
    		int width=300;
    		int height=300;
    		logo.setSize(width, height);
    
    		int screensizehight = java.awt.Toolkit.getDefaultToolkit().getScreenSize ().height;
    		int screensizewidth = java.awt.Toolkit.getDefaultToolkit().getScreenSize ().width;
    
    		int x = (screensizewidth/2)-(width/2);
    		int y = (screensizehight/2)-(height/2);
    		logo.setLocation(x, y);
    
    
    
    
    		logoBtn.setBorderPainted(false);
    		logoBtn.setContentAreaFilled(false);
    		logoBtn.setIcon(logoStandart);
    		logoBtn.setRolloverIcon(logoRollover);
    		logoBtn.setPressedIcon(logoPressed);
    
    
    		logoBtn.addMouseListener(fraLis);
    		logo.add(logoBtn);
    
    
    
    
    
    
    
    
    		j.add(logo);
    		logo.setVisible(true);
    	}
    
    
    }
    [/code]

    Beitrag zuletzt geändert: 14.7.2011 22:29:28 von vime
  5. He,

    wenn ich die Fehlermeldung richtig deute, dann kann es sein, dass der Fehler schon in der Klasse "fenstereinstellungen" eintritt.
    und wenn ich mich allzu sehr täusche, dann dort in Zeile 283
    Diese Exception wird dann an deine Anzeige-Klasse weitergeworfen.

    Schau dir mal die fenstereinstellungen-Klasse an besonders den Teil, wo du "Einloggen" übergibst.

    Viel Erfolg ;-)
  6. Autor dieses Themas

    vime

    vime hat kostenlosen Webspace.

    Ok ich habs gelöst.
    ich hab es einfach in die Main methode geschrieben und nu geht alles. Danke

    Beitrag zuletzt geändert: 15.7.2011 11:25:43 von vime
  7. Könnte es sein, dass du das aufgerufen hast nachdem du die Fenster erstellt hast oder so?
    Ich denke hier hängt der Fehler, weil in der Fehlermeldung steht, dass er nicht neu zeichnen konnte soweit ich das sehe.
    Wäre vllt auch für andere die hierauf stoßen interessant.
  8. Autor dieses Themas

    vime

    vime hat kostenlosen Webspace.

    Naja...aufjedenfall einfach das Ding ganz an den anfang setzen bevor man was macht..dan ist alles gut...

    Und danke nochmal :D
  9. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!