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

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

ただいまの
回答率

90.48%

  • Java

    14126questions

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

  • Swing

    230questions

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

変数が格納されている場所を知りたい

解決済

回答 3

投稿 編集

  • 評価
  • クリップ 0
  • VIEW 272

kidaer

score 9

import javax.swing.*;

class ziriki{


public static void main(String [] args){

JFrame jframe = new JFrame("テスト");
JFrame iframe = new JFrame("その2");
JFrame lastframe = new JFrame("最後の");

jframe.setVisible(true);
iframe.setVisible(true);


iframe.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
jframe.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);


↑上記のコードで、ウィンドウを3つ作成。
内2つを表示して、3つ目だけ非表示。
2つのウィンドウを×ボタンで破棄したのち、2つのウィンドウが破棄されたフラグを受け取って3つ目のウィンドウを破棄ということがやりたいです。

しかし、if(iframe.setVisible = false)などやってみたところ、エラーになってしまいました。

iframe.setVisible(true);の真偽値はどこに格納されているのでしょうか?

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

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

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

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

質問への追記・修正、ベストアンサー選択の依頼

  • mts10806

    2018/05/23 17:05

    Swing をタグに追加しておいてください。

    キャンセル

  • kidaer

    2018/05/23 17:07

    タグにSwingを追加しました。ありがとうございます。

    キャンセル

回答 3

checkベストアンサー

+2

visibleというbooleanのプロパティーはJFrameの実装内部に隠されていてそれをどこにあるかを知ることは重要じゃないですが・・・多分質問者さんが知りたいのは情報のアクセスの仕方だと思いますので「ゲッター、セッター」について調べてみるとよいかと思います。

大抵はxというプロパティーがあったとき

getX() 「xを参照する」
setX(value) 「xを設定する」

という組で参照・設定を行いますが、booleanの値の場合英語圏の人たちの感覚に合うように

isX()  「xか?」
setX(value) 「xを設定する」

のように名前を付ける習慣になっていたりします。

本件であれば

isVisible()
setVisible(value)

というメソッドの組がゲッター・セッターの仕様になってます。こうしたものはリファレンスをちゃんと見れば書いてありますので「リファレンスを見る」のも大事ですよ?

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2018/05/23 17:41

    リファレンス一覧は見てはいるのですが、何を書いているのかがわからず、その説明書も何処にあるのかわからないのであちこちサイトを探しては手さぐりしているという状況です。普通はリファレンス一覧を見れば大体わかるものなのでしょうか? 少しずつ専門用語をぐぐってるのですが、ぜんぜん使い方がわからなくて……。ゲッター&セッターについてはProgateで少し習ったのですが、リファレンス一覧での使い方がさっぱりといいますか……。とにかく今回の件では、getOpacity()かgetOwnedWindows()で取得した中身を変数に入れて、それと比較すればいいのでしょうか? やってみます。回答ありがとうございました!

    キャンセル

  • 2018/05/23 17:52

    本件は文法エラーレベルの問題なのでまずはリファレンスで解決してほしいですが、その先に本当に難しい点があると思います。そこで躓いたらまた「こうやってみたけど期待通りにならない」といった質問をすると何かしらアドバイスが得られるかと思います。リファレンスを見ていることは大変よいと思いますが、How To的な検索も有効な場合があります。「swing ウィンドウ 閉じる」なんてキーワードであたりを付けると意外とヒントが見つかったりします。検索もまた訓練が必要な技術です。

    キャンセル

  • 2018/05/23 18:07

    今ちょうどそれをやっているところです。リファレンスがあまりにもとっかかりがないので、初心者サイトにある構文をリファレンス一覧で探してどう動くのかな?とか、変数の格納されてる場所が知りたいな!とか、どういうクラスなのかな!とか……。今も真偽値が入ってるっぽいautoRequestFocusがprivateだとわかり、「だからその取得はどのタグでやればいいんだよ!」と嘆いていたところです。リファレンス一覧に検索がない……! 何かとても入口を間違っている雰囲気がするのですが、みなリファレンス一覧から入門しているのでしょうか? リファレンス一覧を読む為の基礎知識がごっそり抜けている気がします。もし何か心当たりがあれば教えてはもらえませんでしょうか?

    キャンセル

  • 2018/05/23 20:24

    自分は例えばswingのリファレンスがチンプンカンプンからそうでなくなるまでかなりの時間を要しました(多分年単位)。わからなくて放り出してた時期もありますが、やはり前提知識が絶対的に不足してたのだと思います。Java言語を学ぶのはそれほど難しくないのですがGUIにせよ何にせよ「仕組み」「考え方」を知ることは簡単じゃないですね。プログラミングを学ぶのが難しいのは「これをこの順番に学べば必ずわかるようになる」という道がはっきりしていなくて「わからない」にもかかわらず「取り組む努力を続ける」ことをしないと「わかるようにならない」という矛盾にあると思います。ある程度の修業期間は必要なんでしょうね。ちなみに自分は修行は終わってないです。多分一生終わらないと思います。

    キャンセル

+2

JFrameここを確認してください。

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2018/05/23 17:12

    自分はついgetter/setterのことだけコメントして肝心の中身に踏み込んでなかったです w;;;

    キャンセル

  • 2018/05/23 17:21

    私もgetter/setterだけで終わらせようと思ったんですが、
    結局仕様も理解した上で使わなきゃ意味がないかなと、ドキュメントへの導線を貼る結論に至りました。

    キャンセル

  • 2018/05/23 17:38

    おっしゃるとおりと思います。

    キャンセル

  • 2018/05/23 17:45

    setVisibleが探してもなかなか見つからなかったので助かりました。ありがとうございます! ただ何が書いてあるのかがわからなくて……。申し訳ありません。回答ありがとうございました。

    キャンセル

  • 2018/05/23 17:53

    日本語ドキュメントなので一個ずつ少しずつ確かめていけば理解はしていけると思いますよ。KSwordOfHasteさんも仰っていますが、最も正しい情報が記載されているのはリファレンス、マニュアルです。
    リファレンス、マニュアルが読めるようになることが成長に直結してきます。
    もちろん一字一句読み込めというわけではなく、調査の第一歩をリファレンスから始めるように癖付けるという意味です。

    キャンセル

  • 2018/05/23 18:10

    あっ、みなさん本当にリファレンス一覧から始めてるんですね……! 了解しました。少しずつですが、検索で理解していけたらいいなぁと思います。回答ありがとうございました!

    キャンセル

  • 2018/05/23 18:16 編集

    そうですね。
    ネット上の記事や書籍を全く信用しないというわけではないですが、何かしら端折ったり都合良くなおしたりしている例がないわけでもなくて、自分がやりたいことに当てはまるとも限りません。
    動作や意味といった「仕様」に関わる部分はリファレンスが何よりも正しいです。
    Javaのリファレンスはリンクで辿っていけたり、JavaDocの形式のはずなのでコードに直結していて直感的ではあると思います。
    がんばってください。

    キャンセル

  • 2018/05/23 18:26

    そうなのですか……。あまりにも専門用語やわからない概念前提の話が多いものですから、何か仕様書(パソコンの設計図みたいなもの)をごそっと見逃してるんじゃないかなぁという気がしてしまって……。でも、その仕様書がリファレンス一覧なのですね。頑張ります。ありがとうございます。

    キャンセル

  • 2018/05/23 18:56

    まあプログラミングって専門用語しかないので、そこは慣れるしかありませんね。
    基本英語なので例えばGooge翻訳など活用すれば「それとなく意味が分かる」ようにはなると思いますし(エラーメッセージなんかは基本Google翻訳に頼ってます)
    あとはその日本語をいかにコードに反映させるか、なので、
    ちょっとずつ着実に進んでいけば良いと思います。誰もが最初は初心者でわけわからないところから入っているので。

    キャンセル

0

iframe.setVisible ってのはメソッドです。それを比較したところでどーしよーもないですぜ

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

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

  • ただいまの回答率 90.48%
  • 質問をまとめることで、思考を整理して素早く解決
  • テンプレート機能で、簡単に質問をまとめられる

関連した質問

  • 解決済

    Java LabelにImageiconを大きく表示させる

    前提・実現したいこと   Java LabelにImageiconを代入し、表示させたいのですが、アイコンのサイズとして表示されます。 なので、少し拡大をして表示させるにはどの

  • 受付中

    javaで画像が表示されない

    45行目のnew java.swing.ImageIcon(s4)を46行目のs3が入っているところにそのまま new java.swing.JLabel (new java

  • 受付中

    [java]TextFieldの中身を引数として持ってくる場合

    [java]TextFieldの中身を引数として持ってくる場合どうしたらよいですか? TextFieldに書かれた文字をボタンが押されたら一時的に保存されるという風にしたいのです

  • 解決済

    eclipesでswingを使用しての画面作成

    自分でできるところまで行います。  甘えでした。  ………………………………………・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・

  • 解決済

    JFrameでのJPanelの切り替えについて

    前提・実現したいこと (例)Java(UIはJFrame)でゲームを作っているのですが、JPanelの切り替えをJFrameで行おうとしています。 しかし、JPanelの切り替

  • 受付中

    Javaでフレーム内にランダムに数値を表示させたい

    前提・実現したいこと スロットゲームにてボタン入力後ターミナルではなくフレームにランダムな3桁を入力したい。 あわよくば数値によっては言葉を表示させたい。 777ならばBig Bo

  • 解決済

    JFrame ウィンドウサイズの変更

    前提・実現したいこと java言語でウィンドウサイズを標準サイズにしたい。 例えば、C#でいうformのautosize=trueみたいな感じで。。。 import jav

  • 解決済

    ウィンドウを閉じたい

    最初のウィンドウから次のウィンドウに移動して その移動したウィンドウを 指定した条件の時に閉じたいです 上の指定した条件まではできたのですが 閉じるというのができないです

同じタグがついた質問を見る

  • Java

    14126questions

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

  • Swing

    230questions

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