Se si rimuove la dichiarazione surface.setResizable(true);
, si può vedere la tela è 300x20, ma la finestra non è:

Processing 3.0 ha un sacco di changes compreso il refactoring del codice a finestre, che in precedenza si basava sul pacchetto AWT di Java.
Attraversando il codice sorgente di corrente, si può vedere:
static public final int MIN_WINDOW_WIDTH = 128;
static public final int MIN_WINDOW_HEIGHT = 128;
definita PSurface.java line 34 e utilizzato attraverso fuori PSurfaceAWT.java garantire queste dimensioni minime della finestra.
Cercando di accedere tela della superficie (println(surface.getNative());
) posso che sia elencato come processing.awt.PSurfaceAWT$SmoothCanvas
e posso vedere un SmoothCanvas class with a getFrame() method, che sembra essere molto promettente, ma che non sembra essere accessibile (anche se si tratta di un metodo pubblico di una classe pubblica) .
Quindi, per impostazione predefinita, in questo momento, direi che ridimensionare la finestra per essere inferiore a 128x128 in Processing 3.x è un no go.
Se l'elaborazione 3.xe una finestra più piccola è un must, potrebbe essere possibile modificare il codice sorgente da soli e ricompilare la libreria principale, ma questo potrebbe morderti in seguito quando si hanno più progetti di elaborazione con più versioni del nucleo di elaborazione biblioteca. Non consiglierei di armeggiare normalmente con la libreria di base.
Se è possibile utilizzare 2.x di elaborazione per il progetto, rendendo le dimensioni della finestra più piccola di 100 pixel è realizzabile:

import java.awt.Dimension;
int w = 300;
int h = 20;
int appBarHeight = 23;//this is on OSX, on Windows/Linux this may be different
void setup() {
size(w, h);
frame.setResizable(true);
}
void draw() {
if (frame.getHeight() != h+appBarHeight){//wait for Processing to finish setting up it's window dimensions (including minimum window dimensions)
frame.setSize(w,h+appBarHeight);//set your dimensions
}
background(128);
}
Grazie! Ho avuto gli stessi pensieri con te. Per prima cosa ho pianificato di ricostruire la libreria principale, ma ora penso che sia meglio andare alla versione 2.x. C'è un altro problema con frame.setUndecorated (true) nella versione 3.x per rendere il mio pannello senza frame della finestra. – Johntor
Non sarà possibile usare '' 'setUndecorated (true)' '' al frame di elaborazione esistente poiché è già visualizzabile (e getterà un '' 'IllegalComponentStateException'''), ma è possibile creare il proprio separato' L'istanza di frame '' java.awt.Frame''' si può '' 'setUndecorate (true)' '' a, quindi aggiungere il componente PApplet a quello (dal frame esistente di Processing). Per maggiori dettagli dare un'occhiata a [questa risposta] (http://stackoverflow.com/questions/23260640/java-processing-2-0-using-eclipse-switching-from-window-to-fullscreen-and-ba/ 23297157 # 23297157). –
Grazie! Lo terrò a mente! – Johntor