processing
スケッチを含むJPanel
を含むJFrame
があります。 panel
をJFrameのコンポーネントは、サイズ変更(時には)後にのみ正しい位置にあります
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);
}
}
あまりにも頻繁に(約50%)、および/またはsketch
は、適切な場所にレンダリングされていません。コードは次のようになります。場合によっては、フレームサイズの約半分が右にずれていることもあります。フレームのスケッチの底だけを見ることもあります。
フレームをマウスでサイズ変更した後、すべてが正常に見えます。私はにJFrameを設定したいと思いますが、すべてを配置するためにウィンドウのサイズを変更する方法はありません。ここで提案されているよう
JFrame.repaint()
:これは私がそれを解決しようとしたものですJava items appear only after the window is resize。 - 無効。
私は手でウィンドウのサイズを変更してからに変更することができたと思っていました。この質問の回答に続いて:Modifying a JFrame from within a Listener。しかし、私は
dispose
JFrameにしなければならないので、処理スケッチはクラッシュします。
他のアイデアはありますか?
'コードは次のようになります。' - 私たちを助けません。問題を示す適切な[SSCCE](http://sscce.org/)を投稿してください。 – camickr
@camickrありがとう、私はテストケースを作成しようとしました。 – 7morgen
申し訳ありませんが、サードパーティのパッケージが何をしているのか分かりません。レイアウトに影響しているのかもしれません。 SSCCEはJDKクラスに基づいている必要があります。 – camickr