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

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

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

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

Processing

Processingは、オープンソースプロジェクトによるCGのためのプログラミング言語です。Javaをベースにしており、グラフィック機能に特化しています。イメージの生成やアニメーションなど、視覚的なフィードバックを簡単に得ることが可能です。

Q&A

解決済

2回答

887閲覧

processingで最小化を行うには?

rachet

総合スコア1

Java

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

Processing

Processingは、オープンソースプロジェクトによるCGのためのプログラミング言語です。Javaをベースにしており、グラフィック機能に特化しています。イメージの生成やアニメーションなど、視覚的なフィードバックを簡単に得ることが可能です。

0グッド

0クリップ

投稿2021/09/12 12:54

編集2021/09/12 23:46

前提・実現したいこと

現在Processingでフルスクリーンのプログラムを作っているのですが、ウィンドウの最小化を行いたいです。

ショートカットキーを使えばウィンドウの最小化は可能ですが、出来ればプログラム内のコードによって最小化を行いたいです。

具体的には、タイトルバーの最小化ボタンのように、画面内の特定のボタンを押すことで最小化できるようにしたいです。

問題点

残念ながらProcessing自体に用意されている関数にはそのような機能を持ったものはありません。

そのため、もしこれが可能になる方法があるとすれば、それは恐らくProcessingのベースであるJavaのコマンドを使う方法かと思います。
ですが、私はJavaにはあまり詳しくないため方法が分かりません。

もしわかる方がいましたらよろしくお願いします!

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

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

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

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

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

y_waiwai

2021/09/12 13:05

質問文は編集できます 無駄に質問建てないで、追記修正しよう
guest

回答2

0

ベストアンサー

日本語で検索して要望の情報がうまくヒットしない場合、英語で試してみると良いです。例えばほとんど単語を並べただけの拙い英文ながら「how to minimize window in processing」で検索してみて、ヒットした情報が以下、です。

How do I maximize the sketch window? - Processing Foundation
何故か「Maximize(最大化)」の方ですが、まんまProcessing オフィシャルの情報に辿り着きました。

この情報をもとに、最大化を示すjframe.MAXIMIZED_BOTHに対して最小化の値を探します。
Java SE6の情報と古いですが、以下のFrame.ICONIFIEDがヒットしました。「アイコン化」と称していますね。

Frame#ICONIFIED

これをもとにテストプログラムを作りました。灰色のウィンドウが表示されたのち、ウィンドウ上でマウスクリックするとアイコン化、すなわち最小化します。

Processing

1void setup() { 2 size(640, 360); 3 surface.setResizable(true); 4} 5 6void draw() { 7 background(128); 8} 9 10void mousePressed() { 11 javax.swing.JFrame jframe = (javax.swing.JFrame)((processing.awt.PSurfaceAWT.SmoothCanvas)getSurface().getNative()).getFrame(); 12 jframe.setLocation(0, 0); 13//jframe.setExtendedState(jframe.getExtendedState() | jframe.MAXIMIZED_BOTH); 14 jframe.setExtendedState(jframe.getExtendedState() | jframe.ICONIFIED); 15}

タイトルバーの最小化ボタンのように、画面内の特定のボタンを押すことで最小化できるようにしたいです。

これは質問者であるrachetさんが自力で次に解決すべきテーマとして、取っておきます。

投稿2021/09/13 05:19

dodox86

総合スコア9256

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

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

rachet

2021/09/13 17:49 編集

ご回答ありがとうございます。 エラーコードが出た時は当たり前のように英語で検索したりしますが、今回はすっかり頭から抜けてしまっていました...。以後気をつけます。 私の方で試したところ、フルスクリーンの状態では、最小化は上手くいくものの、再びウィンドウを開いた時に画面の位置がずれる不具合が発生しました。 そこで、以下のコードを省略したところ正常に動作しました。(フルスクリーンの場合はウィンドウのサイズが固定となるため不要なコード) surface.setResizable(true); 以下のコードも同様の理由で不要のため省略。 jframe.setLocation(0, 0); なので最終的には、次の様に記述することで目的通りの挙動となりました。 void setup() { fullScreen(); } void draw() { background(128); } void mousePressed() { javax.swing.JFrame jframe = (javax.swing.JFrame)((processing.awt.PSurfaceAWT.SmoothCanvas)getSurface().getNative()).getFrame(); jframe.setExtendedState(jframe.getExtendedState() | jframe.ICONIFIED); } > これは質問者であるrachetさんが自力で次に解決すべきテーマとして、取っておきます。 最小化の方法さえわかれば、それ以降は自力で作れますので大丈夫です!(というより既に作りました) お陰様で目的が達成できました。 改めて感謝を申し上げます。
guest

0

とりあえず、参考に

processingで最小化 - Google 検索

投稿2021/09/12 13:08

y_waiwai

総合スコア88042

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

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

thkana

2021/09/12 22:13

それを見るとやり方がみつかるのですか?
y_waiwai

2021/09/12 22:16

これ出したときは本文がまったくなかったからねえ。 まあ、みつかるんじゃね
thkana

2021/09/12 22:27

> 本文がまったくなかったからねえ。 なんでその段階で回答するのか...はともかく。 まぁ、見つからないと思いますよ。
rachet

2021/09/12 23:50

本文を書いたつもりが何故か本文なしで投稿してしまったことは申し訳ないです。 ご回答についてですが、当然検索して調べました。そして調べても見つからずここに質問を投稿したため、検索では望みは薄いですね。
thkana

2021/09/13 00:19

質問で「調べてもわかりませんでした」に対して(ちょっとググれば調べがつくじゃないか)を確認した上で「ちゃんと調べましょう」を返すパターンは実際ありがちではあるのですが。 今回について言えば、ちょっと自分でも調べてみればProcessingの側からは解に辿り付くのは容易ではなさそう、というのがわかるので無責任に「ググれ」はちょっとなぁ。いやまぁ、y_waiwaiさんはそんなことを気にする方じゃないことは存じておりますが。 (私自身もJavaにはあまり知識がないので、お役に立てません。知恵袋の質問が流れてしまうのも見送るしかできませんでしたが...ここだとその辺強い方がいらっしゃるので多分そちらから回答がつくのではないかと期待しています)
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.35%

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

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

質問する

関連した質問