🎄teratailクリスマスプレゼントキャンペーン2024🎄』開催中!

\teratail特別グッズやAmazonギフトカード最大2,000円分が当たる!/

詳細はこちら
Java

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

Eclipse

Eclipseは、IBM社で開発された統合開発環境のひとつです。2001年11月にオープンソース化されました。 たくさんのプラグインがあり自由に機能を追加をすることができるため、開発ツールにおける共通プラットフォームとして位置づけられています。 Eclipse自体は、Javaで実装されています。

Q&A

解決済

5回答

1565閲覧

SWING UIにスクロール機能を付けたい

KasperHekmatyar

総合スコア81

Java

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

Eclipse

Eclipseは、IBM社で開発された統合開発環境のひとつです。2001年11月にオープンソース化されました。 たくさんのプラグインがあり自由に機能を追加をすることができるため、開発ツールにおける共通プラットフォームとして位置づけられています。 Eclipse自体は、Javaで実装されています。

0グッド

1クリップ

投稿2017/06/16 06:14

eclipseでSWINGのアプリケーションウィンドーを作って、windowbuilderで開いてUIを作成しています。どうしてもスクロールバーの付け方がわからないのですが、やり方を教えてくれるサイトもしくはやり方をおしえてもらえないでしょうか?

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

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

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

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

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

guest

回答5

0

stackoverflow: How to surround JTable with JScrollPane through windowbuilder?

の回答をみると、おそらくWindowBuilder上のパレットにscroll paneコントロールのアイコンがあり、まずそれを画面へ配置した後に、その上にスクロールさせたい画面コンポーネントを配置すればよいということだと思います。

スクロールペーンではなくスクロールバーを付けて自前で制御するのは面倒なのでスクロールペーン(JScrollPane)をお勧めします。WindowBuilderの機能詳細は知りませんが、おそらく縦・横のスクロールバーを「常に表示」「常に非表示」「必要に応じて表示」を個別に設定できるUIがあると思います。(もしその設定機能がなかったらコード上でそれをやることになりますが、きっとあるような気がします)

投稿2017/06/16 08:20

KSwordOfHaste

総合スコア18402

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

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

KasperHekmatyar

2017/06/16 08:31

windowbuilderではなく手打ちでスクロールバーをつける場合はどのようにプログラミングしたらよいのでしょうか?出来れば一行ごとに意味の解説を一言でいいので付けていただけると幸いです。
KSwordOfHaste

2017/06/16 08:40 編集

そういうことならtkturboさんが提示されているサイトやOracleのAPIリファレンスのJScrollPaneのページが参考になると思います。 http://docs.oracle.com/javase/jp/8/docs/api/javax/swing/JScrollPane.html 基本的にはJScrollPaneのコンストラクターに引数3つ渡すだけです。スクロールの詳細処理はJScrollPaneが面倒を見てくれます。より適切なスクロールのさせかた(スクロールバーをクリックしたときどの程度スクロールさせるか)はScrollableインターフェースの仕様をみるとよいです。
guest

0

こんなページはどうでしょう。

JScrollPaneクラス - JavaDrive

投稿2017/06/16 06:17

tkturbo

総合スコア5572

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

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

KasperHekmatyar

2017/06/16 06:18

見たのですが、分かりにくくて困っています。というよりもスクロールバーが表示されなくて困っています。
tkturbo

2017/06/16 07:07

「コードを書く」前提で話をするなら、提示したURLで書いているように、 「親Frameのインスタンス.getContentPane().add(JScrollPaneのインスタンス)」 という形で実現するはずです。 「WindowBuilderを使って」という制約条件が外せないのであれば、それは特定ソフトウェアの使用方法に関する話になるかと思われるので、まずはWindowBuilderのマニュアルを参照してみてはどうでしょう?
guest

0

知人から作成方法について教えてもらったので、共有致します。

java

1 2package aaaa; 3 4import java.awt.Dimension; 5import java.awt.EventQueue; 6 7import javax.swing.JFrame; 8import javax.swing.JPanel; 9import javax.swing.JRadioButton; 10 11public class JScrollPane { 12 13 private JFrame frame; 14 15 /** 16 * Launch the application. 17 */ 18 public static void main(String[] args) { 19 EventQueue.invokeLater(new Runnable() { 20 public void run() { 21 try { 22 JScrollPane window = new JScrollPane(); 23 window.frame.setVisible(true); 24 } catch (Exception e) { 25 e.printStackTrace(); 26 } 27 } 28 }); 29 } 30 31 /** 32 * Create the application. 33 */ 34 public JScrollPane() { 35 initialize(); 36 } 37 38 /** 39 * Initialize the contents of the frame. 40 */ 41 private void initialize() { 42 43 frame = new JFrame(); 44 frame.setBounds(100, 100, 450, 300); 45 frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 46 frame.getContentPane().setLayout(null); 47 48 javax.swing.JScrollPane scrollPane = new javax.swing.JScrollPane(); 49 scrollPane.setBounds(0, 0, 434, 262); 50 frame.getContentPane().add(scrollPane); 51 52 JPanel panel = new JPanel(); 53 scrollPane.setViewportView(panel); 54 panel.setPreferredSize(new Dimension(100, 3000)); 55 panel.setLayout(null); 56 57 JRadioButton rdbtnNewRadioButton = new JRadioButton("ボタン1"); 58 rdbtnNewRadioButton.setBounds(78, 65, 113, 21); 59 panel.add(rdbtnNewRadioButton); 60 61 JRadioButton rdbtnNewRadioButton_1 = new JRadioButton("ボタン2"); 62 rdbtnNewRadioButton_1.setBounds(78, 1000, 113, 21); 63 panel.add(rdbtnNewRadioButton_1); 64 } 65} 66 67 68 69

投稿2017/06/23 01:19

KasperHekmatyar

総合スコア81

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

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

KSwordOfHaste

2017/06/23 01:44

メインのクラス名をJScrollPaneというswingの標準提供クラスと同名にしないことをお勧めします。このクラスはスクロールペーンを意味せず、アプリケーションを意味すると思うのでJScrollPaneSampleとでもしておくのがよいのではないでしょうか?そうすればJScrollPaneを普通にimportしてFQN(Full qualified name)を使わなくても表現できます。 またsetBoundsとstPreferredSizeを混用しているのはあまりよろしくないと思います。 (1)レイアウトマネージャーあり/setMinimumSize/setPreferredSize/setMaximumSize/packあり (2)レイアウトマネージャーなし/setBounds/setSize/packなし のいずれかに統一したほうがよさそうです。どちらかといえば(1)を推奨します。 最後に上記の方法でJScrollPaneを使えますが、個人的な意見としては以下のようにコンストラクターでビューポートビューと、水平・垂直スクロールバーの表示方法を一度に指定した方がシンプルで分かり易いと思います。 new JScrollPane(panel, JScrollPane.VERTICAL_SCROLLBAR_ALWAYS, JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS);
guest

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

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

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

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

KSwordOfHaste

2017/06/20 01:12 編集

自己解決したなら「どのように解決したか」をきちんと書いてください。閲覧者の参考になるかも知れない情報が何も残らなくなります。このサイトは「自分だけが解決すればそれでいい」という質問者は歓迎されませんよ?
KasperHekmatyar

2017/06/20 01:49

操作ミスの関係でノーコメントで解決済みにしてしまいました。ご指摘ありがとうございます。
KSwordOfHaste

2017/06/20 02:11

回答も編集できるのですが・・・操作に慣れてないとこうした失敗はあるものですね。
KasperHekmatyar

2017/06/23 01:22

投稿したURLを見て作成を試みたのですが、上手くできなかったので、やり方を知人に教えてもらいました。良かったら新しいほうの回答をご一読下されば嬉しく思います。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.36%

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

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

質問する

関連した質問