Hi Leute!
Ich hab ein kleines Tool geschrieben, mit dem man Dateien auswählen kann, und diese umbennen oder etwas Anfügen kann ( also z.B. 1.jpg, 2.jpg -> Bild1.jpg, Bild2.jpg ).
Funktioniert auch sehr gut. Jetzt wollte ich noch ein paar Schönheitsveränderungen machen und hab dafür 2 Radio Buttons erstellt, mit denen man auswählen kann, ob man umbenennen oder anfügen will. Und je nachdem welches man gerade gewählt hat, soll halt ein JLabel geändert werden. Doch irgendwie funkt das mit dem Updaten nicht, ich weiss, warum es nicht geht, weiss aber nicht, wie ich es beheben kann:
PHP-Code:
public void updateProg(){
leftPanel.removeAll();
rightPanel.removeAll();
mainPanel.removeAll();
getContentPane().removeAll();
leftPanel.add(Box.createHorizontalStrut(30));
leftPanel.add(logL);
leftPanel.add(scrollP);
leftPanel.add(anfuegenRB);
leftPanel.add(renameRB);
leftPanel.add(anfRenL);
leftPanel.add(renameField);
leftPanel.add(Box.createVerticalStrut(15));
leftPanel.add(startB);
rightPanel.add(Box.createVerticalStrut(25));
rightPanel.add(searchB);
mainPanel.add(leftPanel);
mainPanel.add(rightPanel);
getContentPane().add(mainPanel);
getContentPane().doLayout();
mainPanel.doLayout();
rightPanel.doLayout();
leftPanel.doLayout();
}
Wenn ich den Strut weglasse, gehts, aber dann verschiebt sich mein kleines Log laben immer um einen Millimeter. Und überhaupt: Warum ist es bei meinem Prog so, dass das Log Label und das Anfügen/Umbenennen Label so weit rechts sind? Hier mal der Code aus dem Konstruktor, womit ich das JFrame erzeuge:
PHP-Code:
Rename(){
this.setTitle("Rename");
this.setSize(new Dimension(400,240));
this.setLocationRelativeTo(null);
this.setDefaultCloseOperation(EXIT_ON_CLOSE);
try{
UIManager.setLookAndFeel("com.sun.java.swing.plaf.windows.WindowsClassicLookAndFeel");
}catch(Exception e){}
this.setResizable(false);
mainPanel = new JPanel();
mainPanel.setLayout(new FlowLayout());
leftPanel = new JPanel();
leftPanel.setLayout(new BoxLayout(leftPanel,BoxLayout.Y_AXIS));
rightPanel = new JPanel();
rightPanel.setLayout(new BoxLayout(rightPanel,BoxLayout.Y_AXIS));
logL = new JLabel("Log");
anfuegenL = new JLabel("Anfügen von:");
renameL = new JLabel("Umbenennen in:");
renameField = new JTextField();
renameField.setPreferredSize(new Dimension(180,20));
renameField.addActionListener(this);
logA = new JTextArea(50,18);
logA.setEditable(false);
scrollP = new JScrollPane(logA);
scrollP.setPreferredSize(new Dimension(230,100));
anfuegenRB = new JRadioButton("Anfügen");
anfuegenRB.setSelected(true);
anfuegenRB.addActionListener(this);
anfRenL = anfuegenL;
renameRB = new JRadioButton("Umbennen");
renameRB.addActionListener(this);
bGroup = new ButtonGroup();
bGroup.add(anfuegenRB);
bGroup.add(renameRB);
startB = new JButton("Start");
startB.setEnabled(false);
startB.addActionListener(this);
searchB = new JButton("Durchsuchen...");
searchB.setSize(new Dimension(60,20));
searchB.addActionListener(this);
updateProg();
setVisible(true);
}
Hat da jemand ne Ahnung oder kann mir Tips geben?