GUI – die besten Beiträge

GUI-Komponente in separate Klassen auslagern?

Hallo zusammen,

ich habe eine GUI programmiert. Leider ist der Code ziemlich unübersichtlich. Deswegen dachte ich, ich lagere die Erstellung der Komponenten aus. Nur leider verschwinden dann die ausgelagerten Komponenten aus der GUI.

Beispiel:

Erste Klasse:

package Verknüpfung;

import java.awt.BorderLayout;

public class Teil1 extends JFrame {
  private JPanel contentPane;

  static int f;

  /*
   * Launch the application.
   */
  public static void main(String[] args) {
    Teil2 blubb = new Teil2();
    Teil2.textfeld();

    EventQueue.invokeLater(new Runnable() {
      public void run() {
        try {
          Teil1 frame = new Teil1();
          frame.setVisible(true);
        }
        catch (Exception e) {
          e.printStackTrace();
        }
      }
    });
  }

  /*
   * Create the frame.
   */
  public Teil1() {
    setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    setBounds(100, 100, 450, 300);
    contentPane = new JPanel();
    contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
    setContentPane(contentPane);
    contentPane.setLayout(null);

    JLabel lbl1 = new JLabel("Test");
    lbl1.setBounds(45, 68, 69, 20);
    contentPane.add(lbl1);

    JLabel lbl2 = new JLabel("Test");
    lbl2.setBounds(45, 151, 69, 20);
    contentPane.add(lbl2);
  
    JButton btnNewButton = new JButton("New button");
    btnNewButton.addActionListener(new ActionListener() {
      public void actionPerformed(ActionEvent arg0) {
        int i;
        i = 5;
        f = i + 6;
      }
    });
    btnNewButton.setBounds(209, 199, 115, 29);
    contentPane.add(btnNewButton);
  }
}

Zweite Klasse:

package Verknüpfung;

import java.awt.BorderLayout;

public class Teil2 extends JFrame {
  private JPanel contentPane;

  private JTextField txt1;

  private JTextField txt2;

  /*
   * Launch the application.
   */
  public static void main(String[] args) {
    EventQueue.invokeLater(new Runnable() {
      public void run() {
        try {
          Teil2 frame = new Teil2();
          frame.setVisible(true);
        }
        catch (Exception e) {
          e.printStackTrace();
        }
      }
    });
  }
                                                                                                  
  /*
   * Create the frame.
   */
  public Teil2() {
    setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    setBounds(100, 100, 450, 300);
    
    contentPane = new JPanel();
    contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
    setContentPane(contentPane);
    contentPane.setLayout(null);

    txt1 = new JTextField();
    txt1.setBounds(267, 74, 146, 26);
    contentPane.add(txt1);
    txt1.setColumns(10);
    
    txt2 = new JTextField();
    txt2.setBounds(267, 149, 146, 26);
    contentPane.add(txt2);
    txt2.setColumns(10);
    txt2.setText("Hi");
  }

  public static void textfeld() {
  }                                                                               }

programmieren, Java, Oberfläche, GUI

Python Ladebalken funktioniert nicht?

Hi,

Ich habe mit Python einen Ladebalken für ein kleines GUI erstellt. Dieser Ladebalken soll anzeigen wieviele Dateien schon Kopiert wurden. Wenn ich den Ladebalken herausnehme läuft alles. Wenn ich ihn jedoch einfüge kommen fehlermeldungen und die Dateien werden manchmal nicht korrekt Kopiert. Ich komme mitleiweile nicht mehr weiter und hoffe dass mir hier einer helfen kann.

Lg McCrafterIV

Fehlermeldung:

"C:\Users*\PycharmProjects\MakeBackup\venv\Scripts\python.exe" "C:/Users/*/PycharmProjects/MakeBackup/main.py"

Exception in Tkinter callback

ERROR! Cannot create folder.

ERROR! Cannot copy files.

ERROR! Cannot copy files.

ERROR! Cannot copy files.

Traceback (most recent call last):

File "C:\Users****\AppData\Local\Programs\Python\Python36-32\lib\tkinter__init__.py", line 1702, in __call__

return self.func(*args)

File "C:/Users//PycharmProjects/MakeBackup/main.py", line 112, in <lambda>

save_1_button = Button(fenster, text="Save", command=lambda: save.savedata())

File "C:\Users****\PycharmProjects\MakeBackup\save.py", line 40, in savedata

pb = ttk.Progressbar(fenster, orient='horizontal', length=300, mode='determinate', maximum=line, value=saved)

File "C:\Users****\AppData\Local\Programs\Python\Python36-32\lib\tkinter\ttk.py", line 1014, in __init__

Widget.__init__(self, master, "ttk::progressbar", kw)

File "C:\Users****\AppData\Local\Programs\Python\Python36-32\lib\tkinter\ttk.py", line 559, in __init__

tkinter.Widget.__init__(self, master, widgetname, kw=kw)

File "C:\Users****\AppData\Local\Programs\Python\Python36-32\lib\tkinter__init__.py", line 2296, in __init__

(widgetName, self._w) + extra + self._options(cnf))

_tkinter.TclError: expected floating-point number but got "

"

Process finished with exit code 0

Hier mein Quellcode:

https://gist.github.com/McCrafterIV/682f23b2962153beb7b640d304548dac

Error, Python, ladebalken, GUI, Tkinter

Bachelorarbeit - Mit Java Grundkenntnisse eine Android-App entwickeln?

Hallo!

Ich stehe gerade vor meiner Bachelorarbeit und bin gerade dabei mir ein passendes Thema zu überlegen. Ich möchte gerne was im Bereich Softwarentwicklung (java) machen.

Während meines Studium habe ich mich ein wenig mit Java beschäftigt und in der letzten Zeit habe ich mich die Grundkenntnisse in Java nochmal angeeignet. War für mich zwar nicht ganz einfach, da ich in der Vergangenheit nicht so viel mit der objektorientierung zu tun gehabt habe, aber einigermaßen hat das schon geklappt.

Allgemeines Verständnis über Programmieren habe ich (VBA, ein wenig Pascal, JavaScript). Nun habe ich mir ein Thema überlegt und bin gerade am Überlegen ob ich mich mit einer Einarbeitungszeit von ca. 1 - 2 Monaten genügend Kentnisse im Bereich der Entwicklung von Java/Android-Apps aneignen kann, um anschließend in ca. 1 1/2 Monaten die Implementierung abzuschließen. So wahnsinnig komplex währe die Anwendung meiner Meinung nach nicht. Im Grunde geht es um folgendes:

  • speichern/auslesen von Kundendaten über eine Datenbank
  • Bearbeiten von Kundendaten
  • Kunden nach bestimmten Kriterien filtern
  • bestimmte Mails mit der JavaMail API auslesen und nach bestimmten Informationen suchen (habe ich schon mal versucht, hat auch ganz gut geklappt)
  • evtl. noch das einbinden bon Google Maps (Alle Kunden sind in einer Google Maps Karte quasie markiert und wenn ich mich diesem Standort auf x Metern nähere, soll die App dies erkennen und in eine Liste abspeichern)

Letzteres muss man mal sehen, kommt drauf an wie "komplex" die Realisierung ist.Zusätzlich sollte das vom Layout einigermaßen ansprechend ausschauen.

Ich weiß, dass ich mich wohl neben Java noch ein wenig in XML einarbeiten muss und die Architektur eine andere ist, aber Java haben beide Architekturen (Pc/Smartphone) gemeinsam.

Wie sehr ist die Umstellung von der Entwicklung auf herkömmliche Weise und die Enwicklung auf Android Geräte ? Jemand Erfahrungen ? Wie hat die Einarbeitung (z.B. der Zeitaufwand) mit der Enwicklung von Apps geklappt ? Was glaubt ihr wie viel Zeit man in etwas benötigt um Anwendung (wie oben beschrieben) und einem Grundlagenwissen in Java (jedoch ffortgeschrittene Programmierkentnisse im allgemeinen) zu realisieren ? Ich bedanke mich =)

Computer, Technik, programmieren, Java, Android, Bachelorarbeit, Technologie, XML, GUI, Programmierung Java, App entwickeln

Python Tkinter Punkte auf Kreis erstellen?

https://images.gutefrage.net/media/fragen/bilder/python-tkinter-punkte-auf-kreis-erstellen/0_big.jpg?v=1515952309796"/>

Ich möchte gerne Punkte auf einem Kreis erzeugen, die in immer gleichen Abständen zueinander sind und die Menge der Punkten vareabel ist. Ich nutze dafür Python und Tkinter:

Mein code dazu ist folgender:

from tkinter import *

import math

win=Tk()

win.title("Kreis")

win.geometry("1500x850")

win.configure(background="white")

leinwand = Canvas(win, width=1500, height=850, bg="white")

leinwand.place(x=100, y=100)

r1=100

p=8

wgrd= 360/float(p)

leinwand.create_oval(700-float(r1), 150-float(r1), 700+float(r1), 150+float(r1), fill="white", width=1, outline="black")

for i in range (0,int(p)):

   xp= (float(r1) * math.cos(wgrd*i))+700

   yp= (float(r1) * math.sin(wgrd*i))+150

   leinwand.create_oval(int(xp)-10, int(yp)-10, int(xp)+10, int(yp)+10, fill="red", width=1, outline="red")

Leider haben die roten Punkte bei mir nicht den gleichen Abstand und ich weiß nicht warum. Ich hoffe jmd. kann mir helfen :)

Danke im Voraus! :)

Bild zum Beitrag
Computer, Mathematik, programmieren, Geometrie, Python, GUI, Tkinter

Meistgelesene Beiträge zum Thema GUI