processing
çizimi içeren bir JPanel
contası bu JFrame
vardır. panel
JFrame bileşenleri yeniden boyutlandırıldıktan sonra yalnızca doğru konumdadır (bazen)
import javax.swing.JFrame;
import javax.swing.JPanel;
import processing.core.PApplet;
public class TestCase {
public static void main(String[] args) {
ProcessingFrame pFrame = new ProcessingFrame();
pFrame.setVisible(true);
}
}
@SuppressWarnings("serial")
public class ProcessingFrame extends JFrame{
public ProcessingFrame(){
this.setSize(600, 400);
this.setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
JPanel panel = new JPanel();
ProcessingSketch pSketch = new ProcessingSketch();
panel.add(pSketch);
this.add(panel);
pSketch.init();
this.setVisible(true);
}
}
public class ProcessingSketch extends PApplet{
public ProcessingSketch(){
//...
}
public void setup(){
size(600, 400);
background(200);
}
public void draw(){
rect(250,100,100,200);
}
}
Çok sık (yaklaşık% 50) ve/veya sketch
uygun konuma render değildir: Kod şöyle görünür. Bazen, kare boyutunun yaklaşık yarısı sağdadır, bazen çerçevedeki çizimin sadece altını görüyorum.
Çerçeveyi fare ile yeniden boyutlandırdıktan sonra, her şey iyi görünüyor. JFrame'i undecorated
'a ayarlamak istiyorum, ancak her şeyi yerine koymak için pencereleri yeniden boyutlandırmanın bir yolu yok.
Bu Bunu çözmek için çalıştık budur:
JFrame.repaint()
burada önerildiği gibi: Java items appear only after the window is resize. - Etkisi yok.Pencereyi elle yeniden boyutlandırabilir ve sonra
undecorated
olarak değiştirebilirim. Bu sorunun cevabını takiben: Modifying a JFrame from within a Listener. Ama işleme çizimi çöküyor çünküdispose
JFrame'ye ihtiyacım var.
Başka fikirleriniz var mı?
Bu kod şöyle bir şeye benziyor: - bize yardımcı olmuyor. Sorunu gösteren uygun bir [SSCCE] (http://sscce.org/) gönderin. – camickr
Teşekkür ederiz @camickr, bir test vakası oluşturmaya çalıştım. – 7morgen
Üzgünüz, 3. taraf paketinin ne işe yaradığını bilmiyorum. Belki düzeni etkiliyor. Bir SSCCE, JDK sınıflarına dayanmalıdır. – camickr