• ベストアンサー

ラベルをプログレスバーのように伸び縮みさせるには?(Jbuilder)

都合により、Swingのコンポーネントが使えない為AWTのコンポーネントでプログレスバーのようなものを作りたいのです。 パネルの上にラベルを置いて、そのラベルをドラッグして長さを調節するといいかなと思いましたがどのようにすればよいのかまったくわかりません・・・ 作りたいのは、ラベルをクリックして任意の長さまで伸び縮みさせられるようなコンポーネントです。

  • t-tree
  • お礼率83% (183/218)
  • Java
  • 回答数1
  • ありがとう数1

質問者が選んだベストアンサー

  • ベストアンサー
  • liar_adan
  • ベストアンサー率48% (730/1515)
回答No.1

java.awt.Scrollbarでは駄目でしょうか? ラベルをドラッグして長さを調節するのは 相当難しいと思います。 ドラッグ処理から書かなければなりませんし…。

t-tree
質問者

お礼

liar_adanさん、いつもいつも本当に貴重なアドバイスいただきありがとうございます。 >java.awt.Scrollbarでは駄目でしょうか? なるほど、スクロールバーですね。考えてみます。 なにやら相当難しいそうなので別の方法考えてみます。 ありがとうございました。

関連するQ&A

  • ボタンクリックでパネル表示方法?(JBuilder)

    ボタンをクリックしたタイミングで、パネルを生成しそれを表示したいのですが表示されません。下記のロジックに問題または、足りないものがありますか? void btnA_mouseClicked(MouseEvent e) { Panel1 pnlSub = new Panel1(); pnlSub.setVisible(true); } ちなみにパネルはSwingのJPanelではなくAWTのPanelを生成しております。

    • ベストアンサー
    • Java
  • JAVA swingについて

    JAVA swingとAWTのみを使って画面を作成してるのですがうまくエラー<作りたい仕様> ・ポップアップウィンドウの大きさを決めることができる ・自由にボタンを設定できる(大きさ・場所など) ・設定したボタンにアクション設定できる(戻り値もOK) また、今あるフレームの上にパネルをはり、パネルの上にコンポーネントを追加して、エラー発生画面を作る方法でもいいです。 どちらかいい方法やクラスなどを知っていましたらぜひ教えて下さい。

    • ベストアンサー
    • Java
  • クリックでGUI部品を追加する

    java歴3ヶ月の初心者です。よろしくお願いします。 現在、Swingを用いたパズルを作成しているのですが、 パネル上にあるラベルをクリックすると、 ラベルを乗っけていたパネル全体がラベルとなるようにゲーム画面を作りたいのですが、 「クリックにより、GUI部品をはずし別の部品をつける」 という方法がわかりません。 できればクリックするごとに元の状態と交互に表示できるようにしたいです。 試した方法としてはmouseClicked内にremove()やsetVisible(boolean) で消したのですが、その後にラベルを加えることができませんでした。 ご回答よろしくお願いいたします。

    • ベストアンサー
    • Java
  • TABキーの検出

    Swingコンポーネントで、TABキーのイベントを取得する 方法を教えてください。 タブキー以外は検出できるのですが… import java.awt.event.KeyEvent; import java.awt.event.KeyListener; import javax.swing.JFrame; import javax.swing.JPanel; public class TabKeyListener { public TabKeyListener() { JPanel panel = new JPanel(); panel.addKeyListener( new KeyListener(){ public void keyPressed(KeyEvent e) { System.out.println(e.getKeyCode()); } public void keyReleased(KeyEvent e) { } public void keyTyped(KeyEvent e) { } } ); JFrame frame = new JFrame(); frame.add(panel); frame.setBounds(100,100,200,200); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.setVisible(true); panel.requestFocusInWindow(); } public static void main(String[] args) { new TabKeyListener(); } }

    • ベストアンサー
    • Java
  • jarファイル起動時

    Swingでアプリケーションをつくりそれをjarファイルで クリックすると実行するようにしているんですが、 jarファイル起動時によく ----------------------------- ○○○○←アプリケーション名 バージョン名 起動中.... ------------------------------ などが四角いパネルで上のような情報が 表示されてから起動するようなswingのアプリケーションを作っている人の作品を幾つか見かけました、 どのようにして上のようなパネルを表示させているのでしょうか?

    • ベストアンサー
    • Java
  • 一つにまとめたい

    最近JAVAプログラミングをやりはじめました。 netbeansで作成しています。 文章を入力し、ドラッグしてもらい格納ボタンを押すと下に表示されます。 ドラッグした文字でいいならOKボタンを押します。 押すと配列に格納されます。 表示を押すと配列の中身が見えます(これは少し適当な作りですが) 今の段階ではこれでうまくいきます。ですがどの配列に入れるか選択したい場合に困っています。 「配列2に格納」というボタンを作った場合、配列2に格納するようにするにはどうすればよいでしょうか? 今の段階では「配列に格納」というボタンは実際はドラッグした文字しか表示していませんが、本来は複数のボタンを配置してボタンにより動作を変えたいのです。ただ同じものを使いたいのです。わざわざ別のボタンやテキストエリアを作るのは無駄ですし。 ただ色々試してもエラーが出てしまい実行できずにいます。 ソースを載せておきます。お願いします。 package javaapplication5; public class sample11 extends javax.swing.JFrame { int i=0; String word1; String[] test = new String[10]; /** Creates new form sample11 */ public sample11() { initComponents(); } @SuppressWarnings("unchecked") private void initComponents() { word = new javax.swing.JTextField(); jButton1 = new javax.swing.JButton(); SelectWord = new javax.swing.JTextField(); Ok = new javax.swing.JButton(); jLabel1 = new javax.swing.JLabel(); Show = new javax.swing.JButton(); jScrollPane1 = new javax.swing.JScrollPane(); ShowResult = new javax.swing.JTextArea(); setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE); word.setText("文章を入力"); jButton1.setText("配列に格納"); jButton1.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { jButton1ActionPerformed(evt); } }); Ok.setText("OK"); Ok.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { OkActionPerformed(evt); } }); jLabel1.setText("で構いませんか?"); Show.setText("表示"); Show.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { ShowActionPerformed(evt); } }); ShowResult.setColumns(20); ShowResult.setRows(5); jScrollPane1.setViewportView(ShowResult); (文字数の都合でここにあったレイアウトに関する記述は削除しました) private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButton1ActionPerformed word1 = word.getSelectedText(); SelectWord.setText(word1); } private void OkActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_OkActionPerformed test[i] = SelectWord.getText(); ++i; }//GEN-LAST:event_OkActionPerformed private void ShowActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_ShowActionPerformed for(int j=0;j<i;j++){ ShowResult.setText(ShowResult.getText()+test[j]+"\n"); } } public static void main(String args[]) { java.awt.EventQueue.invokeLater(new Runnable() { public void run() { new sample11().setVisible(true); } }); } private javax.swing.JButton Ok; private javax.swing.JTextField SelectWord; private javax.swing.JButton Show; private javax.swing.JTextArea ShowResult; private javax.swing.JButton jButton1; private javax.swing.JLabel jLabel1; private javax.swing.JScrollPane jScrollPane1; private javax.swing.JTextField word; // End of variables declaration }

    • ベストアンサー
    • Java
  • 音ファイルの配置場所を変更したい

    イメージラベルをクリックしたらクリック音が鳴るように プログラムしたいです。下記のプログラムでクリック後 クリック音が鳴るようになったのですが音ファイル(sound.wav) の格納ディレクトリがスマートではないと考えています。 というのもクラスファイルが置いてある場所に音ファイルがあるからです。 ですから、この音ファイルをbeepというフォルダを作ってその中に sound.wavファイルを置きたいと考えています。 添付画像に表示されているようなディレクトリに音ファイルを配置したいのです。 ディレクトリをどうプログラムしてもファイルがありませんというエラーが 出てしまいます。 どうすれば、音ファイルのディレクトリを変更できるでしょうか。 教えて下さい。 package audio; import java.applet.Applet; import java.applet.AudioClip; import java.awt.BorderLayout; import java.awt.Cursor; import java.awt.event.MouseEvent; import java.awt.event.MouseListener; import java.net.URL; import javax.swing.ImageIcon; import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JPanel; public class ClickSound extends JFrame implements MouseListener{ AudioClip pong; public static void main(String[] args) { ClickSound frame = new ClickSound(); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.setBounds(100, 200, 350, 180); frame.setVisible(true); } public ClickSound() { JPanel panel = new JPanel(); panel.setCursor(new Cursor(Cursor.WAIT_CURSOR)); ImageIcon icon = new ImageIcon("./img/left.gif"); JLabel label = new JLabel(); Cursor c = new Cursor(Cursor.HAND_CURSOR); label.setCursor(c); label.setIcon(icon); panel.add(label); java.awt.Toolkit.getDefaultToolkit().beep(); URL soundUrl = getClass().getResource("./sound.wav"); pong = Applet.newAudioClip(soundUrl); label.addMouseListener(this); this.add(panel, BorderLayout.LINE_END); } public void mouseClicked(MouseEvent e) { // 効果音を鳴らす pong.play(); } public void mouseEntered(MouseEvent e) { } public void mouseExited(MouseEvent e) { } public void mousePressed(MouseEvent e) { } public void mouseReleased(MouseEvent e) { } }

    • ベストアンサー
    • Java
  • Netbeans6 swingでの画面切替について

    Netbeans6 swingでGUIアプリを作成しようとしています。 swingは初心者です。 簡単な画面切替ができず、理解に困っています。 画面構成 ・画面1 ・画面2 目的:画面1のボタンを押されると画面2を表示したい。 構成 ・MainFlame.java ⇒ フレームと画面1(パネルを定義) ・Panel01.java ⇒ 画面2(パネル) 今後、ログイン⇒メニュー⇒入力画面(複数)といった具合にしたいので、1画面1クラスで行いたいです。 こういった場合どうすれば画面がきりかわるのでしょうか? よろしくお願いします。 ボタンクリック時のイベント部分にはこう書いてますが動きません。 private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) { // TODO add your handling code here: remove(jPanel1); Panel01 panel = new Panel01(); add(panel); validate(); }

    • ベストアンサー
    • Java
  • Draw2Dでのイベント検知

    SWT + GEF(Draw2D) でGUIアプリケーションを作成しています。 FigureCanvasにPanelを張り、その上にFigure(例えばLabel)を追加し、マウスドラッグによるFigureの移動機能を追加しよう試行錯誤しています。 最初はLabelにMouseMotionListenerを登録してmouseDraggedを実装する方法をとっていたのですが、カーソルを早く動かしてLabelの外にカーソルが出てしまうと移動が止まってしまうという減少に陥りました。 そこで、LabelにMouseListenerを登録して移動するラベルを検知し、MouseMotionListenerをPanelに登録して検知したLabelのドラッグを実現させました。 ところが今度は、カーソルがLabel上にあるときにPanelに登録したリスナでイベントを検知できず、Labelの外にカーソルが移動してPanel領域に触れたときに初めてイベントを検知して移動ができるという現象に陥っています。(←つまり動きがカクカクする) SwingだとJPanel上にある部品の上にカーソルがある場合も、JPanelに登録したリスナでイベントを検知してくれるようなのですが、どう対処すればよいでしょうか。

    • ベストアンサー
    • Java
  • テキストフィールドの文字をテキストエリアに表示する

    エラーも例外もないです。 但し今回の内容の"テキストフィールドに打ち込みエンターキーを文字をテキストフィールドに表示" が満たしてないですとりあえずソース乗せます mport java.awt.BorderLayout; import java.awt.Container; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.JFrame; import javax.swing.JScrollPane; import javax.swing.JTextArea; import javax.swing.JTextField; public class MyMemo { public static void main(String[] args) { JFrame Frame = new JFrame("課題"); Frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); Frame.setSize(500, 500); Frame.setLocationRelativeTo(null); Container contentPane = Frame.getContentPane(); // テキストフィールドのインスタンスを生成 final JTextField text = new JTextField();// テキストエリアのインスタンスを生成 text.addActionListener(new MyActionListener()); Frame.setVisible(true); final JTextArea Area = new JTextArea(5,0); // スクロールペインにテキストエリアを追加 JScrollPane scrollPane = new JScrollPane(Area); // パネルをコンポーネントに配置 contentPane.add(text, BorderLayout.NORTH); contentPane.add(scrollPane, BorderLayout.CENTER); Frame.setVisible(true); } static class MyActionListener implements ActionListener { public void actionPerformed(ActionEvent e) { } } } どう文字をテキストエリアに表示したらいいのかわからなくて質問させていただきました。 よろしくお願いします。

    • ベストアンサー
    • Java

専門家に質問してみよう