SourceRabbit GUI-anpassung für die nutzung auf dem Tablet. wie bekomme ich ein Fullscreen?


marukitano

Grünschnabel
Hallo Zusammen

kurz zu mir: Ich bin Maru, mitte 30, Frau, Kind und daurch leider nicht so viel Zeit wie ich gern hätte. Es geht um folgendes:

Ich habe mehrere CNC-Maschinen (Shapoko XXL, Stepcraft D600 und eine Drehbank, welche ich selbst auf CNC umgebaut habe). All diese Maschinen laufen mit Grbl auf jeweils einem Arduino UNO. Das ist eigendlich auch alles tip top so. Da in der Werkstatt immer viel staub und Späne entstehen, möchte ich dort keine Mäuse und tastaturen reinbringen. Also habe ich an die Arduinos jeweils ein kleinen Raspi gehangen und dort einen G-code Sender namens Source Rabbit installiert. Über NX kann ich nun mit meinem Tablat auf die Raspis zugreifen und sie so über das Tablet steuern. Bis hierher alles super!

Nur leider gibt es keine G-code sender, welche schön grosse tasten ahben und sich über das tablet gut bedienen lassen. Also habe ich mir gedacht, Source Rabbit ist ja open source, passe ich mir die GUI an. Am besten so, dass auch noch andere das ganze nutzen können. Und genau hier fangen die Probleme an.

Ich kann das GUI eigendlich recht gut anpassen. Das ganze lässt sich in Netbeans öffnen und dann über swing editieren. Wo ich aber anstehe ist die Vollbildfunktion. Ich kann zwar die Auflösung des Raspis fix eingeben (und für mich wäre das auch schon die perfekte Lösung) aber wenn jemand anderes eine andere Auflösung fährt, dann funktioniert das für ihn nichtmehr. Wenn ich mir den Code anschaue, den swing da zaubert, dann finde ich nirgends die erzeugung des fensters. Auch wenn ich nach der Auflösung suche, welche ich im editor eingebe, findet er diese nicht im Code.

Ich kann bei SIZE eigenen Code eingeben. leider klappt das nicht wie gewollt und er bringt mir immer fehler. Weiss einer, WO und vor allem WAS ich beim JFrame eintragen muss, damit das Programm im Vollbildmodus erscheint? "undecored" funktioniert wunderbar. Ich hätte einfach gern eine allgemeingültige Lösung.

Danke und Gruss Maru
 

marukitano

Grünschnabel
Hallo, vielen Dank für die Hilfe! Zerix Code
"frame.setExtendedState(JFrame.MAXIMIZED_BOTH);" hat den gewünschen erfolg gebracht. Ich habe in netbeans über die Textsuche auch setVisible gefunden und somit die richtige Stelle. sehr schön! Vielen Vielen Dank! das fertig angepasste Programm (bin noch am implementieren von ein paar nützlichen Funktionen von CarbidMotion (rapid positions) und GoTo-Buttons (Xzero, Y-zero und Z-zero bzw. XY-zero)) werd ich auf github hochladen und den Link hier teilen. vieleicht hat jemand anderes ja auch interesse daran seine CNC-maschine über das Tablet zu steuern.

Danke euch!

Gruss Maru

PS: entschuldigt die späte Antwort, ich war bis vor 3 Stunden in den Ferien (3000km in 5 Tagen) und war quasi "offline"
 

marukitano

Grünschnabel
Ich habe nochmal eine Frage allgemeinerer Art: Ich versuche gerade die Positionsanzeige auf 3 stellen hinter dem Komma zu beschränken, da eine genauere Auflösung mit 99,9% der Maschinen eh nicht positioniert werden kann. Dafür müsste ich herausfinden, woher das GUI den Wert der Variable bekommt. die Variable heisst jLabelWorkX.

über diese Funktion holt er sich den Wert:

jLabelWorkX.setText("X: " + ConnectionHelper.ACTIVE_CONNECTION_HANDLER.getWorkPosition().getX());

Gibt es eine Möglichkeit im gesamten Projekt nach dieser Variable zu suchen? mit der textsuche kann ich immer nur ein File (von gefühlten 100) durchsuchen und komme so nicht zum ziel.

Ich arbeite das erste mal mit soeiner Programmierumgebung. meine bisherigen Projekte fanden alle IN EINEM textdokument statt und nicht in 100. Das macht die sache etwas komplizierter...
 

ComFreek

Mod | @comfreek
Moderator
Gibt es eine Möglichkeit im gesamten Projekt nach dieser Variable zu suchen? mit der textsuche kann ich immer nur ein File (von gefühlten 100) durchsuchen und komme so nicht zum ziel.
Hast du Google probiert? "netbeans search in all files". Dann kommt so etwas wie How to search advancely in netbeans entire project?.

Aber dass du diese Codezeile so oft anscheinend in deinem Code hast, zeigt, dass dein Code DRYer (Don't Repeat Yourself) gemacht werden könnte ;) Das ist allgemein ein anerkanntes Ziel, dass Code möglichst DRY sein sollte.
 

marukitano

Grünschnabel
Danke

Nein, die Codezeile ist nicht 100 mal zu finden. In dem Netbeansprojekt, welches ich von Github habe, sind nur 100 einzelne Textdateien drinn.

Ich denke schon, dass der code (da open source) recht optimiert ist. Meine modifikationen sind da nur minimal.

Ich werde google bemühen, wenn ich weitere Fragen habe, besten Dank.

Gruss Maru