質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Raspbian

Raspbianは、DebianベースのRaspberry Pi用ディストリビューション。ハードウェア浮動小数点演算を有効にすることが可能で、Webブラウズなどの速度を向上できます。

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

Swing

SwingはJavaに標準で付属するグラフィック関連のクラスライブラリを指します。

Q&A

0回答

781閲覧

ImageスクロールをRasberry pi 3上できれいに

si2

総合スコア6

Raspbian

Raspbianは、DebianベースのRaspberry Pi用ディストリビューション。ハードウェア浮動小数点演算を有効にすることが可能で、Webブラウズなどの速度を向上できます。

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

Swing

SwingはJavaに標準で付属するグラフィック関連のクラスライブラリを指します。

0グッド

0クリップ

投稿2018/06/21 09:37

編集2018/06/22 23:07

前提・実現したいこと

Rasberry pi 3上で複数のImageをきれいにスクロールさせたいのです。

発生している問題・エラーメッセージ

Rasberry pi 3とwindows10でImageにPNGファイルをロードしてタイマーイベント(約10ms)でスクロールさせていますが、移動がギクシャクしてしまいますが、paint内でrepaintする部分を変えるときれいになります。
windowsだと全て正常に見えますが、
raspbery pi 3のrasbianだとrepaintの範囲を変えるとスクロールが飛んだり軌跡が残ったり色々です。
なぜでしょうか?
また、NetBeansをwindowsパソコンからrasbianへリモート接続して実行していますが、rasbian上で直接実行しても表示状態が変わります。

package javaapplication; import java.awt.*; import java.util.Timer; import java.util.TimerTask; import java.util.concurrent.Executors; import java.util.concurrent.ScheduledExecutorService; import java.util.concurrent.TimeUnit; import javax.swing.*; /** * * @author */ public class JavaApplication extends JFrame { static int Y1,Y2; static Frame frame; ImageIcon icon; public JavaApplication() { // ### up.png...300-dot x 300-dot,32bit color PNGファイル ### // icon=new ImageIcon("D:\up.png"); // windows用 icon=new ImageIcon("/home/pi/NetBeansProjects/up.png"); // Linux用 JLabel label=new JLabel(icon); Y1=0; Y2=0; Timer t = new Timer(); // t.scheduleAtFixedRate(new MyTimer(), 0, 50); t.scheduleAtFixedRate(new MyTimer(), 0, 10); } /** * @param args the command line arguments */ public static void main(String[] args) { // TODO code application logic here frame=new JavaApplication(); frame.setBounds(0, 0, 480, 400); frame.setVisible(true); } public void paint(Graphics g) { // super.paint(g); // 軌跡は残らないが、イメージが移動のたびに再描画され汚い // (0,0)-(480,200) : ok // (0,0)-(480,400) : NG // (0,0)-(240,200) : ok // (0,0)-(240,600) : NG // (0,0)-(480,600) : NG // ### windows10では、下記のsuper.repaintを入れなくても正常描画される // ### raspberry pi 3のrasbianでは、下記のsuper.repaintを入れないと描画がたまにしか行われない // super.repaint(); // 軌跡が残る+イメージがスキップする super.repaint(0, 0,480,200); // イメージは正常にスクロール // super.repaint(0, 0,480,400); // 軌跡が残る+イメージがスキップする // super.repaint(0, 0,240,200); // イメージは正常にスクロール // super.repaint(0, 0,240,600); // 軌跡が残る+イメージがスキップする // super.repaint(0, 0,480,600); // 軌跡が残る+イメージがだいぶスキップする g.drawImage(icon.getImage(), 0, Y1, this); g.drawImage(icon.getImage(), Y1,400,this); } public class MyTimer extends TimerTask{ public void run(){ if (Y1 < 200) Y1++; else Y1=0; if (Y2 < 200) Y2++; else Y2=0; if (frame != null) frame.repaint(0,0,480,400); // panel.repaint(); } } }

補足情報(FW/ツールのバージョンなど)

NetBeans IDE 8.2 + Rasbian strech
ここにより詳細な情報を記載してください。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問