-
プログレスバーを表示するときはJProgressBarクラスを使用します。 プログレスバーは、タスクの進捗状況を視覚的に表示します。 タスク処理の進行に合わせて、進捗バーに処理完了のパーセンテージが表示されます。 このパーセンテージは、通常、棒状のインジケータで表されます。 最初、このインジケータの内部は空ですが、処理の進行とともに塗りつぶされていきます。 時間のかかる処理の経過状況などを表示するのに用いられます。
下のサンプルソースコードでは、タスクの現在の状態を問い合わせ、戻り値を使って進捗バーを更新しています。 処理完了のパーセンテージをテキストでも表示しています。
JProgressBarを使ってプログレスバーを表示した例 サンプルソースコード import java.awt.*; import java.awt.event.*; import javax.swing.*; import java.beans.*; import java.util.Random; class JProgressBarSample extends JPanel implements ActionListener, PropertyChangeListener { private JProgressBar progressBar; private JButton startButton; private JTextArea taskOutput; private Task task; class Task extends SwingWorker<Void, Void> { public Void doInBackground() { Random random = new Random(); int progress = 0; setProgress(0); while (progress < 100) { try { Thread.sleep(random.nextInt(1000)); } catch (InterruptedException ignore) {} progress += random.nextInt(10); setProgress(Math.min(progress, 100)); } return null; } public void done() { Toolkit.getDefaultToolkit().beep(); startButton.setEnabled(true); taskOutput.append("処理終了\n"); } } public JProgressBarSample() { super(new BorderLayout()); startButton = new JButton("処理開始"); startButton.setActionCommand("start"); startButton.addActionListener(this); progressBar = new JProgressBar(0, 100); progressBar.setValue(0); progressBar.setStringPainted(true); progressBar.setPreferredSize(new Dimension(380,25)); taskOutput = new JTextArea(5, 20); taskOutput.setMargin(new Insets(5,5,5,5)); taskOutput.setEditable(false); JPanel panel = new JPanel(); panel.add(startButton); panel.add(progressBar); add(panel, BorderLayout.PAGE_START); add(new JScrollPane(taskOutput), BorderLayout.CENTER); setBorder(BorderFactory.createEmptyBorder(20,20,20,20)); } public void actionPerformed(ActionEvent evt) { startButton.setEnabled(false); setCursor(Cursor.getPredefinedCursor(Cursor.WAIT_CURSOR)); task = new Task(); task.addPropertyChangeListener(this); task.execute(); } public void propertyChange(PropertyChangeEvent evt) { if ("progress" == evt.getPropertyName()) { int progress = (Integer) evt.getNewValue(); progressBar.setValue(progress); taskOutput.append(String.format( "Completed %d%% of task.\n", task.getProgress())); } } private static void createAndShowGUI() { JFrame frame = new JFrame( "JProgressBarを使ってプログレスバーを表示"); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); JComponent newContentPane = new JProgressBarSample(); newContentPane.setOpaque(true); frame.setContentPane(newContentPane); frame.pack(); frame.setVisible(true); } public static void main(String[] args) { SwingUtilities.invokeLater(new Runnable() { public void run() { createAndShowGUI(); } }); } }
トップページ » Javaアプリケーション開発 » JProgressBarプログレスバーの表示
-
- javax.swingとは
- JFrameフレームの表示
- JDialogダイアログの表示
- JButtonボタンの表示
- JToggleButtonトグルボタンの表示
- JLabel画像やテキストの表示
- JTextFieldテキスト入力領域の表示
- JTextAreaテキストエリアの表示
- JCheckBoxチェックボックスの表示
- JRadioButtonラジオボタンの表示
- JComboBoxコンボボックスの表示
- JListリストの表示
- JScrollBarスクロールバーの表示
- JTableテーブルの表示
- JTreeツリーマップ(構造)の表示
- JProgressBarプログレスバーの表示
- JPanelパネルの表示とレイアウト整形
- JScrollPaneスクロールペインの表示
- JTabbedPaneタブペインの表示
- JMenuBarメニューバーの表示
- JToolBarツールバーの表示
- JPopupMenuポップアップメニューの表示
-
-
- プログラマが知るべき97のこと
- 発売:2010/12/18
- 定価:1,995円
- 著者:和田 卓人
- 出版:オライリージャパン
内容:世界中で活躍するプログラマによる97本のエッセイを収録した書籍です。プログラミングにおいてもっとも重要な事柄は何か、バージョン管理やテスティング、設計原則とコーディングテクニック、また腕を磨くための勉強法などについて、経験豊かなプログラマが自らの体験を踏まえて解説します。 -
- 明解Java 入門編
- 発売:2007/08/08
- 定価:2,730円
- 著者:柴田 望洋
- 出版:ソフトバンククリエイティブ
内容:丁寧な解説と適切なサンプルプログラム248編と、豊富で分かりやすい図表278点で、Javaの基礎から学習できます。Javaプログラミング初心者におすすめの一冊です。 -
- Effective Java
- 発売:2008/11/27
- 定価:3,780円
- 著者:Joshua Bloch他
- 出版:ピアソンエデュケーション
内容:著者のGoogle, Sun Microsystemsにおけるソフトウェア開発で得た知識・経験をまとめています。Javaプログラミングをする全てのSE必読の書籍です。 -
- Webサイト制作・運営に役立つ! ホームページ担当者が最初に覚える100の基本
- 発売:2010/06/05
- 定価:1,575円
- 著者:服部 洋二
- 出版:ソーテック社
内容:初心者向けの書籍です。中小企業のWebサイトに携わる方向けの書籍ですので、個人のウェブサイトにも適用しやすい内容となっています。
-
-
-
デスクトップPC(ビジネス向け・クリエイター向け・ゲーム向け)、ノートPC、パーツ、周辺機器、ソフト(OS・ゲーム・セキュリティなど)幅広い分野の商品を扱っています。販売価格の幅が広く、品揃えも充実しています。
-
「FRONTIERダイレクトストア」は、自社工場で製造したFRONTIERブランドのパソコンを日本全国に販売する株式会社KOUZIROのインターネットショッピングサイトです。カスタマイズ可能なBTOゲームパソコンも販売しています。
-