swing
「swing」とは・「swing」の意味
「swing」は、英語で「揺れる」「振る」などの意味を持つ動詞であり、音楽用語としても使われる。音楽用語としての「swing」は、特にジャズ音楽において、リズムが揺れ動くような演奏スタイルを指す。このスタイルは、リズムの強弱やアクセントを工夫することで、音楽に独特の躍動感を与える。「swing」の発音・読み方
「swing」の発音は、スウィング(/ˈswɪŋ/)と読む。英語の発音では、頭の「sw」の部分は「ス」と「ウ」の音を同時に発音し、最後の「ng」は鼻音で発音する。「swing」の活用変化一覧
「swing」は、英語の動詞であり、活用変化が存在する。現在形は「swing」、過去形は「swung」、過去分詞も「swung」となる。また、三人称単数現在形は「swings」となる。「swing」の語源・由来
「swing」の語源は、古英語の「swingan」で、「打つ」「体を投げ出す」などの意味を持つ。古英語は、5世紀から12世紀にかけてイングランドで話されていた言語であり、「swing」はその言語から現代英語に受け継がれた。「SWING(電動キックボード)」とは
「SWING」とは、電動キックボードのブランド名の一つである。電動キックボードは、電動モーターを搭載したキックボードで、足で蹴ることなく進むことができる。都市部の移動手段として人気があり、最近ではシェアリングサービスも登場している。「Swing(Java)」とは
「Swing」は、Javaプログラミング言語で使用されるフレームワークの一つである。Swingは、グラフィカルユーザーインターフェース(GUI)を作成するためのコンポーネントとAPIを提供しており、Javaアプリケーションの見た目や操作性を向上させることができる。「swing」の使い方・例文
1. He swung the bat and hit the ball.(彼はバットを振ってボールを打った。)2. The pendulum swings back and forth.(振り子は前後に揺れる。)
3. The children were swinging on the playground.(子供たちは遊び場でブランコに乗っていた。)
4. The jazz band played with a great swing.(ジャズバンドは素晴らしいスウィング感で演奏した。)
5. The door swung open when he pushed it.(彼がドアを押すと、ドアが開いた。)
6. The chandelier was swinging during the earthquake.(地震の間、シャンデリアが揺れていた。)
7. The politician's popularity has swung dramatically.(その政治家の人気は劇的に変動した。)
8. The dancer's skirt swung as she moved.(ダンサーのスカートは彼女が動くと揺れた。)
9. The branches of the tree were swinging in the wind.(木の枝が風に揺れていた。)
10. The golf player practiced his swing before the game.(ゴルファーは試合前にスイングを練習した。)
スイング【swing】
読み方:すいんぐ
1 野球やゴルフで、バットやクラブを振ること。「絶好球を見逃さずに—する」「フル—」
2 ボクシングで、大きく半円を描くように腕を振って横から加える打撃。
3
㋐「スイングジャズ」の略。
スウィング【swing】
スイング (Swing)
Swing
Swing
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2025/09/28 07:41 UTC 版)

Swingは、プログラミング言語 Java のGUIツールキットである。Oracle社のJava Foundation Classesの一部であり、同じくJavaの GUI ツールキットである AWT を拡張したもの。Javaプログラムにグラフィカルユーザインタフェース(GUI)を提供するAPIである。
Swingは、先行するAWTよりも洗練されたGUIコンポーネントを提供するために開発された。Swingは、幾つかのプラットフォームのルック・アンド・フィールをエミュレートしたネイティブなルック・アンド・フィールを提供する。また、「プラグイン可能なルック・アンド・フィール」(Pluggable look and feel)をサポートしていることにより、アプリケーションは簡単にルック・アンド・フィールを切り替えることができ、下で走っているプラットフォームとは関係ないルック・アンド・フィールを使うこともできる。SwingはAWTよりも強力で柔軟なコンポーネントを持つ。ボタン、チェックボックス、ラベルといった馴染み深いコンポーネントの他にも、Swingはタブ付きパネル、スクロール窓、スライダー、スピナ、ツリー表示、表、リストなどの高度なコンポーネントを提供している。
AWTと異なり、Swingコンポーネントはプラットフォーム固有のコードで実装されたものではなく、完全にJavaで書かれている。このため、Swingはプラットフォームに依存しない。このようなコンポーネントを軽量コンポーネントと呼ぶ[1]。AWT はオペレーティングシステムのウィンドウシステムに準じたデザインになるのに対し、Swing で作成した GUI は Javaプログラム上で描画されるので、より柔軟な設計が可能となる。
かつては、SwingはJavaFXにより置き換えられる方針があったが、SwingはJava SE仕様の一部として残り、JavaFXの方がJava SEに残らなかった。[2]
アーキテクチャ
Swingは、Java言語用の、プラットフォームに依存しない、 "Model View Controller"型の GUIフレームワークであり、単一スレッドプログラミング・モデルに従っている[3]。更に、このフレームワークはコード構造とSwingベースのGUIのグラフィック表現の間に抽象化層を提供する。
基礎
Swingは完全にJavaで書かれているためプラットフォームに依存しない。全てのSwingクラスに関する完全なドキュメントがJava API Guide(バージョン6用)またはJava Platform Standard Edition 8 API Specification(バージョン8用)にある。
拡張性
Swingは高度にモジュール・ベースのアーキテクチャである。これによりフレームワークのインターフェイスに様々なカスタム実装を「差し込む」ことができる。ユーザはJavaの継承の仕組みを使って、デフォルト実装をオーバーライドして、これらのコンポーネントに独自のカスタム実装を作ることができる[4]。
Swingはコンポーネント・ベースのフレームワークである。そのコンポーネント群は全て究極的にはjavax.swing.JComponentクラスから派生したものである。Swingのオブジェクト群は非同期的にイベントを発出し、それぞれがプロパティ群を持ち、各コンポーネントに固有のメソッド呼び出しに対応する。SwingコンポーネントはJavaBeansコンポーネントであり、Java Beans Component Architecture仕様に準拠している。
設定可能
Swingはランタイム機構と間接的構成パターンに大きく依存しているため、その設定値が実行中に根本的に変わっても対応できるようになっている。たとえば、Swingベースの、実行中のアプリケーションのユーザー・インターフェイスをホットスワップ可能である。更に、ユーザが独自のルック・アンド・フィールの実装を与えることもでき、これにより、アプリケーションのコードは何も変更することなく、既存のSwingアプリケーションのルック・アンド・フィールを均質に変更することが可能となっている。
- 軽量UI
Swingの高水準の柔軟性は、ネイティブ・ホストのオペレーティング・システム (OS)のGUI部品の表示をオーバーライドできる能力を反映したものである。Swingは、そのGUI部品をJava 2D API群で描画しており、ネイティブなユーザー・インターフェイス・ツールキットを呼ばない。従ってSwingコンポーネントには、それに対応するネイティブなOSのGUIコンポーネントといったものはなく、下層にあるグラフィクスGUIで可能な範囲内においてどのように描画しようと自由である。
しかしながら、すべてのSwingコンポーネントは、その中核部分においてAWT コンテナに依存している。これは、SwingのJComponent
はAWTのContainerを拡張したものだからである。これによりSwingをホストOSのGUI管理フレームワーク(デバイスとスクリーンの対応づけや、キー操作やマウス移動などユーザとのインタラクションを含む)に差し込むことが可能になっている。Swingは単純に、Swing固有の(OSにとらわれない)意味(semantics)を、下層にある(OS固有の)コンポーネント群に「置き換え」ているだけである。従って、たとえば、全てのSwingコンポーネントは、(AWTの)Containerで定義されたcomponent.paint()の呼び出しに応じて、自身をグラフィック・デバイスに描画する。しかし、その描画をOS固有の「重い」(heavy weight)ウィジェットに委任するAWTコンポーネントとは異なり、Swingコンポーネントは自身の描画は自分の責任として行う。
この「置き換え」(transposition)と「切り離し」(decoupling)は単に目に見える部分だけのことではなく、そのコンポーネント包含階層内で発出されるイベントにおけるOS非依存の意味(semantics)の管理と応用にもいえることである。一般的にいって、Swingアーキテクチャは、OSのGUIが持っている意味に対して与えられた様々な表現形式を、単純ではあるが一般化されたパターンに対応づける仕事をAWTコンテナに委任している。その一般化されたプラットフォーム上で構築すれば、JComponent
モデルの形でリッチで複雑なGUIの意味(semantics)を組み上げたことになる。
プログラム例
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.SwingUtilities;
import javax.swing.WindowConstants;
public class HelloWorld implements Runnable {
@Override
public void run() {
JFrame frame = new JFrame();
frame.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
frame.getContentPane().add(new JLabel("Hello, world!"));
frame.pack();
frame.setLocationRelativeTo(null);
frame.setVisible(true);
}
public static void main(String[] args) {
HelloWorld hello = new HelloWorld();
SwingUtilities.invokeLater(hello);
}
}
歴史
- 1998年にリリースされた J2SE 1.2 で初めてリリースされた。
- 2002年にリリースされた J2SE 1.4 で提供された Java Web Start を利用することでプログラムの再配布の問題を解決した。
- 2004年にリリースされた Java SE 1.5 でメモリ消費効率の改善を行った。
- 2006年にリリースされた Java SE 6 では Java の実行性能が改善されたことによって Swing の実行性能も改善された。
関連項目
脚注
- ^ Loy, Marc; Eckstein, Robert; Wood, Dave; Elliott, James; Cole, Brian (2012). Java Swing (2 ed.). O'Reilly Media, Inc. p. 53. ISBN 1449337309
- ^ “JavaFX FAQ”. Oracle.com. 2016年8月1日閲覧。
- ^ "Swing threading and the event-dispatch thread - JavaWorld", Welcome to JavaWorld.com, http://www.javaworld.com/javaworld/jw-08-2007/jw-08-swingthreading.html
- ^ "LookAndFeel (Java Platform SE 7 )", Oracle Documentation, http://docs.oracle.com/javase/7/docs/api/javax/swing/LookAndFeel.html , 5/26/2012
外部リンク
「SWING」に関係したコラム
-
FX(外国為替証拠金取引)のスイングトレード(swing trading)とは、数日から1週間の期間に売買を繰り返す手法のことです。スイングトレードは、トレールを用いて、利益が出ている間は利益幅を伸ば...
- SWINGのページへのリンク