Zum Inhalt springen

Baran

Mitglieder
  • Gesamte Inhalte

    2
  • Benutzer seit

  • Letzter Besuch

  1. Baran

    ProgressBar

    @Enrico T.: 1. Wenn ich start() mit anhänge, muss ich doch eine Methode schreiben, die so heisst oder? Wenn ja, wie? 2. Und wenn ich Runnable anhänge kommt F:\Balken\Balken.java:19: UserFrame should be declared abstract; it does not define run() in UserFrame class UserFrame extends JFrame implements ActionListener, Runnable @Peeter: Ich hab die Schleife soweit oben geschrieben, weil sonst das Label "status" den Wert von der Variable datnr nicht übernimmt. Wenn es weiter unten steht, kommt nach der Ausführung immer "Gesendet: 0" obwohl es eben 50 sein müssten. Oder muss ich das Ganze als Funktion schreiben? Wenn ja wie?
  2. Baran

    ProgressBar

    Hallo! Ich möchte eine ProgressBar programmieren, die den Status versendeter Dateien anzeigt. Den Frame mit einem Label "Gesendet: " und einem Button "Abbrechen" habe ich. Eigentlich habe ich auch schon die ProgressBar, aber wenn ich das Programm starte öffnet sich die Bar in einem zweiten Frame. Wenn ich alles in ein Frame packe, sieht man erst nichts, ausser dem DOS-Fenster. Erst wenn es abgearbeitet ist erscheind es, und zeigt an wieviel Dateien versendet wurden. Im Quellcode ist noch nichts mit eingebunden, es geht erst mal darum dass die Bar läuft. Und was muss ich machen, dass das ganze im Hintergrund läuft, d.h. rechts unten in der Taskleiste? PS: ich weiss der Code ist ziemlich durcheinander, kommt vom vielen rumprobieren. // Datei Balken.java import java.awt.*; import java.awt.event.*; import javax.swing.*; public class Balken { public static void main(String[] args) { new UserFrame(); } } class UserFrame extends JFrame implements ActionListener { int datnr; private JProgressBar bar; private JLabel status; private void place(Component comp, int x, int y, int width, int height) { comp.setBounds(x, y, width, height); add(comp); } public UserFrame() { getContentPane().setLayout(new FlowLayout()); // Titel festlegen setTitle("Sende Dateien"); // Groesse festlegen setSize(300, 100); //setLayout(null); // Hintergrundfarbe setBackground(Color.lightGray); final int max = 5; final JProgressBar bar = new JProgressBar(0, max); do { // Anzeige in Veränderung for (int i = 1; i <= max; i++) { try { Thread.sleep(10); } catch (InterruptedException e) { } final int j = i; SwingUtilities.invokeLater(new Runnable() { public void run() { bar.setValue(j); } }); } datnr++; } while (datnr < 50); status = new JLabel("Gesendet: " + datnr); status.setFont(new Font("Arial", Font.BOLD, 12)); status.setBackground(Color.lightGray); getContentPane().add(status); getContentPane().add(bar); //JFrame frame = new JFrame(); //frame.setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE ); //frame.pack(); //frame.show(); JButton btn = new JButton("Abbrechen"); btn.setFont(new Font("Arial", Font.BOLD, 11)); btn.setBackground(new Color(200, 200, 200)); btn.addActionListener(this); getContentPane().add(btn); // sichtbar setVisible(true); addWindowListener(new WindowAdapter() { public void windowClosing(WindowEvent e) { System.exit(0); } }); } public void actionPerformed(ActionEvent e) { String cmd = e.getActionCommand(); if (cmd.equals("Abbrechen")) System.exit(0); } } Edit: Bitte code tags benutzen!

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...