Compiler-Fehler Drei Exceptions in GUIHack für Dreiecke auf MoveButtons

NiXPhoE

Gesperrter Benutzer
Hallo,

ich bekomme beim einbauen eines Hacks drei Exceptions und weiß nicht was falsch oder eventuell zu viel ist. In der Zeile 36 wird forum rot unterstrichen, ich weis nicht warum? Ich erhalte da die Exception:
Code:
The import forum cannot be resolved
Und in den Zeilen 43 und 192 erhalte ich die Exception:
Code:
ComponentFilterer cannot be resolved
, wobei ComponentFilterer rot unterstrichen ist?

Um die Datei auszuführen braucht man von meiner Homepage das Cheat- und Konfiguratinstool ShockCfg ShockCfg 3, man muss nur noch die Datei WriteCfg.java durch diese hier ersetzen. Bitte sagt mir wie ihr im Tool erwähnt werden möchtet, wenn ihr helfen könnt, weil es ist ein seriöses Tool!? :toll:

Java:
import java.io.*;
import java.awt.*;

import javax.swing.*;
import javax.swing.plaf.metal.MetalComboBoxButton;
import javax.swing.plaf.metal.MetalComboBoxIcon;

import java.util.ArrayList;
import java.util.Locale;
import java.awt.Color;
import java.awt.Component;
import java.awt.Graphics;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.Arrays;
import java.util.Collections;
import java.util.List;
import java.util.Map;
import java.util.Set;

import javax.swing.JButton;
import javax.swing.JComboBox;
import javax.swing.JFileChooser;
import javax.swing.JFrame;
import javax.swing.JScrollBar;
import javax.swing.JScrollPane;
import javax.swing.SwingUtilities;
import javax.swing.UIDefaults;
import javax.swing.UIManager;
import javax.swing.plaf.basic.BasicComboPopup;
import javax.swing.plaf.basic.ComboPopup;
import javax.swing.plaf.metal.MetalComboBoxUI;
import javax.swing.plaf.metal.MetalScrollBarUI;
import javax.swing.plaf.metal.MetalScrollButton;

import forum.customchooser.ComponentFilterer;

public class WriteCfg
{
	private final JFileChooser dir;
	private int returnval;
	private File shock2exe;
	private BufferedWriter bufferwrite;
	private SetRes setres;
	private ReadCfg readcfg;
	private JFrame frame;
    private JButton klick;
    
	
	@SuppressWarnings("rawtypes")
	public WriteCfg(SetRes setres, ReadCfg readcfg)
	{
		this.setSetres(setres);
		this.setReadcfg(readcfg);
		UIManager.put("OptionPane.questionDialog.border.background", new javax.swing.plaf.ColorUIResource(Color.GREEN));
		UIManager.put("activeCaption", new javax.swing.plaf.ColorUIResource(Color.black));
		UIManager.put("OptionPane.questionDialog.titlePane.background", new javax.swing.plaf.ColorUIResource(Color.BLACK));
		UIManager.put("OptionPane.questionDialog.titlePane.foreground", new javax.swing.plaf.ColorUIResource(Color.GREEN));
		UIManager.put("activeCaptionText", new javax.swing.plaf.ColorUIResource(Color.green));
		UIManager.put("OptionPane.questionDialog.titlePane.shadow", new javax.swing.plaf.ColorUIResource(Color.GREEN));
		javax.swing.plaf.metal.MetalLookAndFeel.setCurrentTheme(new NoBumpsTheme());
		JDialog.setDefaultLookAndFeelDecorated(true);
		
		//Inverting Colors for pressed Buttons
		try {
		    UIManager.setLookAndFeel( new MyLookAndFeel() );
		} catch (UnsupportedLookAndFeelException e) {
		        // TODO Auto-generated catch block
		        e.printStackTrace();
		}
		
		JOptionPane optPane = new JOptionPane(setres.getTxt().getString("WriteCfgDia1"));
		optPane.setOptionType(JOptionPane.DEFAULT_OPTION);
		JDialog dia = optPane.createDialog(null, setres.getTxt().getString("WriteCfgDia1"));
		dia.getRootPane().setBorder(BorderFactory.createLineBorder(Color.green, 3));
		changeColor(dia.getComponents());
		dia.setModal(true);
		dia.setVisible(true);
		
colorizeUI();
        
        frame = new JFrame();
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        
        klick = new JButton("Klick");
        klick.addActionListener(new ActionListener(){
 
            @Override
            public void actionPerformed(ActionEvent e)
            {
                JFileChooser chooser = new JFileChooser();
                for(JComboBox j : ComponentFilterer.getComponents(chooser, JComboBox.class))
                {
                    j.setUI(new MetalComboBoxUI() {
                        @Override
                        protected JButton createArrowButton()
                        {
                            MetalComboBoxButton j = (MetalComboBoxButton)super.createArrowButton();
                            j.setComboIcon(new MetalComboBoxIcon() {
                                
                                private static final long serialVersionUID = -6616394682227867147L;
                                
                                @Override
                                public void paintIcon(Component c, Graphics g, int x, int y)
                                {
                                    int iconWidth = getIconWidth();
                                    g.translate( x, y );
                                    
                                    g.setColor(Color.GREEN);
                                    g.drawLine( 0, 0, iconWidth - 1, 0 );
                                    g.drawLine( 1, 1, 1 + (iconWidth - 3), 1 );
                                    g.drawLine( 2, 2, 2 + (iconWidth - 5), 2 );
                                    g.drawLine( 3, 3, 3 + (iconWidth - 7), 3 );
                                    g.drawLine( 4, 4, 4 + (iconWidth - 9), 4 );
                                
                                    g.translate( -x, -y );
                                }
                            });
                            
                            return j;
                        }
                        
                        @Override
                        protected ComboPopup createPopup()
                        {
                            return new BasicComboPopup(comboBox) {
                                
                                private static final long serialVersionUID = -9020472635073779841L;
                                
                                @Override
                                protected JScrollPane createScroller()
                                {
                                    JScrollPane j = super.createScroller();
                                    j.getVerticalScrollBar().setUI(getNewScrollBarUI());
                                    return j;
                                }
                            };
                        }
                    });
                }
                
                
                for(JScrollBar j : ComponentFilterer.getComponents(chooser, JScrollBar.class))
                {
                    j.setUI(getNewScrollBarUI());
                }
                
                chooser.showOpenDialog(frame);
            }
        });
        
        frame.add(klick);
        frame.pack();
        frame.setLocationRelativeTo(null);
        frame.setVisible(true);
		//Inverting Colors
		UIManager.put("Button.select", Color.green);
		
		//Filechooser opening
		dir = new JFileChooser()
		{
			/**
			 * 
			 */
			private static final long serialVersionUID = 1L;

			public JDialog createDialog(Component parent)
			{
				JDialog d = super.createDialog(parent);
				d.getContentPane().setBackground(Color.black);
				return d;
			}
		};
		changeColor(new Component[]{dir});
        colorChooser(dir);
        dir.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY);
		returnval = dir.showDialog(null, setres.getTxt().getString("WriteCfgDia2"));
		if (returnval == JFileChooser.APPROVE_OPTION)
		{	
			shock2exe = dir.getSelectedFile();
			try 
			{
				//make shockcfg.cfg
				bufferwrite = new BufferedWriter( new FileWriter("ShockCfg.ini"));
				readcfg.setreadpath(shock2exe.getPath());
				bufferwrite.write(readcfg.getreadpath());
				//thx to Al_B
				bufferwrite.write("\r\n");
				
				Locale w = Locale.getDefault();
				if(w.getLanguage().equalsIgnoreCase("de_DE"))
				{
					bufferwrite.write("de_DE");
				}
				else
				{
					bufferwrite.write("en_EN");
				}
				
				bufferwrite.write("\r\n");
				
				bufferwrite.close();
			} 
			catch (IOException ex)
			{
				System.out.println(setres.getTxt().getString("WriteCfgErr"));
				System.out.println(ex);
				System.exit(0);
			}
		}
		else
		{
			System.exit(0);
		}
	}
	
private void colorizeUI()
{
    String containing = "color";
    List<String[]> uidefaults = getAllUIDefaults(containing);
    System.out.println("Alle Properties die im Value das Wort: " + containing + " enthalten:");
    System.out.println();
    for(String[] s : uidefaults)
    {
        String key = s[0];
        String value = s[1];
        
        System.out.println(key+"="+value);
    }
    
    for(String[] s : uidefaults)
    {
        String key = s[0];
        
        
        Object value;
        if(key.toLowerCase().contains("foreground"))
            value = Color.GREEN;
        else if(key.toLowerCase().contains("gradient"))
            value = Arrays.asList(new Object[]{0.3, 0.0, Color.GREEN, Color.GREEN, Color.GRAY});
        else
            value = Color.BLACK;
        
        UIManager.put(key, value);
    }
}

private List<String[]> getAllUIDefaults(String contains)
{
    List<String[]> list = new ArrayList<String[]>();
    
    UIDefaults u = UIManager.getLookAndFeelDefaults();
    Set<Map.Entry<Object, Object>> set = u.entrySet();
    List<String> keys = new ArrayList<String>();
    for(Map.Entry<Object, Object> e : set)
    {
        if(e.getValue().toString().toLowerCase().contains(contains.trim().toLowerCase()) || contains.trim().equals(""))
            keys.add(e.getKey().toString());
    }
    Collections.sort(keys);
    for(String s : keys)
    {
        for(Map.Entry<Object, Object> e : set)
        {
            if(e.getKey().toString().equals(s))
            {
                list.add(new String[]{e.getKey().toString(), e.getValue().toString()});
            }
        }
    }
    
    return list;
}

private MetalScrollBarUI getNewScrollBarUI()
{
    return new MetalScrollBarUI() {
        @Override
        protected JButton createDecreaseButton(int orientation)
        {
            decreaseButton = new MetalScrollButton(orientation, scrollBarWidth, isFreeStanding) {
                
                private static final long serialVersionUID = -4409521721923690274L;
                
                @Override
                public void paint(Graphics g)
                {
                    super.paint(g);
                    
                    int width = getWidth();
                    int height = getHeight();
                    int w = width;
                    int h = height;
                    int arrowHeight = (height+1) / 4;
                    
                    if(getDirection() == NORTH)
                    {
                        // Draw the arrow
                        g.setColor(Color.GREEN);
                        int startY = ((h+1) - arrowHeight) / 2;
                        int startX = (w / 2);
                        
                        for (int line = 0; line < arrowHeight; line++)
                        {
                            g.drawLine( startX-line, startY+line, startX +line+1, startY+line);
                        }
                    }
                    else if(getDirection() == SOUTH)
                    {
                         // Draw the arrow
                        g.setColor(Color.GREEN);

                        int startY = (((h+1) - arrowHeight) / 2)+ arrowHeight-1;
                        int startX = (w / 2);
                        
                        for (int line = 0; line < arrowHeight; line++)
                        {
                            g.drawLine( startX-line, startY-line, startX +line+1, startY-line);
                        }
                    }
                    else if(getDirection() == EAST)
                    {
                        // Draw the arrow
                        g.setColor(Color.GREEN);

                        int startX = (((w+1) - arrowHeight) / 2) + arrowHeight-1;
                        int startY = (h / 2);
                        
                        for (int line = 0; line < arrowHeight; line++)
                        {
                            g.drawLine( startX-line, startY-line, startX -line, startY+line+1);
                        }
                    }
                    else if(getDirection() == WEST)
                    {
                        // Draw the arrow
                        g.setColor(Color.GREEN);

                        int startX = (((w+1) - arrowHeight) / 2);
                        int startY = (h / 2);
                        
                        for (int line = 0; line < arrowHeight; line++)
                        {
                            g.drawLine( startX+line, startY-line, startX +line, startY+line+1);
                        }
                    }
                    
                }
            };
            return decreaseButton;
        }

        @Override
        protected JButton createIncreaseButton(int orientation)
        {
            increaseButton =  new MetalScrollButton(orientation, scrollBarWidth, isFreeStanding) {
                
                private static final long serialVersionUID = 6260378271416327198L;
                
                @Override
                public void paint(Graphics g)
                {
                    super.paint(g);
                    
                    int width = getWidth();
                    int height = getHeight();
                    int w = width;
                    int h = height;
                    int arrowHeight = (height+1) / 4;
                    
                    if(getDirection() == NORTH)
                    {
                        // Draw the arrow
                        g.setColor(Color.GREEN);
                        int startY = ((h+1) - arrowHeight) / 2;
                        int startX = (w / 2);
                        
                        for (int line = 0; line < arrowHeight; line++)
                        {
                            g.drawLine( startX-line, startY+line, startX +line+1, startY+line);
                        }
                    }
                    else if(getDirection() == SOUTH)
                    {
                         // Draw the arrow
                        g.setColor(Color.GREEN);

                        int startY = (((h+1) - arrowHeight) / 2)+ arrowHeight-1;
                        int startX = (w / 2);
                        
                        for (int line = 0; line < arrowHeight; line++)
                        {
                            g.drawLine( startX-line, startY-line, startX +line+1, startY-line);
                        }
                    }
                    else if(getDirection() == EAST)
                    {
                        // Draw the arrow
                        g.setColor(Color.GREEN);

                        int startX = (((w+1) - arrowHeight) / 2) + arrowHeight-1;
                        int startY = (h / 2);
                        
                        for (int line = 0; line < arrowHeight; line++)
                        {
                            g.drawLine( startX-line, startY-line, startX -line, startY+line+1);
                        }
                    }
                    else if(getDirection() == WEST)
                    {
                        // Draw the arrow
                        g.setColor(Color.GREEN);

                        int startX = (((w+1) - arrowHeight) / 2);
                        int startY = (h / 2);
                        
                        for (int line = 0; line < arrowHeight; line++)
                        {
                            g.drawLine( startX+line, startY-line, startX +line, startY+line+1);
                        }
                    }
                    
                }
            };
            return increaseButton;
        }
    };
}
	public void colorChooser(JFileChooser chooser){
        @SuppressWarnings("rawtypes")
        java.util.List<JComboBox> boxes = getComponents(chooser, JComboBox.class);
        for(@SuppressWarnings("rawtypes")
        JComboBox box : boxes)
        {
            java.util.List<JButton> buttons = getComponents(box, JButton.class);
            for(JButton button : buttons)
            {
                MetalComboBoxButton b = (MetalComboBoxButton)button;
                b.setComboIcon(new MyIcon());
            }
 
            box.setForeground(Color.GREEN);
            box.setBackground(Color.BLACK);
            box.setBorder(BorderFactory.createLineBorder(Color.green));
        }
    }
 
    public void changeColor(Component[] comp)
    {
        for(int x=0; x<comp.length; x++)
        {
            try
            {
                comp[x].setBackground(Color.black);
                comp[x].setForeground(Color.green);
            }
            catch(Exception e) {}
            if(comp[x] instanceof Container)
                changeColor(((Container)comp[x]).getComponents());
        }
    }
 
    public class MyIcon extends MetalComboBoxIcon
    {
        private static final long serialVersionUID = -6616394682227867147L;
 
        public void paintIcon(Component c, Graphics g, int x, int y)
        {
            int iconWidth = getIconWidth();
            g.translate( x, y );
 
            g.setColor(Color.GREEN);
            g.drawLine( 0, 0, iconWidth - 1, 0 );
            g.drawLine( 1, 1, 1 + (iconWidth - 3), 1 );
            g.drawLine( 2, 2, 2 + (iconWidth - 5), 2 );
            g.drawLine( 3, 3, 3 + (iconWidth - 7), 3 );
            g.drawLine( 4, 4, 4 + (iconWidth - 9), 4 );
 
            g.translate( -x, -y );
        }
    }
 
    public static <T> java.util.List<T> getComponents(Component component, Class<T> clazz)
    {
        java.util.List<T> comps = new ArrayList<T>();
 
        if(clazz.isInstance(component))
        {
            comps.add(clazz.cast(component));
        }
        else if(component instanceof Container)
        {
            for(Component c : ((Container)component).getComponents())
            {
                comps.addAll(getComponents(c, clazz));
            }
        }
 
        return comps;
    } 

	public SetRes getSetres() {
		return setres;
	}

	public void setSetres(SetRes setres) {
		this.setres = setres;
	}

	public ReadCfg getReadcfg() {
		return readcfg;
	}

	public void setReadcfg(ReadCfg readcfg) {
		this.readcfg = readcfg;
	}
	
}
 
Zuletzt bearbeitet:

NiXPhoE

Gesperrter Benutzer
Danke, mein Erstellungspfad ist der normale von java. ich habe das import forum.customchooser.ComponentFilterer; gelöscht. Und ich habe zu:
public void actionPerformed(ActionEvent e)
das
@SuppressWarnings("rawtypes")
hinzugefügt.
Jetzt bleiben die zwei Exceptions bei
ComponentFilterer
Was hat mir X5-599 für einen Code gegeben? Hier ist, was er mir per PM geschickt hat:

Java:
import java.awt.Color;
import java.awt.Component;
import java.awt.Graphics;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
import java.util.List;
import java.util.Map;
import java.util.Set;
 

import javax.swing.JButton;
import javax.swing.JComboBox;
import javax.swing.JFileChooser;
import javax.swing.JFrame;
import javax.swing.JScrollBar;
import javax.swing.JScrollPane;
import javax.swing.SwingUtilities;
import javax.swing.UIDefaults;
import javax.swing.UIManager;
import javax.swing.plaf.basic.BasicComboPopup;
import javax.swing.plaf.basic.ComboPopup;
import javax.swing.plaf.metal.MetalComboBoxButton;
import javax.swing.plaf.metal.MetalComboBoxIcon;
import javax.swing.plaf.metal.MetalComboBoxUI;
import javax.swing.plaf.metal.MetalScrollBarUI;
import javax.swing.plaf.metal.MetalScrollButton;
 
public class TestFrame
{
    private JFrame frame;
    private JButton klick;
    
    public TestFrame()
    {
        colorizeUI();
        
        frame = new JFrame();
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        
        klick = new JButton("Klick");
        klick.addActionListener(new ActionListener(){
 
            @SuppressWarnings("rawtypes")
			@Override
            public void actionPerformed(ActionEvent e)
            {
                JFileChooser chooser = new JFileChooser();
                for(JComboBox j : ComponentFilterer.getComponents(chooser, JComboBox.class))
                {
                    j.setUI(new MetalComboBoxUI() {
                        @Override
                        protected JButton createArrowButton()
                        {
                            MetalComboBoxButton j = (MetalComboBoxButton)super.createArrowButton();
                            j.setComboIcon(new MetalComboBoxIcon() {
                                
                                private static final long serialVersionUID = -6616394682227867147L;
                                
                                @Override
                                public void paintIcon(Component c, Graphics g, int x, int y)
                                {
                                    int iconWidth = getIconWidth();
                                    g.translate( x, y );
                                    
                                    g.setColor(Color.GREEN);
                                    g.drawLine( 0, 0, iconWidth - 1, 0 );
                                    g.drawLine( 1, 1, 1 + (iconWidth - 3), 1 );
                                    g.drawLine( 2, 2, 2 + (iconWidth - 5), 2 );
                                    g.drawLine( 3, 3, 3 + (iconWidth - 7), 3 );
                                    g.drawLine( 4, 4, 4 + (iconWidth - 9), 4 );
                                
                                    g.translate( -x, -y );
                                }
                            });
                            
                            return j;
                        }
                        
                        @Override
                        protected ComboPopup createPopup()
                        {
                            return new BasicComboPopup(comboBox) {
                                
                                private static final long serialVersionUID = -9020472635073779841L;
                                
                                @Override
                                protected JScrollPane createScroller()
                                {
                                    JScrollPane j = super.createScroller();
                                    j.getVerticalScrollBar().setUI(getNewScrollBarUI());
                                    return j;
                                }
                            };
                        }
                    });
                }
                
                
                for(JScrollBar j : ComponentFilterer.getComponents(chooser, JScrollBar.class))
                {
                    j.setUI(getNewScrollBarUI());
                }
                
                chooser.showOpenDialog(frame);
            }
        });
        
        frame.add(klick);
        frame.pack();
        frame.setLocationRelativeTo(null);
        frame.setVisible(true);
    }
    
    /**
     * @param args
     */
    public static void main(String[] args)
    {
        SwingUtilities.invokeLater(new Runnable() {
 
            @Override
            public void run()
            {
                new TestFrame();
            }
        });
    }
    
    private void colorizeUI()
    {
        String containing = "color";
        List<String[]> uidefaults = getAllUIDefaults(containing);
        System.out.println("Alle Properties die im Value das Wort: " + containing + " enthalten:");
        System.out.println();
        for(String[] s : uidefaults)
        {
            String key = s[0];
            String value = s[1];
            
            System.out.println(key+"="+value);
        }
        
        for(String[] s : uidefaults)
        {
            String key = s[0];
            
            
            Object value;
            if(key.toLowerCase().contains("foreground"))
                value = Color.GREEN;
            else if(key.toLowerCase().contains("gradient"))
                value = Arrays.asList(new Object[]{0.3, 0.0, Color.GREEN, Color.GREEN, Color.GRAY});
            else
                value = Color.BLACK;
            
            UIManager.put(key, value);
        }
    }
    
    private List<String[]> getAllUIDefaults(String contains)
    {
        List<String[]> list = new ArrayList<String[]>();
        
        UIDefaults u = UIManager.getLookAndFeelDefaults();
        Set<Map.Entry<Object, Object>> set = u.entrySet();
        List<String> keys = new ArrayList<String>();
        for(Map.Entry<Object, Object> e : set)
        {
            if(e.getValue().toString().toLowerCase().contains(contains.trim().toLowerCase()) || contains.trim().equals(""))
                keys.add(e.getKey().toString());
        }
        Collections.sort(keys);
        for(String s : keys)
        {
            for(Map.Entry<Object, Object> e : set)
            {
                if(e.getKey().toString().equals(s))
                {
                    list.add(new String[]{e.getKey().toString(), e.getValue().toString()});
                }
            }
        }
        
        return list;
    }
    
    private MetalScrollBarUI getNewScrollBarUI()
    {
        return new MetalScrollBarUI() {
            @Override
            protected JButton createDecreaseButton(int orientation)
            {
                decreaseButton = new MetalScrollButton(orientation, scrollBarWidth, isFreeStanding) {
                    
                    private static final long serialVersionUID = -4409521721923690274L;
                    
                    @Override
                    public void paint(Graphics g)
                    {
                        super.paint(g);
                        
                        int width = getWidth();
                        int height = getHeight();
                        int w = width;
                        int h = height;
                        int arrowHeight = (height+1) / 4;
                        
                        if(getDirection() == NORTH)
                        {
                            // Draw the arrow
                            g.setColor(Color.GREEN);
                            int startY = ((h+1) - arrowHeight) / 2;
                            int startX = (w / 2);
                            
                            for (int line = 0; line < arrowHeight; line++)
                            {
                                g.drawLine( startX-line, startY+line, startX +line+1, startY+line);
                            }
                        }
                        else if(getDirection() == SOUTH)
                        {
                             // Draw the arrow
                            g.setColor(Color.GREEN);
 
                            int startY = (((h+1) - arrowHeight) / 2)+ arrowHeight-1;
                            int startX = (w / 2);
                            
                            for (int line = 0; line < arrowHeight; line++)
                            {
                                g.drawLine( startX-line, startY-line, startX +line+1, startY-line);
                            }
                        }
                        else if(getDirection() == EAST)
                        {
                            // Draw the arrow
                            g.setColor(Color.GREEN);
 
                            int startX = (((w+1) - arrowHeight) / 2) + arrowHeight-1;
                            int startY = (h / 2);
                            
                            for (int line = 0; line < arrowHeight; line++)
                            {
                                g.drawLine( startX-line, startY-line, startX -line, startY+line+1);
                            }
                        }
                        else if(getDirection() == WEST)
                        {
                            // Draw the arrow
                            g.setColor(Color.GREEN);
 
                            int startX = (((w+1) - arrowHeight) / 2);
                            int startY = (h / 2);
                            
                            for (int line = 0; line < arrowHeight; line++)
                            {
                                g.drawLine( startX+line, startY-line, startX +line, startY+line+1);
                            }
                        }
                        
                    }
                };
                return decreaseButton;
            }
 
            @Override
            protected JButton createIncreaseButton(int orientation)
            {
                increaseButton =  new MetalScrollButton(orientation, scrollBarWidth, isFreeStanding) {
                    
                    private static final long serialVersionUID = 6260378271416327198L;
                    
                    @Override
                    public void paint(Graphics g)
                    {
                        super.paint(g);
                        
                        int width = getWidth();
                        int height = getHeight();
                        int w = width;
                        int h = height;
                        int arrowHeight = (height+1) / 4;
                        
                        if(getDirection() == NORTH)
                        {
                            // Draw the arrow
                            g.setColor(Color.GREEN);
                            int startY = ((h+1) - arrowHeight) / 2;
                            int startX = (w / 2);
                            
                            for (int line = 0; line < arrowHeight; line++)
                            {
                                g.drawLine( startX-line, startY+line, startX +line+1, startY+line);
                            }
                        }
                        else if(getDirection() == SOUTH)
                        {
                             // Draw the arrow
                            g.setColor(Color.GREEN);
 
                            int startY = (((h+1) - arrowHeight) / 2)+ arrowHeight-1;
                            int startX = (w / 2);
                            
                            for (int line = 0; line < arrowHeight; line++)
                            {
                                g.drawLine( startX-line, startY-line, startX +line+1, startY-line);
                            }
                        }
                        else if(getDirection() == EAST)
                        {
                            // Draw the arrow
                            g.setColor(Color.GREEN);
 
                            int startX = (((w+1) - arrowHeight) / 2) + arrowHeight-1;
                            int startY = (h / 2);
                            
                            for (int line = 0; line < arrowHeight; line++)
                            {
                                g.drawLine( startX-line, startY-line, startX -line, startY+line+1);
                            }
                        }
                        else if(getDirection() == WEST)
                        {
                            // Draw the arrow
                            g.setColor(Color.GREEN);
 
                            int startX = (((w+1) - arrowHeight) / 2);
                            int startY = (h / 2);
                            
                            for (int line = 0; line < arrowHeight; line++)
                            {
                                g.drawLine( startX+line, startY-line, startX +line, startY+line+1);
                            }
                        }
                        
                    }
                };
                return increaseButton;
            }
        };
    }
}
 

X5-599

Top Contributor
Der ComponentFilterer ist nur eine ausgelagerte Klasse für die getComponents Methode. Und die hast du schon in deine Klasse kopiert. Dein erster Post Zeile 483.
 

NiXPhoE

Gesperrter Benutzer
Hallo X5-599,

Danke! Ich habe zwei Probleme! Das Erste ist dass auf dem Slider der zwischen den beiden Dreiecken liegt drei weise Striche sind. Das andere ist, wenn ich es in die WriteCfg aus meinem Programm einfüge, dann wird der Slider und die Knöpfe mit den Dreiecken komplett schwarz! Lade dir bitte mein Programm herunter wenn du es noch nicht getan hast und probier das aus.
Hier dafür die WriteCfg mit deinem Code:
Java:
import java.io.*;
import java.awt.*;

import javax.swing.*;
import javax.swing.plaf.metal.MetalComboBoxButton;
import javax.swing.plaf.metal.MetalComboBoxIcon;

import java.util.ArrayList;
import java.util.Locale;
import java.awt.Color;
import java.awt.Component;
import java.awt.Graphics;
import java.util.Arrays;
import java.util.Collections;
import java.util.List;
import java.util.Map;
import java.util.Set;

import javax.swing.JButton;
import javax.swing.JComboBox;
import javax.swing.JFileChooser;
import javax.swing.JScrollBar;
import javax.swing.JScrollPane;
import javax.swing.UIDefaults;
import javax.swing.UIManager;
import javax.swing.plaf.basic.BasicComboPopup;
import javax.swing.plaf.basic.ComboPopup;
import javax.swing.plaf.metal.MetalComboBoxUI;
import javax.swing.plaf.metal.MetalScrollBarUI;
import javax.swing.plaf.metal.MetalScrollButton;

public class WriteCfg
{
	private final JFileChooser dir;
	private int returnval;
	private File shock2exe;
	private BufferedWriter bufferwrite;
	private SetRes setres;
	private ReadCfg readcfg;
		
	@SuppressWarnings("rawtypes")
	public WriteCfg(SetRes setres, ReadCfg readcfg)
	{
		this.setSetres(setres);
		this.setReadcfg(readcfg);
		UIManager.put("OptionPane.questionDialog.border.background", new javax.swing.plaf.ColorUIResource(Color.GREEN));
		UIManager.put("activeCaption", new javax.swing.plaf.ColorUIResource(Color.black));
		UIManager.put("OptionPane.questionDialog.titlePane.background", new javax.swing.plaf.ColorUIResource(Color.BLACK));
		UIManager.put("OptionPane.questionDialog.titlePane.foreground", new javax.swing.plaf.ColorUIResource(Color.GREEN));
		UIManager.put("activeCaptionText", new javax.swing.plaf.ColorUIResource(Color.green));
		UIManager.put("OptionPane.questionDialog.titlePane.shadow", new javax.swing.plaf.ColorUIResource(Color.GREEN));
		javax.swing.plaf.metal.MetalLookAndFeel.setCurrentTheme(new NoBumpsTheme());
		JDialog.setDefaultLookAndFeelDecorated(true);
		
		//Inverting Colors for pressed Buttons
		try {
		    UIManager.setLookAndFeel( new MyLookAndFeel() );
		} catch (UnsupportedLookAndFeelException e) {
		        // TODO Auto-generated catch block
		        e.printStackTrace();
		}
		
		JOptionPane optPane = new JOptionPane(setres.getTxt().getString("WriteCfgDia1"));
		optPane.setOptionType(JOptionPane.DEFAULT_OPTION);
		JDialog dia = optPane.createDialog(null, setres.getTxt().getString("WriteCfgDia1"));
		dia.getRootPane().setBorder(BorderFactory.createLineBorder(Color.green, 3));
		changeColor(dia.getComponents());
		dia.setModal(true);
		dia.setVisible(true);
		
colorizeUI();
        
        JFileChooser chooser = new JFileChooser();
                for(JComboBox j : getComponents(chooser, JComboBox.class))
                {
                    j.setUI(new MetalComboBoxUI() {
                        @Override
                        protected JButton createArrowButton()
                        {
                            MetalComboBoxButton j = (MetalComboBoxButton)super.createArrowButton();
                            j.setComboIcon(new MetalComboBoxIcon() {
                                
                                private static final long serialVersionUID = -6616394682227867147L;
                                
                                @Override
                                public void paintIcon(Component c, Graphics g, int x, int y)
                                {
                                    int iconWidth = getIconWidth();
                                    g.translate( x, y );
                                    
                                    g.setColor(Color.GREEN);
                                    g.drawLine( 0, 0, iconWidth - 1, 0 );
                                    g.drawLine( 1, 1, 1 + (iconWidth - 3), 1 );
                                    g.drawLine( 2, 2, 2 + (iconWidth - 5), 2 );
                                    g.drawLine( 3, 3, 3 + (iconWidth - 7), 3 );
                                    g.drawLine( 4, 4, 4 + (iconWidth - 9), 4 );
                                
                                    g.translate( -x, -y );
                                }
                            });
                            
                            return j;
                        }
                        
                        @Override
                        protected ComboPopup createPopup()
                        {
                            return new BasicComboPopup(comboBox) {
                                
                                private static final long serialVersionUID = -9020472635073779841L;
                                
                                @Override
                                protected JScrollPane createScroller()
                                {
                                    JScrollPane j = super.createScroller();
                                    j.getVerticalScrollBar().setUI(getNewScrollBarUI());
                                    return j;
                                }
                            };
                        }
                    });
                }
                
                
                for(JScrollBar j : getComponents(chooser, JScrollBar.class))
                {
                    j.setUI(getNewScrollBarUI());
                }
                        
        //Inverting Colors
		UIManager.put("Button.select", Color.green);
		
		//Filechooser opening
		dir = new JFileChooser()
		{
			/**
			 * 
			 */
			private static final long serialVersionUID = 1L;

			public JDialog createDialog(Component parent)
			{
				JDialog d = super.createDialog(parent);
				d.getContentPane().setBackground(Color.black);
				return d;
			}
		};
		changeColor(new Component[]{dir});
        colorChooser(dir);
        dir.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY);
		returnval = dir.showDialog(null, setres.getTxt().getString("WriteCfgDia2"));
		if (returnval == JFileChooser.APPROVE_OPTION)
		{	
			shock2exe = dir.getSelectedFile();
			try 
			{
				//make shockcfg.cfg
				bufferwrite = new BufferedWriter( new FileWriter("ShockCfg.ini"));
				readcfg.setreadpath(shock2exe.getPath());
				bufferwrite.write(readcfg.getreadpath());
				//thx to Al_B
				bufferwrite.write("\r\n");
				
				Locale w = Locale.getDefault();
				if(w.getLanguage().equalsIgnoreCase("de_DE"))
				{
					bufferwrite.write("de_DE");
				}
				else
				{
					bufferwrite.write("en_EN");
				}
				
				bufferwrite.write("\r\n");
				
				bufferwrite.close();
			} 
			catch (IOException ex)
			{
				System.out.println(setres.getTxt().getString("WriteCfgErr"));
				System.out.println(ex);
				System.exit(0);
			}
		}
		else
		{
			System.exit(0);
		}
	}
	
private void colorizeUI()
{
    String containing = "color";
    List<String[]> uidefaults = getAllUIDefaults(containing);
    System.out.println("Alle Properties die im Value das Wort: " + containing + " enthalten:");
    System.out.println();
    for(String[] s : uidefaults)
    {
        String key = s[0];
        String value = s[1];
        
        System.out.println(key+"="+value);
    }
    
    for(String[] s : uidefaults)
    {
        String key = s[0];
        
        
        Object value;
        if(key.toLowerCase().contains("foreground"))
            value = Color.GREEN;
        else if(key.toLowerCase().contains("gradient"))
            value = Arrays.asList(new Object[]{0.3, 0.0, Color.GREEN, Color.GREEN, Color.GRAY});
        else
            value = Color.BLACK;
        
        UIManager.put(key, value);
    }
}

private List<String[]> getAllUIDefaults(String contains)
{
    List<String[]> list = new ArrayList<String[]>();
    
    UIDefaults u = UIManager.getLookAndFeelDefaults();
    Set<Map.Entry<Object, Object>> set = u.entrySet();
    List<String> keys = new ArrayList<String>();
    for(Map.Entry<Object, Object> e : set)
    {
        if(e.getValue().toString().toLowerCase().contains(contains.trim().toLowerCase()) || contains.trim().equals(""))
            keys.add(e.getKey().toString());
    }
    Collections.sort(keys);
    for(String s : keys)
    {
        for(Map.Entry<Object, Object> e : set)
        {
            if(e.getKey().toString().equals(s))
            {
                list.add(new String[]{e.getKey().toString(), e.getValue().toString()});
            }
        }
    }
    
    return list;
}

private MetalScrollBarUI getNewScrollBarUI()
{
    return new MetalScrollBarUI() {
        @Override
        protected JButton createDecreaseButton(int orientation)
        {
            decreaseButton = new MetalScrollButton(orientation, scrollBarWidth, isFreeStanding) {
                
                private static final long serialVersionUID = -4409521721923690274L;
                
                @Override
                public void paint(Graphics g)
                {
                    super.paint(g);
                    
                    int width = getWidth();
                    int height = getHeight();
                    int w = width;
                    int h = height;
                    int arrowHeight = (height+1) / 4;
                    
                    if(getDirection() == NORTH)
                    {
                        // Draw the arrow
                        g.setColor(Color.GREEN);
                        int startY = ((h+1) - arrowHeight) / 2;
                        int startX = (w / 2);
                        
                        for (int line = 0; line < arrowHeight; line++)
                        {
                            g.drawLine( startX-line, startY+line, startX +line+1, startY+line);
                        }
                    }
                    else if(getDirection() == SOUTH)
                    {
                         // Draw the arrow
                        g.setColor(Color.GREEN);

                        int startY = (((h+1) - arrowHeight) / 2)+ arrowHeight-1;
                        int startX = (w / 2);
                        
                        for (int line = 0; line < arrowHeight; line++)
                        {
                            g.drawLine( startX-line, startY-line, startX +line+1, startY-line);
                        }
                    }
                    else if(getDirection() == EAST)
                    {
                        // Draw the arrow
                        g.setColor(Color.GREEN);

                        int startX = (((w+1) - arrowHeight) / 2) + arrowHeight-1;
                        int startY = (h / 2);
                        
                        for (int line = 0; line < arrowHeight; line++)
                        {
                            g.drawLine( startX-line, startY-line, startX -line, startY+line+1);
                        }
                    }
                    else if(getDirection() == WEST)
                    {
                        // Draw the arrow
                        g.setColor(Color.GREEN);

                        int startX = (((w+1) - arrowHeight) / 2);
                        int startY = (h / 2);
                        
                        for (int line = 0; line < arrowHeight; line++)
                        {
                            g.drawLine( startX+line, startY-line, startX +line, startY+line+1);
                        }
                    }
                    
                }
            };
            return decreaseButton;
        }

        @Override
        protected JButton createIncreaseButton(int orientation)
        {
            increaseButton =  new MetalScrollButton(orientation, scrollBarWidth, isFreeStanding) {
                
                private static final long serialVersionUID = 6260378271416327198L;
                
                @Override
                public void paint(Graphics g)
                {
                    super.paint(g);
                    
                    int width = getWidth();
                    int height = getHeight();
                    int w = width;
                    int h = height;
                    int arrowHeight = (height+1) / 4;
                    
                    if(getDirection() == NORTH)
                    {
                        // Draw the arrow
                        g.setColor(Color.GREEN);
                        int startY = ((h+1) - arrowHeight) / 2;
                        int startX = (w / 2);
                        
                        for (int line = 0; line < arrowHeight; line++)
                        {
                            g.drawLine( startX-line, startY+line, startX +line+1, startY+line);
                        }
                    }
                    else if(getDirection() == SOUTH)
                    {
                         // Draw the arrow
                        g.setColor(Color.GREEN);

                        int startY = (((h+1) - arrowHeight) / 2)+ arrowHeight-1;
                        int startX = (w / 2);
                        
                        for (int line = 0; line < arrowHeight; line++)
                        {
                            g.drawLine( startX-line, startY-line, startX +line+1, startY-line);
                        }
                    }
                    else if(getDirection() == EAST)
                    {
                        // Draw the arrow
                        g.setColor(Color.GREEN);

                        int startX = (((w+1) - arrowHeight) / 2) + arrowHeight-1;
                        int startY = (h / 2);
                        
                        for (int line = 0; line < arrowHeight; line++)
                        {
                            g.drawLine( startX-line, startY-line, startX -line, startY+line+1);
                        }
                    }
                    else if(getDirection() == WEST)
                    {
                        // Draw the arrow
                        g.setColor(Color.GREEN);

                        int startX = (((w+1) - arrowHeight) / 2);
                        int startY = (h / 2);
                        
                        for (int line = 0; line < arrowHeight; line++)
                        {
                            g.drawLine( startX+line, startY-line, startX +line, startY+line+1);
                        }
                    }
                    
                }
            };
            return increaseButton;
        }
    };
}
	public void colorChooser(JFileChooser chooser){
        @SuppressWarnings("rawtypes")
        java.util.List<JComboBox> boxes = getComponents(chooser, JComboBox.class);
        for(@SuppressWarnings("rawtypes")
        JComboBox box : boxes)
        {
            java.util.List<JButton> buttons = getComponents(box, JButton.class);
            for(JButton button : buttons)
            {
                MetalComboBoxButton b = (MetalComboBoxButton)button;
                b.setComboIcon(new MyIcon());
            }
 
            box.setForeground(Color.GREEN);
            box.setBackground(Color.BLACK);
            box.setBorder(BorderFactory.createLineBorder(Color.green));
        }
    }
 
    public void changeColor(Component[] comp)
    {
        for(int x=0; x<comp.length; x++)
        {
            try
            {
                comp[x].setBackground(Color.black);
                comp[x].setForeground(Color.green);
            }
            catch(Exception e) {}
            if(comp[x] instanceof Container)
                changeColor(((Container)comp[x]).getComponents());
        }
    }
 
    public class MyIcon extends MetalComboBoxIcon
    {
        private static final long serialVersionUID = -6616394682227867147L;
 
        public void paintIcon(Component c, Graphics g, int x, int y)
        {
            int iconWidth = getIconWidth();
            g.translate( x, y );
 
            g.setColor(Color.GREEN);
            g.drawLine( 0, 0, iconWidth - 1, 0 );
            g.drawLine( 1, 1, 1 + (iconWidth - 3), 1 );
            g.drawLine( 2, 2, 2 + (iconWidth - 5), 2 );
            g.drawLine( 3, 3, 3 + (iconWidth - 7), 3 );
            g.drawLine( 4, 4, 4 + (iconWidth - 9), 4 );
 
            g.translate( -x, -y );
        }
    }
 
    public static <T> java.util.List<T> getComponents(Component component, Class<T> clazz)
    {
        java.util.List<T> comps = new ArrayList<T>();
 
        if(clazz.isInstance(component))
        {
            comps.add(clazz.cast(component));
        }
        else if(component instanceof Container)
        {
            for(Component c : ((Container)component).getComponents())
            {
                comps.addAll(getComponents(c, clazz));
            }
        }
 
        return comps;
    } 

	public SetRes getSetres() {
		return setres;
	}

	public void setSetres(SetRes setres) {
		this.setres = setres;
	}

	public ReadCfg getReadcfg() {
		return readcfg;
	}

	public void setReadcfg(ReadCfg readcfg) {
		this.readcfg = readcfg;
	}
	
}
 

NiXPhoE

Gesperrter Benutzer
Hallo alle, X5-599 scheint nicht die Zeit zu haben zu helfen! Wer weis wie die kleinen Buttos und der Slider ihre hellgrüne Farbe bekommen?
Danke!
 

X5-599

Top Contributor
Ich habe tatsächlich im Moment keine Zeit da weiter zu machen. Aber wenn da grafisch was nicht passt wäre ein Screenshot empfehlenswert. Vielleicht kann dann ja wer anders weiterhelfen.

Gruß
 

NiXPhoE

Gesperrter Benutzer
Danke X5-599. Screenshots lohnen sich nicht. In deinem Beispiel war wie gesagt drei waagerechte weise Striche auf dem Sliderbuttons, die zwischen den kleinen Knöpfen liegen. Diese weisen Striche sollten glaube ich schwarz sein, wenn der Slider- oder auch Movebutton hellgrün ist.
So wie ich dein Beispiel in unsere WriteCfg eingebaut habe sind die kleinen Knöpfe(Buttons) mit den Dreiecken und die Sliderbuttons die dazwischen liegen, leider ganz verschwunden. Da ist nur ein schwarzes Nichts. Deswegen habe ich gefragt wie man die Buttons und die Slider sichtbar macht.

Die WriteCfg enthält den Hack der JCombobox und bei diesem Hack fehlt die senkrechte grüne Linie, die dirkt links von dem auf den Kopf gestellten Dreieck liegt. Dies ist eigentlich unwichtig, aber es ist mir eben aufgefallen.

Wenn jemand die zwei Bugs beheben kann, dann schick ich gerne als Dank die englische Version von System Shock 2, die man nehme ich an mit dem aktuellen Patch von Darkling die deutschen Texte verleihen kann. Ich hab noch ein zweites Spiel doppelt, und das ist Gabriel's Knight auf englisch. Willst du eines von den Spielen X5-599? Wenn ja, dann schick mir eine Nachricht. Wer hilft, bekommt eines der Spiele nur für 3€ für Porto und Verpackung. :toll:
 
Zuletzt bearbeitet:

Sen-Mithrarin

Gesperrter Benutzer
bitte bitte bitte erschlagt ihn doch endlich ... ich ertrage es nicht mehr das er uns immer noch mit diesem s***** nervt


ey ganz erlich dude : wann war der erste thread zu dem thema ? letztes jahr ? noch davor ? du bekommst es seit mindestens dieser zeit nicht auf die reihe dir mal einen abzugooglen um dein s***** problem mit deinen behinderten kleinen grünen dreiecken selbst in den griff zu bekommen ...

wobei dir schon mehrfach der tipp gegeben wurde : fang an dich mit LaF-programmierung zu befassen ... und das war mindestens im sommer ... also vor nem halben jahr ...

und was hast DU seit dem auf die reihe bekommen ? NICHTS ... überhaupt gar nichts ..

ich mein ... alleine dein eingangs-post kann man schon wieder in die tonne treten

ist dir vielleicht mal aufgefallen das die von dir bemerkten "fehler" nicht mal zu dem code passen den du gepostet hast ?


"in den Zeilen 43 und 192 erhalte ich die Exception"

1. das ist keine Exception sondern ein Compiler-Error ...
2. guck dir mal die zeilen an

zeile 43 : private BufferedWriter bufferwrite;
zeile 192 : {


ganz erlich : wenn du es noch nich mal auf die reihe bekommst zu deinen fehlern passenden code zu posten das man anhand der zeilennummern auch die konkrete stelle direkt finden kann ... dann KANN man dir einfach nicht helfen

ich glaube kaum jemand hat noch bock sich deinen schrott reinzuziehen oder dir dabei zu helfen ... weil mitlerweile wirklich ALLES was DU so langsam mal anfangen könntest zu tun genannt wurde ...

wenn du deinen scheinbar am stuhl festgeklebten ***** nich an die wand bekommst und langsam mal anfängst mitzuarbeiten anstatt nur nach hilfe zu betteln ... dann BITTE, tu uns den gefallen und poste es nächste mal bitte direkt in der job-börse ... denn genau für SOWAS ist diese da ...


echt ... es gibt menschen bei denen hilft noch nicht mal rohe gewalt um ihnen einzuprügeln was für kleines stück s*****e sie eigentlich sind
 

NiXPhoE

Gesperrter Benutzer
kann dn bitte ein moderator aus dem forum löschen? der ist wirklich unverschämt und er hat mich beleidigt!!! :(
Die Probleme die er beschreibt wurden schon gelöst und wenn mir jemand so dumm kommt dann mache ich mir nicht die Mühe bei einem Problem das schon gelöst ist die Zeilennummern zu überprüfen! Du hast ärger gehabt und suchst jetzt Streit! Nicht mit mir!
 

NiXPhoE

Gesperrter Benutzer
X5-599 wenn du deinen Code nicht in die WriteCfg einbaust bringt das alles nichts!

Landei, der Code für die JComboboxes hat den Bug mit dem senkrechten Teilerstrich der fehlt. Das ist nicht schlimm. Kannst du den Teierstrich vieleicht noch einbauen?
 

Sen-Mithrarin

Gesperrter Benutzer
du kollege schnürschuh, es is mir persönlich ziemlich egal ob du dir im nachhinein noch die mühe machst zeilennummern zu korrigieren, aber es würde für die zukunft anderen usern, die (mir unverständlicher weise) wirklich den willen aufbringen dir helfen zu wollen, einfach deutlich leichter sein wenn du code und fehler passend zu einander posten würdest

und ob du jetzt auf die mitleidsdrüse drückst und dieser post und oder der account gelöscht / gesperrt wird ... who cares
ich hab dir mal ins gesicht gesagt was ich von dir halte und wo ein thread/post ala "helft mir, ich bezahl euch" besser aufgehoben wäre

das du weiterhin im "anfänger-forum" postest zeigt ja schon wie du deinen eigenen wissensstand einschätzt
und ganz erlich : überleg doch einfach mal, du bekommst was nich hin und schaffst auch nicht dir selbst eine lösung im netz zusammenzusuchen ... was folgern wir daraus ? das thema dürfte deinen aktuellen wissensstand schlicht überschreiten
sowas sollte man eigentlich in der schule lernen, zu erkennen wo seine grenzen sind

klar ... wenn man nicht versucht diese zu überschreiten wird man nicht weiter kommen ... aber soweit nach den sternen zu greifen macht auch keinen wirklichen sinn



und zu deinem letzten : ich lasse keinen (übrigens nicht vorhandenen) frust an dir aus, sondern hab dir schlicht und ergreifen einfach mal meine meinung über dich und dieses spezielle thema ins gesicht geklatscht
musste halt mit leben, und wenns dir zu grob war und du gleich wieder nach mutti rufst, ganz erlich dude, werd erwachsen und klär deine probleme selbst

im RL wäre auch kein "Mod" da der mich zurückhalten würde dir mittem stiefel ins gesicht zu treten ... nur mal so als beispiel
 

NoXiD

Bekanntes Mitglied
@Sen-Mithrarin: Bin voll und ganz deiner Meinung, aber machs wie 99% der Anderen die einfach seine Threads ignorieren. Sonst will er dich auch noch anzeigen wegen Unterstellung Code geklaut zu haben so wie mich :D

@NiXPhoE: Niemand will deine SystemShock kacke haben und Mods sind hier auch nicht mehr aktiv um dich vor den bösen Jungs zu beschützen. Und jetzt , ach du Gott der Programmierer, bitte ich dich höflichst darum dein Problem in der Jobbörse zu vergeben, wie es schon ~1000000x angesprochen wurde
 

NiXPhoE

Gesperrter Benutzer
Also, man gibt keine desktrutiven Meinungen über andere von sich! Wenn man so etwas tut, was eine moderne Unsitte ist, ist man bei seinem Arbeitgeber schon durchgefallen!!! Die Moderatoren sind eigentlich da um solche kindischen Streitereien zu vermeiden, aber hier und und auf bytewelt haben sie das noch nicht verstanden!
Als ich studiert habe, habe ich meine Lösungen nicht im Internet gesucht, sondern habe sie selber geschrieben! So habe ich den Kurs in C++ bestanden! Ich habe jetzt nicht die zeit zum dritten mal die Javagrundlagen durchzulesen, deswegen meine schwierige Frage im Anfängerforum.
Ich werde den Post nicht noch einmal in der Jobbörse anbieten, weil ich kein Geld für Porto und Verpackung der Spiele übrig habe!

Es geht nicht um den ersten oder zweiten Sourcecode den ich gepostet habe in diesem Thread, sondern um den dritte, die #7. Einen Screenshot brauche ich nicht posten, sondern ich habe die zwei Probleme ausführlich beschrieben! Dass die Trennlinie zwischen Text und Dreieck in der JCombobox nicht angezeigt wird, ist vernachlässigbar! Das wichtige ist das die Dreieckbuttuns und die Slider angezeigt werden. Erstens in der JCombobox und zweitens im File-/Directoryview. Wer kann da helfen? Im Moment sind sie nicht vorhanden! Es ist nur schwarz da!?
 

NoXiD

Bekanntes Mitglied
Du musst dir die Java-Grundlagen nicht 3 mal durchlesen, es reicht wenn du sie einmal gelesen hast und alles einigermaßen verstanden hast bzw. weißt, wo du bei Bedarf suchen kannst.

Du hast erfolgreich studiert? Das spricht ja nicht gerade für das Bildungswesen in Deutschland...

PS: Das du weißt was Arbeitgeber wollen ist mir schon bereits nach deinem Posting http://www.java-forum.org/jobboerse/154937-suche-job.html klargewesen - echt ein Armutszeugnis
 
Zuletzt bearbeitet:

NiXPhoE

Gesperrter Benutzer
Also Diskussionen zu meiner Person sind überflüssiger Spam! Ich habe geschrieben, dass ich nur den C++ Kurs bestanden habe... Wer kann helfen mit dem Post #7?
 

NiXPhoE

Gesperrter Benutzer
Gerne! Meine Frage ist inzwischen und zum guten Ende: Warum werden die Bildlaufleisten in Datei-, Verzeichnisansicht und in den JComboboxes schwarz, also unsichtbar dargestellt? :D Vgl. Post #7.
 
Zuletzt bearbeitet:

NiXPhoE

Gesperrter Benutzer
Ok - mein PC war gehackt! :(

Ich muss fragen, wie bekomme ich die grünen Dreiecke in den Bildlaufleisten? Da sind nur grüne Quadrate mit schwarz gefüllt!?

Die wesen Striche auf der Schiebeleiste habe ich nicht mehr gesehen. Da sind jetzt schwarze Punkte, wie es richtig ist.

Hier der Code wie ich ihn von X5-599 bekommen habe:
Java:
import java.awt.Color;
import java.awt.Component;
import java.awt.Graphics;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
import java.util.List;
import java.util.Map;
import java.util.Set;
 
import javax.swing.JButton;
import javax.swing.JComboBox;
import javax.swing.JFileChooser;
import javax.swing.JFrame;
import javax.swing.JScrollBar;
import javax.swing.JScrollPane;
import javax.swing.SwingUtilities;
import javax.swing.UIDefaults;
import javax.swing.UIManager;
import javax.swing.plaf.basic.BasicComboPopup;
import javax.swing.plaf.basic.ComboPopup;
import javax.swing.plaf.metal.MetalComboBoxButton;
import javax.swing.plaf.metal.MetalComboBoxIcon;
import javax.swing.plaf.metal.MetalComboBoxUI;
import javax.swing.plaf.metal.MetalScrollBarUI;
import javax.swing.plaf.metal.MetalScrollButton;
 
import forum.customchooser.ComponentFilterer;
 
public class TestFrame
{
    private JFrame frame;
    private JButton klick;
    
    public TestFrame()
    {
        colorizeUI();
        
        frame = new JFrame();
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        
        klick = new JButton("Klick");
        klick.addActionListener(new ActionListener(){
 
            @Override
            public void actionPerformed(ActionEvent e)
            {
                JFileChooser chooser = new JFileChooser();
                for(JComboBox j : ComponentFilterer.getComponents(chooser, JComboBox.class))
                {
                    j.setUI(new MetalComboBoxUI() {
                        @Override
                        protected JButton createArrowButton()
                        {
                            MetalComboBoxButton j = (MetalComboBoxButton)super.createArrowButton();
                            j.setComboIcon(new MetalComboBoxIcon() {
                                
                                private static final long serialVersionUID = -6616394682227867147L;
                                
                                @Override
                                public void paintIcon(Component c, Graphics g, int x, int y)
                                {
                                    int iconWidth = getIconWidth();
                                    g.translate( x, y );
                                    
                                    g.setColor(Color.GREEN);
                                    g.drawLine( 0, 0, iconWidth - 1, 0 );
                                    g.drawLine( 1, 1, 1 + (iconWidth - 3), 1 );
                                    g.drawLine( 2, 2, 2 + (iconWidth - 5), 2 );
                                    g.drawLine( 3, 3, 3 + (iconWidth - 7), 3 );
                                    g.drawLine( 4, 4, 4 + (iconWidth - 9), 4 );
                                
                                    g.translate( -x, -y );
                                }
                            });
                            
                            return j;
                        }
                        
                        @Override
                        protected ComboPopup createPopup()
                        {
                            return new BasicComboPopup(comboBox) {
                                
                                private static final long serialVersionUID = -9020472635073779841L;
                                
                                @Override
                                protected JScrollPane createScroller()
                                {
                                    JScrollPane j = super.createScroller();
                                    j.getVerticalScrollBar().setUI(getNewScrollBarUI());
                                    return j;
                                }
                            };
                        }
                    });
                }
                
                
                for(JScrollBar j : ComponentFilterer.getComponents(chooser, JScrollBar.class))
                {
                    j.setUI(getNewScrollBarUI());
                }
                
                chooser.showOpenDialog(frame);
            }
        });
        
        frame.add(klick);
        frame.pack();
        frame.setLocationRelativeTo(null);
        frame.setVisible(true);
    }
    
    /**
     * @param args
     */
    public static void main(String[] args)
    {
        SwingUtilities.invokeLater(new Runnable() {
 
            @Override
            public void run()
            {
                new TestFrame();
            }
        });
    }
    
    private void colorizeUI()
    {
        String containing = "color";
        List<String[]> uidefaults = getAllUIDefaults(containing);
        System.out.println("Alle Properties die im Value das Wort: " + containing + " enthalten:");
        System.out.println();
        for(String[] s : uidefaults)
        {
            String key = s[0];
            String value = s[1];
            
            System.out.println(key+"="+value);
        }
        
        for(String[] s : uidefaults)
        {
            String key = s[0];
            
            
            Object value;
            if(key.toLowerCase().contains("foreground"))
                value = Color.GREEN;
            else if(key.toLowerCase().contains("gradient"))
                value = Arrays.asList(new Object[]{0.3, 0.0, Color.GREEN, Color.GREEN, Color.GRAY});
            else
                value = Color.BLACK;
            
            UIManager.put(key, value);
        }
    }
    
    private List<String[]> getAllUIDefaults(String contains)
    {
        List<String[]> list = new ArrayList<String[]>();
        
        UIDefaults u = UIManager.getLookAndFeelDefaults();
        Set<Map.Entry<Object, Object>> set = u.entrySet();
        List<String> keys = new ArrayList<String>();
        for(Map.Entry<Object, Object> e : set)
        {
            if(e.getValue().toString().toLowerCase().contains(contains.trim().toLowerCase()) || contains.trim().equals(""))
                keys.add(e.getKey().toString());
        }
        Collections.sort(keys);
        for(String s : keys)
        {
            for(Map.Entry<Object, Object> e : set)
            {
                if(e.getKey().toString().equals(s))
                {
                    list.add(new String[]{e.getKey().toString(), e.getValue().toString()});
                }
            }
        }
        
        return list;
    }
    
    private MetalScrollBarUI getNewScrollBarUI()
    {
        return new MetalScrollBarUI() {
            @Override
            protected JButton createDecreaseButton(int orientation)
            {
                decreaseButton = new MetalScrollButton(orientation, scrollBarWidth, isFreeStanding) {
                    
                    private static final long serialVersionUID = -4409521721923690274L;
                    
                    @Override
                    public void paint(Graphics g)
                    {
                        super.paint(g);
                        
                        int width = getWidth();
                        int height = getHeight();
                        int w = width;
                        int h = height;
                        int arrowHeight = (height+1) / 4;
                        
                        if(getDirection() == NORTH)
                        {
                            // Draw the arrow
                            g.setColor(Color.GREEN);
                            int startY = ((h+1) - arrowHeight) / 2;
                            int startX = (w / 2);
                            
                            for (int line = 0; line < arrowHeight; line++)
                            {
                                g.drawLine( startX-line, startY+line, startX +line+1, startY+line);
                            }
                        }
                        else if(getDirection() == SOUTH)
                        {
                             // Draw the arrow
                            g.setColor(Color.GREEN);
 
                            int startY = (((h+1) - arrowHeight) / 2)+ arrowHeight-1;
                            int startX = (w / 2);
                            
                            for (int line = 0; line < arrowHeight; line++)
                            {
                                g.drawLine( startX-line, startY-line, startX +line+1, startY-line);
                            }
                        }
                        else if(getDirection() == EAST)
                        {
                            // Draw the arrow
                            g.setColor(Color.GREEN);
 
                            int startX = (((w+1) - arrowHeight) / 2) + arrowHeight-1;
                            int startY = (h / 2);
                            
                            for (int line = 0; line < arrowHeight; line++)
                            {
                                g.drawLine( startX-line, startY-line, startX -line, startY+line+1);
                            }
                        }
                        else if(getDirection() == WEST)
                        {
                            // Draw the arrow
                            g.setColor(Color.GREEN);
 
                            int startX = (((w+1) - arrowHeight) / 2);
                            int startY = (h / 2);
                            
                            for (int line = 0; line < arrowHeight; line++)
                            {
                                g.drawLine( startX+line, startY-line, startX +line, startY+line+1);
                            }
                        }
                        
                    }
                };
                return decreaseButton;
            }
 
            @Override
            protected JButton createIncreaseButton(int orientation)
            {
                increaseButton =  new MetalScrollButton(orientation, scrollBarWidth, isFreeStanding) {
                    
                    private static final long serialVersionUID = 6260378271416327198L;
                    
                    @Override
                    public void paint(Graphics g)
                    {
                        super.paint(g);
                        
                        int width = getWidth();
                        int height = getHeight();
                        int w = width;
                        int h = height;
                        int arrowHeight = (height+1) / 4;
                        
                        if(getDirection() == NORTH)
                        {
                            // Draw the arrow
                            g.setColor(Color.GREEN);
                            int startY = ((h+1) - arrowHeight) / 2;
                            int startX = (w / 2);
                            
                            for (int line = 0; line < arrowHeight; line++)
                            {
                                g.drawLine( startX-line, startY+line, startX +line+1, startY+line);
                            }
                        }
                        else if(getDirection() == SOUTH)
                        {
                             // Draw the arrow
                            g.setColor(Color.GREEN);
 
                            int startY = (((h+1) - arrowHeight) / 2)+ arrowHeight-1;
                            int startX = (w / 2);
                            
                            for (int line = 0; line < arrowHeight; line++)
                            {
                                g.drawLine( startX-line, startY-line, startX +line+1, startY-line);
                            }
                        }
                        else if(getDirection() == EAST)
                        {
                            // Draw the arrow
                            g.setColor(Color.GREEN);
 
                            int startX = (((w+1) - arrowHeight) / 2) + arrowHeight-1;
                            int startY = (h / 2);
                            
                            for (int line = 0; line < arrowHeight; line++)
                            {
                                g.drawLine( startX-line, startY-line, startX -line, startY+line+1);
                            }
                        }
                        else if(getDirection() == WEST)
                        {
                            // Draw the arrow
                            g.setColor(Color.GREEN);
 
                            int startX = (((w+1) - arrowHeight) / 2);
                            int startY = (h / 2);
                            
                            for (int line = 0; line < arrowHeight; line++)
                            {
                                g.drawLine( startX+line, startY-line, startX +line, startY+line+1);
                            }
                        }
                        
                    }
                };
                return increaseButton;
            }
        };
    }
}
 
Zuletzt bearbeitet:

KSG9|sebastian

Top Contributor
Es ist Weihnachten, bald Silvester...wie wär's mit nem guten Vorsatz? "Ich will das arme Java-Forum 2014 weniger belästigen".

Das du studiert hast meinst du nicht ernst?
 

NiXPhoE

Gesperrter Benutzer
Ja und ich belästige niemand! Lern mal deutsch!

Ich habe die WriteCfg neu gemacht, weil mein Rechner gehackt war! Hier ist die richtige Version. Wie gesagt fehlen noch die kleinen Dreiecke und die Trennlinie links von dem Dreieck in der JCombobox. Wer weis wie man diese zwei Bugs behebt?

Java:
import java.io.*;
import java.awt.*;

import javax.swing.*;
import javax.swing.plaf.metal.MetalComboBoxButton;
import javax.swing.plaf.metal.MetalComboBoxIcon;

import java.util.ArrayList;
import java.util.Locale;
import java.awt.Color;
import java.awt.Component;
import java.awt.Graphics;
import java.util.Arrays;
import java.util.Collections;
import java.util.List;
import java.util.Map;
import java.util.Set;

import javax.swing.JButton;
import javax.swing.JComboBox;
import javax.swing.JFileChooser;
import javax.swing.UIDefaults;
import javax.swing.UIManager;
import javax.swing.plaf.metal.MetalScrollBarUI;
import javax.swing.plaf.metal.MetalScrollButton;

public class WriteCfg
{
	private final JFileChooser dir;
	private int returnval;
	private File shock2exe;
	private BufferedWriter bufferwrite;
	private SetRes setres;
	private ReadCfg readcfg;
	
	public WriteCfg(SetRes setres, ReadCfg readcfg)
	{
		this.setSetres(setres);
		this.setReadcfg(readcfg);
		UIManager.put("OptionPane.questionDialog.border.background", new javax.swing.plaf.ColorUIResource(Color.GREEN));
		UIManager.put("activeCaption", new javax.swing.plaf.ColorUIResource(Color.black));
		UIManager.put("OptionPane.questionDialog.titlePane.background", new javax.swing.plaf.ColorUIResource(Color.BLACK));
		UIManager.put("OptionPane.questionDialog.titlePane.foreground", new javax.swing.plaf.ColorUIResource(Color.GREEN));
		UIManager.put("activeCaptionText", new javax.swing.plaf.ColorUIResource(Color.green));
		UIManager.put("OptionPane.questionDialog.titlePane.shadow", new javax.swing.plaf.ColorUIResource(Color.GREEN));
		javax.swing.plaf.metal.MetalLookAndFeel.setCurrentTheme(new NoBumpsTheme());
		JDialog.setDefaultLookAndFeelDecorated(true);
		
		//Inverting Colors for pressed Buttons
		try {
		    UIManager.setLookAndFeel( new MyLookAndFeel() );
		} catch (UnsupportedLookAndFeelException e) {
		        e.printStackTrace();
		}
		
		JOptionPane optPane = new JOptionPane(setres.getTxt().getString("WriteCfgDia1"));
		optPane.setOptionType(JOptionPane.DEFAULT_OPTION);
		JDialog dia = optPane.createDialog(null, setres.getTxt().getString("WriteCfgDia1"));
		dia.getRootPane().setBorder(BorderFactory.createLineBorder(Color.green, 3));
		changeColor(dia.getComponents());
		dia.setModal(true);
		dia.setVisible(true);
		
		//Inverting Colors
		UIManager.put("Button.select", Color.green);
		
		//Filechooser opening
		dir = new JFileChooser()
		{
			/**
			 * 
			 */
			private static final long serialVersionUID = 1L;

			public JDialog createDialog(Component parent)
			{
				JDialog d = super.createDialog(parent);
				d.getContentPane().setBackground(Color.black);
				return d;
			}
		};
		changeColor(new Component[]{dir});
        colorChooser(dir);
        dir.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY);
		returnval = dir.showDialog(null, setres.getTxt().getString("WriteCfgDia2"));
		if (returnval == JFileChooser.APPROVE_OPTION)
		{	
			shock2exe = dir.getSelectedFile();
			try 
			{
				//make shockcfg.cfg
				bufferwrite = new BufferedWriter( new FileWriter("ShockCfg.ini"));
				readcfg.setreadpath(shock2exe.getPath());
				bufferwrite.write(readcfg.getreadpath());
				//thx to Al_B
				bufferwrite.write("\r\n");
				
				Locale w = Locale.getDefault();
				if(w.getLanguage().equalsIgnoreCase("de_DE"))
				{
					bufferwrite.write("de_DE");
				}
				else
				{
					bufferwrite.write("en_EN");
				}
				
				bufferwrite.write("\r\n");
				
				bufferwrite.close();
			} 
			catch (IOException ex)
			{
				System.out.println(setres.getTxt().getString("WriteCfgErr"));
				System.out.println(ex);
				System.exit(0);
			}
		}
		else
		{
			System.exit(0);
		}
		
colorizeUI();
             
	}
   public void colorChooser(JFileChooser chooser){
        @SuppressWarnings("rawtypes")
        java.util.List<JComboBox> boxes = getComponents(chooser, JComboBox.class);
        for(@SuppressWarnings("rawtypes")
        JComboBox box : boxes)
        {
            java.util.List<JButton> buttons = getComponents(box, JButton.class);
            for(JButton button : buttons)
            {
                MetalComboBoxButton b = (MetalComboBoxButton)button;
                b.setComboIcon(new MyIcon());
            }
 
            box.setForeground(Color.GREEN);
            box.setBackground(Color.BLACK);
            box.setBorder(BorderFactory.createLineBorder(Color.green));
        }
    }
 
    public void changeColor(Component[] comp)
    {
        for(int x=0; x<comp.length; x++)
        {
            try
            {
                comp[x].setBackground(Color.black);
                comp[x].setForeground(Color.green);
            }
            catch(Exception e) {}
            if(comp[x] instanceof Container)
                changeColor(((Container)comp[x]).getComponents());
        }
    }
 
    public class MyIcon extends MetalComboBoxIcon
    {
        private static final long serialVersionUID = -6616394682227867147L;
 
        public void paintIcon(Component c, Graphics g, int x, int y)
        {
            int iconWidth = getIconWidth();
            g.translate( x, y );
 
            g.setColor(Color.GREEN);
            g.drawLine( 0, 0, iconWidth - 1, 0 );
            g.drawLine( 1, 1, 1 + (iconWidth - 3), 1 );
            g.drawLine( 2, 2, 2 + (iconWidth - 5), 2 );
            g.drawLine( 3, 3, 3 + (iconWidth - 7), 3 );
            g.drawLine( 4, 4, 4 + (iconWidth - 9), 4 );
 
            g.translate( -x, -y );
        }
    }
 
    public static <T> java.util.List<T> getComponents(Component component, Class<T> clazz)
    {
        java.util.List<T> comps = new ArrayList<T>();
 
        if(clazz.isInstance(component))
        {
            comps.add(clazz.cast(component));
        }
        else if(component instanceof Container)
        {
            for(Component c : ((Container)component).getComponents())
            {
                comps.addAll(getComponents(c, clazz));
            }
        }
 
        return comps;
    } 

    private void colorizeUI()
    {
        String containing = "color";
        List<String[]> uidefaults = getAllUIDefaults(containing);
        System.out.println("Alle Properties die im Value das Wort: " + containing + " enthalten:");
        System.out.println();
        for(String[] s : uidefaults)
        {
            String key = s[0];
            String value = s[1];
            
            System.out.println(key+"="+value);
        }
        
        for(String[] s : uidefaults)
        {
            String key = s[0];
            
            
            Object value;
            if(key.toLowerCase().contains("foreground"))
                value = Color.GREEN;
            else if(key.toLowerCase().contains("gradient"))
                value = Arrays.asList(new Object[]{0.3, 0.0, Color.GREEN, Color.GREEN, Color.GRAY});
            else
                value = Color.BLACK;
            
            UIManager.put(key, value);
        }
    }
    
    private List<String[]> getAllUIDefaults(String contains)
    {
        List<String[]> list = new ArrayList<String[]>();
        
        UIDefaults u = UIManager.getLookAndFeelDefaults();
        Set<Map.Entry<Object, Object>> set = u.entrySet();
        List<String> keys = new ArrayList<String>();
        for(Map.Entry<Object, Object> e : set)
        {
            if(e.getValue().toString().toLowerCase().contains(contains.trim().toLowerCase()) || contains.trim().equals(""))
                keys.add(e.getKey().toString());
        }
        Collections.sort(keys);
        for(String s : keys)
        {
            for(Map.Entry<Object, Object> e : set)
            {
                if(e.getKey().toString().equals(s))
                {
                    list.add(new String[]{e.getKey().toString(), e.getValue().toString()});
                }
            }
        }
        
        return list;
    }
    
    private MetalScrollBarUI getNewScrollBarUI()
    {
        return new MetalScrollBarUI() {
            @Override
            protected JButton createDecreaseButton(int orientation)
            {
                decreaseButton = new MetalScrollButton(orientation, scrollBarWidth, isFreeStanding) {
                    
                    private static final long serialVersionUID = -4409521721923690274L;
                    
                    @Override
                    public void paint(Graphics g)
                    {
                        super.paint(g);
                        
                        int width = getWidth();
                        int height = getHeight();
                        int w = width;
                        int h = height;
                        int arrowHeight = (height+1) / 4;
                        
                        if(getDirection() == NORTH)
                        {
                            // Draw the arrow
                            g.setColor(Color.GREEN);
                            int startY = ((h+1) - arrowHeight) / 2;
                            int startX = (w / 2);
                            
                            for (int line = 0; line < arrowHeight; line++)
                            {
                                g.drawLine( startX-line, startY+line, startX +line+1, startY+line);
                            }
                        }
                        else if(getDirection() == SOUTH)
                        {
                             // Draw the arrow
                            g.setColor(Color.GREEN);
 
                            int startY = (((h+1) - arrowHeight) / 2)+ arrowHeight-1;
                            int startX = (w / 2);
                            
                            for (int line = 0; line < arrowHeight; line++)
                            {
                                g.drawLine( startX-line, startY-line, startX +line+1, startY-line);
                            }
                        }
                        else if(getDirection() == EAST)
                        {
                            // Draw the arrow
                            g.setColor(Color.GREEN);
 
                            int startX = (((w+1) - arrowHeight) / 2) + arrowHeight-1;
                            int startY = (h / 2);
                            
                            for (int line = 0; line < arrowHeight; line++)
                            {
                                g.drawLine( startX-line, startY-line, startX -line, startY+line+1);
                            }
                        }
                        else if(getDirection() == WEST)
                        {
                            // Draw the arrow
                            g.setColor(Color.GREEN);
 
                            int startX = (((w+1) - arrowHeight) / 2);
                            int startY = (h / 2);
                            
                            for (int line = 0; line < arrowHeight; line++)
                            {
                                g.drawLine( startX+line, startY-line, startX +line, startY+line+1);
                            }
                        }
                        
                    }
                };
                return decreaseButton;
            }
 
            @Override
            protected JButton createIncreaseButton(int orientation)
            {
                increaseButton =  new MetalScrollButton(orientation, scrollBarWidth, isFreeStanding) {
                    
                    private static final long serialVersionUID = 6260378271416327198L;
                    
                    @Override
                    public void paint(Graphics g)
                    {
                        super.paint(g);
                        
                        int width = getWidth();
                        int height = getHeight();
                        int w = width;
                        int h = height;
                        int arrowHeight = (height+1) / 4;
                        
                        if(getDirection() == NORTH)
                        {
                            // Draw the arrow
                            g.setColor(Color.GREEN);
                            int startY = ((h+1) - arrowHeight) / 2;
                            int startX = (w / 2);
                            
                            for (int line = 0; line < arrowHeight; line++)
                            {
                                g.drawLine( startX-line, startY+line, startX +line+1, startY+line);
                            }
                        }
                        else if(getDirection() == SOUTH)
                        {
                             // Draw the arrow
                            g.setColor(Color.GREEN);
 
                            int startY = (((h+1) - arrowHeight) / 2)+ arrowHeight-1;
                            int startX = (w / 2);
                            
                            for (int line = 0; line < arrowHeight; line++)
                            {
                                g.drawLine( startX-line, startY-line, startX +line+1, startY-line);
                            }
                        }
                        else if(getDirection() == EAST)
                        {
                            // Draw the arrow
                            g.setColor(Color.GREEN);
 
                            int startX = (((w+1) - arrowHeight) / 2) + arrowHeight-1;
                            int startY = (h / 2);
                            
                            for (int line = 0; line < arrowHeight; line++)
                            {
                                g.drawLine( startX-line, startY-line, startX -line, startY+line+1);
                            }
                        }
                        else if(getDirection() == WEST)
                        {
                            // Draw the arrow
                            g.setColor(Color.GREEN);
 
                            int startX = (((w+1) - arrowHeight) / 2);
                            int startY = (h / 2);
                            
                            for (int line = 0; line < arrowHeight; line++)
                            {
                                g.drawLine( startX+line, startY-line, startX +line, startY+line+1);
                            }
                        }
                        
                    }
                };
                return increaseButton;
            }
        };
    }
	public SetRes getSetres() {
		return setres;
	}

	public void setSetres(SetRes setres) {
		this.setres = setres;
	}

	public ReadCfg getReadcfg() {
		return readcfg;
	}

	public void setReadcfg(ReadCfg readcfg) {
		this.readcfg = readcfg;
	}
	
}
 

ARadauer

Top Contributor
Ok... ich schau mir das mal an..

1. Vielleicht weiß hier wirklich keiner eine Lösung... irgendwelche LookAndFeels einzufärben ist eine Aufgabe die man eigentlich nicht oft macht. Ich habs noch nie getan...
2. was ist SetRes
3. was ist ReadCft
4. was ist NoBumpsTheme
5. was ist MyLookAndFeel

Poste mal diese Klassen...
 

NiXPhoE

Gesperrter Benutzer
Java:
import javax.swing.UIDefaults;
import javax.swing.plaf.metal.MetalLookAndFeel;
 
@SuppressWarnings("serial")
public class MyLookAndFeel  extends MetalLookAndFeel {  
        protected void initClassDefaults(UIDefaults table)   
        {  
            super.initClassDefaults(table);  
            table.put( "ButtonUI", "test.ButtonUI" );  
        }  
            
}

Java:
import java.awt.Color;

class NoBumpsTheme extends javax.swing.plaf.metal.DefaultMetalTheme
{
	public javax.swing.plaf.ColorUIResource getControl(){
		return new javax.swing.plaf.ColorUIResource(Color.BLACK);
	}
	
	public javax.swing.plaf.ColorUIResource getWhite(){
		return new javax.swing.plaf.ColorUIResource(Color.GREEN);
	}
		
	public javax.swing.plaf.ColorUIResource getWindowBackground(){
		return new javax.swing.plaf.ColorUIResource(Color.BLACK);
	}
	
	public javax.swing.plaf.ColorUIResource getPrimaryControlHighlight(){
		return new javax.swing.plaf.ColorUIResource(Color.GREEN);
	}
	
	public javax.swing.plaf.ColorUIResource getPrimaryControlDarkShadow(){
		return new javax.swing.plaf.ColorUIResource(Color.BLACK);
	}
	
	public javax.swing.plaf.ColorUIResource getPrimaryControlShadow(){
		return new javax.swing.plaf.ColorUIResource(Color.GREEN);
	}
	
	public javax.swing.plaf.ColorUIResource getPrimaryControl(){
		return new javax.swing.plaf.ColorUIResource(Color.GREEN);
	}
	
	public javax.swing.plaf.ColorUIResource getSecondary1()	{
		return new javax.swing.plaf.ColorUIResource(Color.GREEN);
	}
	public javax.swing.plaf.ColorUIResource getControlDarkShadow()	{
		return new javax.swing.plaf.ColorUIResource(Color.GREEN);
	}	
 	public javax.swing.plaf.ColorUIResource getControlShadow()	{
		return new javax.swing.plaf.ColorUIResource(Color.GREEN);
	}	
 	public javax.swing.plaf.ColorUIResource getControlHighlight()	{
		return new javax.swing.plaf.ColorUIResource(Color.GREEN);
	}
 	
 	public javax.swing.plaf.ColorUIResource getTextHighlightColor()	{
 		return new javax.swing.plaf.ColorUIResource(Color.GREEN);
 	}
 	public javax.swing.plaf.ColorUIResource getHighlightedTextColor()	{
 		return new javax.swing.plaf.ColorUIResource(Color.BLACK);
 	}
 	
 	public javax.swing.plaf.ColorUIResource getSecondary3()	{
		return new javax.swing.plaf.ColorUIResource(Color.GREEN);
	}
 	
 	public javax.swing.plaf.ColorUIResource getPrimary2()	{
		return new javax.swing.plaf.ColorUIResource(Color.GREEN);
	}
 	
 	public javax.swing.plaf.ColorUIResource getControlInfo()	{
		return new javax.swing.plaf.ColorUIResource(Color.BLACK);
	}
}

Java:
import java.io.*;

public class ReadCfg
{
	private String readpath;		//Path to System Shock 2.
	private String IniLanguage = "DE";    //Language of ShockCfg
	
	public String getreadpath()
	{
		return readpath;
	}

	public void setreadpath(String readpath)
	{
		this.readpath = readpath;
	}
	
	public String getIniLanguage()
	{
		return IniLanguage;
	}

	public ReadCfg(SetRes setres)
	{
		try
		{
			
			BufferedReader buffer = new BufferedReader( new FileReader("ShockCfg.ini"));
			readpath = buffer.readLine();
			IniLanguage = buffer.readLine();
			buffer.close();
		}
		catch (IOException e) 
		{
			//if shockcfg.cfg don't exists, open filechooser.
			new WriteCfg(setres, this);		
		}		
	}
}

Java:
import javax.swing.*;
import java.util.*;

public class SetRes
{
	private ResourceBundle txt;
	
	public SetRes()
    {
        // Default to English until we have read our configuration file
        txt = ResourceBundle.getBundle("resources\\MyTextResource", Locale.GERMAN);

        // Attempt to read configuration
        ReadCfg Config = new ReadCfg(this);

        // Update our language based on the setting found in the configuration file
        if(Config.getIniLanguage().startsWith("GERMAN"))
            txt = ResourceBundle.getBundle("resources\\MyTextResource", Locale.GERMAN);
        else
            txt = ResourceBundle.getBundle("resources\\MyTextResource", Locale.ENGLISH);

    }
	
	public ResourceBundle getTxt()
	{
		return txt;
	}

	public void setLoc(Locale loca, Xerxes xerxes, XerxesMain xerxesmain, XerxesMonster xerxesmonster, XerxesChat1 xerxeschat1, XerxesChat2 xerxeschat2, XerxesChat3 xerxeschat3, XerxesChat4 xerxeschat4, XerxesChat5 xerxeschat5, XerxesChat6 xerxeschat6, XerxesChat7 xerxeschat7, XerxesChat8 xerxeschat8, XerxesHelp xerxeshelp, XerxesInfo xerxesinfo, XerxesButton xerxesbutton)
	{
		JComponent.setDefaultLocale(loca);
		//Locale.setDefault(loca);
		txt = ResourceBundle.getBundle("resources.MyTextResource", loca);
		
		xerxes.getPlanets().setTitleAt(0, getTxt().getString("MainTab"));
		xerxes.getPlanets().setTitleAt(1, getTxt().getString("MonsterTab"));
		xerxes.getPlanets().setTitleAt(10, getTxt().getString("HelpTab"));
		xerxes.getPlanets().setTitleAt(11, getTxt().getString("InfoTab"));
		
		xerxesmain.getJoyTitle().setTitle(getTxt().getString("MainPaneJoystick"));
        xerxesmain.getJoystickCheckbox().setText(getTxt().getString("MainJoystick"));
		xerxesmain.getRogerTitle().setTitle(getTxt().getString("MainPaneRog"));
		xerxesmain.getRogerCheckbox().setText(getTxt().getString("MainRog"));
		xerxesmain.getIntelTitle().setTitle(getTxt().getString("MainPaneIntel"));
		xerxesmain.getIntelCheckbox().setText(getTxt().getString("MainIntel"));
		xerxesmain.getLangTitle().setTitle(getTxt().getString("MainPaneLanguage"));
		xerxesmain.getLangLabel().setText(getTxt().getString("MainLabelLanguage"));
		int idx = xerxesmain.getLanglist().getSelectedIndex();
		xerxesmain.getLanglist().removeAllItems();
		xerxesmain.getLanglist().addItem(getTxt().getString("MainDeuLanguage"));
		xerxesmain.getLanglist().addItem(getTxt().getString("MainEngLanguage"));
		xerxesmain.getLanglist().setSelectedIndex(idx);
		xerxesmain.getStaendeTitle().setTitle(getTxt().getString("MainPaneSave"));
        xerxesmain.getStaendeCheckbox().setText(getTxt().getString("MainSave"));
		xerxesmain.getSwmodeTitle().setTitle(getTxt().getString("MainPaneMode"));
		xerxesmain.getSwmodeCheckbox().setText(getTxt().getString("MainMode"));
		xerxesmain.getBlutTitle().setTitle(getTxt().getString("MainPaneBlut"));
		xerxesmain.getBlutCheckbox().setText(getTxt().getString("MainBlut"));
		xerxesmain.getPicTitle().setTitle(getTxt().getString("MainPaneShots"));
		xerxesmain.getPicLabel().setText(getTxt().getString("MainLableShots"));
		xerxesmain.getPicButton().setText(getTxt().getString("MainButtonShots"));
		xerxesmain.getResTitle().setTitle(getTxt().getString("MainPanRes"));
		
		xerxesmonster.getRegenerationTitle().setTitle(getTxt().getString("MonsterPaneReg"));
		xerxesmonster.getNoregCheckbox().setText(getTxt().getString("MonsterCheckReg"));
		xerxesmonster.getMinLabel().setText(getTxt().getString("MonsterLabelMin"));
		xerxesmonster.getVerringernLabel().setText(getTxt().getString("MonsterLabelVerringern"));
		xerxesmonster.getVorhandenLabel().setText(getTxt().getString("MonsterLabelVorhanden"));
		xerxesmonster.getErhoeenLabel().setText(getTxt().getString("MonsterLabelErhoeen"));
		//xerxesmonster.chanceLabel.setText(getTxt().getString("MonsterLabelChance"));
		//xerxesmonster.chLabel.setText(getTxt().getString("MonsterLabelCh"));
		xerxesmonster.getWafftitle().setTitle(getTxt().getString("MonsterPanelWaffen"));
		xerxesmonster.getGodtitle().setTitle(getTxt().getString("MonsterPanelGod"));
		xerxesmonster.getGodmodeCheckbox().setText(getTxt().getString("MonsterCheckGod"));
		
		xerxeschat1.getN1Title().setTitle(getTxt().getString("Chat1Titel"));
		xerxeschat2.getN1Title().setTitle(getTxt().getString("Chat1Titel"));
		xerxeschat3.getN1Title().setTitle(getTxt().getString("Chat1Titel"));
		xerxeschat4.getN1Title().setTitle(getTxt().getString("Chat1Titel"));
		xerxeschat5.getN1Title().setTitle(getTxt().getString("Chat1Titel"));
		xerxeschat6.getN1Title().setTitle(getTxt().getString("Chat1Titel"));
		xerxeschat7.getN1Title().setTitle(getTxt().getString("Chat1Titel"));
		xerxeschat8.getN1Title().setTitle(getTxt().getString("Chat1Titel"));
		
		xerxeshelp.getTast().setText(getTxt().getString("HelpLabelTast"));
		idx = xerxeshelp.getTastlist().getSelectedIndex();
		xerxeshelp.getTastlist().removeAllItems();
		xerxeshelp.getTastlist().addItem(getTxt().getString("HelpStringIntel"));
		xerxeshelp.getTastlist().addItem(getTxt().getString("HelpStringSavename"));
		xerxeshelp.getTastlist().addItem(getTxt().getString("HelpStringShots"));
		xerxeshelp.getTastlist().addItem(getTxt().getString("HelpStringMonster"));
		xerxeshelp.getTastlist().addItem(getTxt().getString("HelpStringGun"));
		xerxeshelp.getTastlist().addItem(getTxt().getString("HelpStringGod"));
		xerxeshelp.getTastlist().addItem(getTxt().getString("HelpStringSave"));
		xerxeshelp.getTastlist().addItem(getTxt().getString("HelpStringF1F12"));
		xerxeshelp.getTastlist().setSelectedIndex(idx);

		xerxesinfo.getVers().setText(getTxt().getString("InfoLabelApp"));
		xerxesinfo.getAuth().setText(getTxt().getString("InfoLabelCred"));
		xerxesinfo.getMail().setText(getTxt().getString("InfoLabelMail"));
		xerxesinfo.getHome().setText(getTxt().getString("InfoLabelWeb"));
		
		xerxesbutton.getLanguageText().setText(getTxt().getString("ButtonLabelLanguage"));
		
		//Thx to gnartsch from the Blog! ;D
		xerxesbutton.getSpeicherButton().setText(getTxt().getString("ButtonButtonSave"));
		
		xerxesbutton.getAbbruchButton().setText(getTxt().getString("ButtonButtonAbb"));
		idx = xerxesbutton.getLanguageList().getSelectedIndex();
		xerxesbutton.getLanguageList().removeAllItems();
		xerxesbutton.getLanguageList().addItem(getTxt().getString("MainDeuLanguage"));
		xerxesbutton.getLanguageList().addItem(getTxt().getString("MainEngLanguage"));
		xerxesbutton.getLanguageList().setSelectedIndex(idx);
	}
}
 

NiXPhoE

Gesperrter Benutzer
Ok, ARadauer hat gemeint er weis nicht warum die Buttons schwarz bleiben. Wer kann sagen warum das so ist? Wie gesagt, es geht um mein Post #25.
 

NiXPhoE

Gesperrter Benutzer
Der Screenshot ist jetzt hier auf meiner Homepage: http://www.shockcfg.org/Unbenannt.jpg
Man sieht darauf daß es vier kleine Quadrate gibt die grün umrandet sind und deren Inneres nur aus schwarz besteht, aber nicht noch zusätzlich aus grünen Dreiecken.
Außerdem Fehlen die senkrechten Striche in den zwei JComboboxes links der Dreiecke.
Danke
 

NiXPhoE

Gesperrter Benutzer
Also, da sind am Ende der WriteCfg, die Methoden GetIncreaseButton und getDecreaseButton und ihre if-Schleifen getDirection. Warum zeichen die keine hellgrünen Dreiecke? ???:L
 

NiXPhoE

Gesperrter Benutzer
Ok, ich versuche es noch einmal anders herum. Das unten ist die WriteCfg in die der Hack aus Post #22 eingebaut werden soll. Wer kann mir das machen? Ich komme da nicht klar!
Java:
import java.io.*;
import java.awt.*;

import javax.swing.*;
import javax.swing.plaf.metal.MetalComboBoxButton;
import javax.swing.plaf.metal.MetalComboBoxIcon;

import java.util.ArrayList;
import java.util.Locale;

public class WriteCfg
{
	private final JFileChooser dir;
	private int returnval;
	private File shock2exe;
	private BufferedWriter bufferwrite;
	private SetRes setres;
	private ReadCfg readcfg;
	
	public WriteCfg(SetRes setres, ReadCfg readcfg)
	{
		this.setSetres(setres);
		this.setReadcfg(readcfg);
		UIManager.put("OptionPane.questionDialog.border.background", new javax.swing.plaf.ColorUIResource(Color.GREEN));
		UIManager.put("activeCaption", new javax.swing.plaf.ColorUIResource(Color.black));
		UIManager.put("OptionPane.questionDialog.titlePane.background", new javax.swing.plaf.ColorUIResource(Color.BLACK));
		UIManager.put("OptionPane.questionDialog.titlePane.foreground", new javax.swing.plaf.ColorUIResource(Color.GREEN));
		UIManager.put("activeCaptionText", new javax.swing.plaf.ColorUIResource(Color.green));
		UIManager.put("OptionPane.questionDialog.titlePane.shadow", new javax.swing.plaf.ColorUIResource(Color.GREEN));
		javax.swing.plaf.metal.MetalLookAndFeel.setCurrentTheme(new NoBumpsTheme());
		JDialog.setDefaultLookAndFeelDecorated(true);
		
		//Inverting Colors for pressed Buttons
		try {
		    UIManager.setLookAndFeel( new MyLookAndFeel() );
		} catch (UnsupportedLookAndFeelException e) {
		        // TODO Auto-generated catch block
		        e.printStackTrace();
		}
		
		JOptionPane optPane = new JOptionPane(setres.getTxt().getString("WriteCfgDia1"));
		optPane.setOptionType(JOptionPane.DEFAULT_OPTION);
		JDialog dia = optPane.createDialog(null, setres.getTxt().getString("WriteCfgDia1"));
		dia.getRootPane().setBorder(BorderFactory.createLineBorder(Color.green, 3));
		changeColor(dia.getComponents());
		dia.setModal(true);
		dia.setVisible(true);
		
		//Inverting Colors
		UIManager.put("Button.select", Color.green);
		
		//Filechooser opening
		dir = new JFileChooser()
		{
			/**
			 * 
			 */
			private static final long serialVersionUID = 1L;

			public JDialog createDialog(Component parent)
			{
				JDialog d = super.createDialog(parent);
				d.getContentPane().setBackground(Color.black);
				return d;
			}
		};
		changeColor(new Component[]{dir});
        colorChooser(dir);
        dir.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY);
		returnval = dir.showDialog(null, setres.getTxt().getString("WriteCfgDia2"));
		if (returnval == JFileChooser.APPROVE_OPTION)
		{	
			shock2exe = dir.getSelectedFile();
			try 
			{
				//make shockcfg.cfg
				bufferwrite = new BufferedWriter( new FileWriter("ShockCfg.ini"));
				readcfg.setreadpath(shock2exe.getPath());
				bufferwrite.write(readcfg.getreadpath());
				//thx to Al_B
				bufferwrite.write("\r\n");
				
				Locale w = Locale.getDefault();
				if(w.getLanguage().equalsIgnoreCase("de_DE"))
				{
					bufferwrite.write("de_DE");
				}
				else
				{
					bufferwrite.write("en_EN");
				}
				
				bufferwrite.write("\r\n");
				
				bufferwrite.close();
			} 
			catch (IOException ex)
			{
				System.out.println(setres.getTxt().getString("WriteCfgErr"));
				System.out.println(ex);
				System.exit(0);
			}
		}
		else
		{
			System.exit(0);
		}
	}
	
	public void colorChooser(JFileChooser chooser){
        @SuppressWarnings("rawtypes")
        java.util.List<JComboBox> boxes = getComponents(chooser, JComboBox.class);
        for(@SuppressWarnings("rawtypes")
        JComboBox box : boxes)
        {
            java.util.List<JButton> buttons = getComponents(box, JButton.class);
            for(JButton button : buttons)
            {
                MetalComboBoxButton b = (MetalComboBoxButton)button;
                b.setComboIcon(new MyIcon());
            }
 
            box.setForeground(Color.GREEN);
            box.setBackground(Color.BLACK);
            box.setBorder(BorderFactory.createLineBorder(Color.green));
        }
    }
 
    public void changeColor(Component[] comp)
    {
        for(int x=0; x<comp.length; x++)
        {
            try
            {
                comp[x].setBackground(Color.black);
                comp[x].setForeground(Color.green);
            }
            catch(Exception e) {}
            if(comp[x] instanceof Container)
                changeColor(((Container)comp[x]).getComponents());
        }
    }
 
    public class MyIcon extends MetalComboBoxIcon
    {
        private static final long serialVersionUID = -6616394682227867147L;
 
        public void paintIcon(Component c, Graphics g, int x, int y)
        {
            int iconWidth = getIconWidth();
            g.translate( x, y );
 
            g.setColor(Color.GREEN);
            g.drawLine( 0, 0, iconWidth - 1, 0 );
            g.drawLine( 1, 1, 1 + (iconWidth - 3), 1 );
            g.drawLine( 2, 2, 2 + (iconWidth - 5), 2 );
            g.drawLine( 3, 3, 3 + (iconWidth - 7), 3 );
            g.drawLine( 4, 4, 4 + (iconWidth - 9), 4 );
 
            g.translate( -x, -y );
        }
    }
 
    public static <T> java.util.List<T> getComponents(Component component, Class<T> clazz)
    {
        java.util.List<T> comps = new ArrayList<T>();
 
        if(clazz.isInstance(component))
        {
            comps.add(clazz.cast(component));
        }
        else if(component instanceof Container)
        {
            for(Component c : ((Container)component).getComponents())
            {
                comps.addAll(getComponents(c, clazz));
            }
        }
 
        return comps;
    } 

	public SetRes getSetres() {
		return setres;
	}

	public void setSetres(SetRes setres) {
		this.setres = setres;
	}

	public ReadCfg getReadcfg() {
		return readcfg;
	}

	public void setReadcfg(ReadCfg readcfg) {
		this.readcfg = readcfg;
	}
	
}
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
K Warum wird hier nur etwas in eine txt Datei geschrieben und nicht in alle drei (InputStream/OutputStream/Reader/Writer) Java Basics - Anfänger-Themen 1
milan123 das ist meine aufgabe ich hab das problem das bei mir Wenn ich die Richtung der Linien verändern will und drei davon sind richtig, verändere ich die 4 Java Basics - Anfänger-Themen 3
P Drei Zahlen eines Würfelspiels auswerten Java Basics - Anfänger-Themen 7
K Wie String prüfen ob drei mal das gleiche Zeichen vorkommt? Java Basics - Anfänger-Themen 7
C alle möglichen Kombinationen zweier Ziffern auf drei / vier / und 'n" Stellen Java Basics - Anfänger-Themen 11
A Liste aus drei Strings erstellen Java Basics - Anfänger-Themen 5
L Methoden Methode mit drei Rückgabewerten realisieren Java Basics - Anfänger-Themen 3
K drei eindimensionale Arrays in ein zweidimensionales Array Java Basics - Anfänger-Themen 10
H Dreimal die Drei im Array Java Basics - Anfänger-Themen 5
U assertEquals mit drei Parametern? Java Basics - Anfänger-Themen 4
M Was bedeuten die Drei Punkte in einem Methodenkopf? Java Basics - Anfänger-Themen 3
I Drei booleans abfragen Java Basics - Anfänger-Themen 2
M Die drei größten Werte eines Arrays Java Basics - Anfänger-Themen 6
W String von hinten alle drei Zeichen abschneiden und in umgekehrter Reihenfolge ausgeben. Java Basics - Anfänger-Themen 9
P Hintergrundfarbe aus drei Scrollbars Java Basics - Anfänger-Themen 5
J Drei Errors sind drei zuviel! Java Basics - Anfänger-Themen 25
C Mit if Überprüfung von drei Werten durchführen Java Basics - Anfänger-Themen 6
Joy drei- und mehrdimensionales Array deklarieren Java Basics - Anfänger-Themen 9
S drei objekte um 1 Wert erhöhen Java Basics - Anfänger-Themen 15
F Immer nur drei Werte lesen Java Basics - Anfänger-Themen 9
T Probleme bei einen Stack der über drei Dateien funktionieren soll Java Basics - Anfänger-Themen 5
B Problem mit Drei-Gewinnt-Spiel Java Basics - Anfänger-Themen 24
N die ersten drei buchstaben eines Strings ausgeben Java Basics - Anfänger-Themen 2
E Drei zahlen sortieren und in richtiger Reihenfolde ausgeben. Java Basics - Anfänger-Themen 15
S Drei Zahlen sortieren Java Basics - Anfänger-Themen 4
G 523 in Worten fünf zwei drei Java Basics - Anfänger-Themen 10
M Test auf Exceptions schreiben Java Basics - Anfänger-Themen 11
berserkerdq2 Habe zwei exceptions, welche ist ein Kommunikationsfehler und welche ein Ausgabefehler? Java Basics - Anfänger-Themen 4
julian112 Input/Output .gz bzw. .txt Datei Einlesen und Umgang mit Exceptions Java Basics - Anfänger-Themen 1
C Exceptions identifizieren Java Basics - Anfänger-Themen 5
A Exceptions mit objektreferenzen Java Basics - Anfänger-Themen 4
A Exceptions und methods Java Basics - Anfänger-Themen 2
A Cannot find symbol bei exceptions Java Basics - Anfänger-Themen 2
A Exceptions und Packages Java Basics - Anfänger-Themen 6
B JUnit / Exceptions/ try-catch Java Basics - Anfänger-Themen 6
X Exceptions Benutzereingaben Java Basics - Anfänger-Themen 4
F Exceptions in Interfaces Java Basics - Anfänger-Themen 4
F Mehrere Exceptions in einem Catch-Block abfangen Java Basics - Anfänger-Themen 12
L Exceptions und Konten Java Basics - Anfänger-Themen 21
D Frage zu Exceptions Java Basics - Anfänger-Themen 8
I Wie programmiert man Exceptions? Java Basics - Anfänger-Themen 4
N Unterschied zwischen Checked und Unchecked Exceptions Java Basics - Anfänger-Themen 12
C Erste Schritte Exceptions nicht verstanden Java Basics - Anfänger-Themen 2
J Fragen zu Exceptions Java Basics - Anfänger-Themen 24
T Exceptions - ausgeführte Zeilen Java Basics - Anfänger-Themen 4
J Exceptions Java Basics - Anfänger-Themen 69
C Exceptions Java Basics - Anfänger-Themen 8
C Exceptions Java Basics - Anfänger-Themen 6
A ArrayQueue mit Exceptions und Vererbung Java Basics - Anfänger-Themen 3
F Exceptions Java Basics - Anfänger-Themen 6
J Frage zum Thema Exceptions (Try/Catch) Java Basics - Anfänger-Themen 3
M "Exceptions abfragen" Java Basics - Anfänger-Themen 6
Farbenfroh Exceptions Anfänger - Finde Fehler nicht Java Basics - Anfänger-Themen 7
Z Catch & Exceptions Java Basics - Anfänger-Themen 4
V Welche Exceptions müssen importiert werden? Java Basics - Anfänger-Themen 3
S Exceptions Java Basics - Anfänger-Themen 7
M Vererbung Problem Vererbung/Exceptions Java Basics - Anfänger-Themen 9
S Verschachtelte Exceptions - Übersicht verbessern Java Basics - Anfänger-Themen 2
J Eclipse Exceptions Java Basics - Anfänger-Themen 2
K Schleifen und Exceptions Java Basics - Anfänger-Themen 8
K Exceptions auslagern Java Basics - Anfänger-Themen 15
R NullPointer Exceptions Java Basics - Anfänger-Themen 3
F Erste Schritte Übung zu Exceptions Java Basics - Anfänger-Themen 24
R Exceptions (try/catch) Java Basics - Anfänger-Themen 63
H Int Exceptions Java Basics - Anfänger-Themen 12
M Exceptions per throws oder try Java Basics - Anfänger-Themen 4
M Compiler-Fehler Queue als ArrayList mit Exceptions Java Basics - Anfänger-Themen 3
T Exceptions in einer Klasse Java Basics - Anfänger-Themen 3
B Eigene Exceptions entwerfen Java Basics - Anfänger-Themen 3
H Methoden Überflüssige Exceptions Java Basics - Anfänger-Themen 20
C Exceptions Java Basics - Anfänger-Themen 14
1 While Schleife Exceptions Java Basics - Anfänger-Themen 6
I Erste Schritte Eigene Fehlermeldungen bei Exceptions Java Basics - Anfänger-Themen 19
D Frage zu Exceptions Java Basics - Anfänger-Themen 12
M Compiler-Fehler Exceptions lieber throwen oder direkt catchen? Java Basics - Anfänger-Themen 8
T Exceptions Java Basics - Anfänger-Themen 19
B Wie finde ich Exceptions? Java Basics - Anfänger-Themen 19
Dit_ Input/Output Alle Exceptions protokollieren Java Basics - Anfänger-Themen 9
T Exceptions Java Basics - Anfänger-Themen 12
J Standard Exceptions abfangen Java Basics - Anfänger-Themen 5
F Exceptions werfen oder catchen?? Java Basics - Anfänger-Themen 14
D Exceptions - Ausnahmebehandlung Java Basics - Anfänger-Themen 19
D Frage zu Exceptions und der import Anweisung Java Basics - Anfänger-Themen 12
J Paar Fragen zu Exceptions Java Basics - Anfänger-Themen 16
G Verständnisproblem: Exceptions Java Basics - Anfänger-Themen 17
S Exceptions bei push/pop in Stack Java Basics - Anfänger-Themen 8
C Exceptions beim Beenden Java Basics - Anfänger-Themen 2
C TimerTask und Exceptions Java Basics - Anfänger-Themen 5
E Klasse öffnen, mehrere Exceptions Java Basics - Anfänger-Themen 9
C Exceptions Java Basics - Anfänger-Themen 7
G 2 Exceptions in einer Methode Java Basics - Anfänger-Themen 3
firefexx Exceptions werfen Java Basics - Anfänger-Themen 5
0 Exceptions mehrfach fangbar? Java Basics - Anfänger-Themen 4
O Exceptions Java Basics - Anfänger-Themen 3
K Sinn eigener Exceptions Java Basics - Anfänger-Themen 11
H Diverse Exceptions - Troubleshooting Java Basics - Anfänger-Themen 3
J exceptions Java Basics - Anfänger-Themen 8
sc0p InterruptedExceptions und Exceptions - in Einem! Java Basics - Anfänger-Themen 5
M Frage zu Exceptions Java Basics - Anfänger-Themen 19
M Fragen zu Exceptions Java Basics - Anfänger-Themen 3

Ähnliche Java Themen

Neue Themen


Oben