• ベストアンサー

Javaでタイマーの使い方

Javaでタイマーの使い方作り方がわかりません import javax.swing.Timerこれつかいます。 package Test1; import javax.swing.Timer; public class Test1 { Timer TM = new Timer(10, null); public static void main(String[] args) { } } よろしくお願いします。

  • Java
  • 回答数1
  • ありがとう数2

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

  • ベストアンサー
  • hatimiti
  • ベストアンサー率68% (26/38)
回答No.1

こんな感じですかね? Timer timer = new Timer(1000, new ActionListener() {   @Override   public void actionPerformed(ActionEvent paramActionEvent) {     // ここに1秒後に実行する処理     System.out.println("Hello, World");   } }); timer.setRepeats(false); // 1回だけ実行する場合 timer.start(); これは swing 用(swingパッケージ内)ですが java.util.Timer でも代用できそうですね。 Timer timer = new java.util.Timer(); timer.schedule(new TimerTask() {   private int c = 0;   @Override   public void run() {     // ここに1秒後に実行する処理     System.out.println("Hello, World");     if (++c == 5) {       // 5回実行したら停止       this.cancel();     }   } }, 0, 1000); // 0ミリ秒後に、1秒ずつ処理

DCPICuF
質問者

お礼

ありがとうございます。 こんな感じです。 応用がまだ出来ないのですが コピー&ペーストでうまくいきました。

関連するQ&A

  • あれ?

    すいません。 長い間、 疑問に思ってたことがあるんですけれども、 (1) import javax.swing.*; class Sample {  public static void main (String args[])  {   ........   Aメソッド()  } } (2) import javax.swing.*; class Sample extends aiueo {   public static void main (String args[])  {   ........   Aメソッド()  } } (3) class Sample extends aiueo {  public static void main (String args[])  {    ........   Aメソッド()  } } の違いが、 考えれば考えるほどわからなくなってきました。 パッケージと継承の関係について、 どうやら理解できていないみたいです。 どなたか分かりやすく教えてください。 よろしくお願いします。 (注) Aメソッドはaiueoクラスのメソッドとし、 aiueoクラスはjavax.swingパッケージに入っているものとします。

    • ベストアンサー
    • Java
  • javaのタイマープログラムの時間について

    下記のjavaのプログラムは、タイマー動作の確認プログラムです。 タイマーの起動時間を1msにし、1000回タイマーを起動しており トータルのタイマー時間は1秒と考えましたが、実際のタイマー時間は 20秒くらいかかります。 この件に関しまして、コメント頂けますと大変助かります。 import java.awt.BorderLayout; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JPanel; import javax.swing.Timer; public class TimerTest1 extends JFrame implements ActionListener{ Timer timer; JLabel label; int sec; public static void main(String[] args){ TimerTest1 frame = new TimerTest1(); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.setBounds(10, 10, 300, 200); frame.setTitle("タイトル"); frame.setVisible(true); } TimerTest1(){ sec = 0; label = new JLabel(); JPanel labelPanel = new JPanel(); labelPanel.add(label); timer = new Timer(1, this); getContentPane().add(labelPanel, BorderLayout.CENTER); timer.start(); } public void actionPerformed(ActionEvent e){ label.setText(sec + " sec"); if (sec >= 1000){ timer.stop(); label.setText(" timer_stop"); }else{ sec++; } } } 以上、宜しくお願いします。

    • ベストアンサー
    • Java
  • javaのpackageのMainとは?

    古い本の初心者プログラムでは、 class Hello{ public static void main(String[] args){ System.out.println("Hello!"); } } だけなんですが、統合環境の Intellij IDEAですと、 package com.company; public class Main { public static void main(String[] args) { // write your code here } } となっていて、mainメソッドを含むクラスのMainを含むpackageが必要になっています。どうしてクラスMainは他のpackageで宣言されてないとならないのですか?

    • ベストアンサー
    • Java
  • javaの画像の表示のプログラムとmouselistenerのプログラ

    javaの画像の表示のプログラムとmouselistenerのプログラム(それぞれ↓にあります)をひとつに合わせたいのですがどうすればいいでしょうか? import java.awt.event.*; import javax.swing.*; class MyPanel extends JPanel implements MouseListener{ public MyPanel() { addMouseListener(this); } public void mouseClicked(MouseEvent e) { int x=e.getX(); int y=e.getY(); System.out.println("マウスがクリックされました (" + e.getX() + ", " + e.getY() + ")"); if((x<100&&x>40)&&(y<100&&y>40)){ System.out.println("範囲内"); }else{ System.out.println("aaa"); } } public void mouseEntered(MouseEvent e) { } public void mouseExited(MouseEvent e) { } public void mousePressed(MouseEvent e) { } public void mouseReleased(MouseEvent e) { } } public class MouseEventExample extends JFrame { public static void main(String[] args) { new MouseEventExample(); } MouseEventExample() { setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); getContentPane().add(new MyPanel()); setSize(300, 200); setVisible(true); } } ======↑のプログラムと↓のプログラムを合わせたいのです package novel; import java.awt.*; import java.awt.geom.*; import java.awt.event.*; import javax.swing.*; import java.awt.image.BufferedImage; import java.io.File; import javax.imageio.ImageIO; import java.io.IOException; public class Java2dTest extends JFrame{ public static void main(String[] args){ Java2dTest test = new Java2dTest(); test.addWindowListener(new WindowAdapter(){ public void windowClosing(WindowEvent e){System.exit(0);} }); test.setBounds( 0, 0, 200, 200); test.setVisible(true); } public void paint(Graphics g){ Graphics2D g2 = (Graphics2D)g; BufferedImage readImage = null; try { readImage = ImageIO.read(new File("sample.png")); } catch (Exception e) { e.printStackTrace(); readImage = null; } if (readImage != null){ g2.drawImage(readImage, 0, 0, this); } } }

  • Javaについて教えてください!

    sampleパッケージに属するMain.javaとSub.javaがあり、Main.javaのmainはSub.javaのsubメソッドを呼び出して「OK」と表示させるプログラムを教えてください! //Main.java package sample; public class Main{ public static void main(String[] args){ Sub.sub(); }} //Sub.java package sample; public class Sub{ static String str = "OK"; public static void sub(){ System.out.println(str); }} String型の変数strはクラス変数で行いたいのですが、どこを改善すれば良いでしょうか?

    • ベストアンサー
    • Java
  • javaでアニメーションを簡単に作るには?

    5枚の絵をループでアニメーションさせたいのですが。フレームを表示させるところまでは出来たのですが、その先がよく分かりません。どのようにしてアニメーションすればいいのでしょうか? よろしくお願い致します。 package animation; import java.awt.*; import javax.swing.*; public class Animation extends JFrame implements Runnable{ Animation () { getContentPane ().setLayout (new FlowLayout ()); setDefaultCloseOperation (JFrame.EXIT_ON_CLOSE); setSize (200, 300); setVisible (true); Thread th = new Thread (); th.start (); } public void start(){ } public void run(){ } /** * @param args the command line arguments */ public static void main (String[] args) { // TODO code application logic here Animation anime = new Animation (); } }

  • Javaのプログラミング手伝ってください

    以下のソースコードを応用して、添付画像のような数字のかかれた画像を3つ並べてそれを回して7を揃えるというゲームを作りたいのですが全く進みません。どなたか完成させてくださいm(__)m使用する画像のファイル名は「slot1.jpeg」~「slot7.jpeg」です。 import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.ImageIcon; import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JPanel; import javax.swing.Timer; public class OneSlot extends JFrame implements ActionListener { private static final long serialVersionUID = 1L; final int MAX = 7; Timer timer = new Timer(150 , this); JLabel label= new JLabel("スタートで始まるよ",JLabel.CENTER); JButton[] bt = {new JButton("スタート"),new JButton("ストップ")}; JLabel slot= new JLabel(new ImageIcon("Slot1.jpg"),JLabel.CENTER); ImageIcon[] slot_icon = new ImageIcon[MAX]; int iCount = 0; OneSlot(String title) { super(title); timer.setActionCommand("timer"); setBounds(200, 200, 230, 150); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); for(int i = 0;i < slot_icon.length; i++) slot_icon[i] = new ImageIcon("Slot" + (i+1) + ".jpg"); add("North",label); add("Center",slot); JPanel p = new JPanel(); for (int i = 0; i < bt.length;i++) { bt[i].addActionListener(this); p.add(bt[i]); } add("South",p); setVisible(true); } public static void main(String[] args) { new OneSlot("スロットマシン"); } public void actionPerformed(ActionEvent e) { String cmd = e.getActionCommand(); if(cmd.equals("timer")) { if(++iCount == slot_icon.length) iCount = 0; slot.setIcon(slot_icon[iCount]); } if(e.getSource() == bt[0] && !timer.isRunning()) { label.setText("7が当たりだよ"); timer.start(); } else if(e.getSource() == bt[1] && timer.isRunning()) { if(iCount+1 == MAX) label.setText("やった!!おめでとう"); else label.setText("残念でした"); timer.stop(); } } }

  • javaのフレームにサイズがセットされてない?

    前回、http://okwave.jp/qa/q8069621.htmlで質問しました。 回答をもとにframe.setvisible(true)をコンストラクタの最後にするとうまくいき回答を締め切ったんですが・・・。 しかし、mainメソッドにframe.setvisible(true)を書くとフレームのタイトル部分だけとなり、 サイズがセットされないまま実行したときと同じようになってしまいます。 なぜでしょう?よろしくお願いします。 import java.awt.BorderLayout; import java.awt.Container; import java.awt.Dimension; import javax.swing.JFrame; import javax.swing.JPanel; import javax.swing.JScrollPane; import javax.swing.JTable; import javax.swing.table.DefaultTableModel; public class Table0{ public static void main(String[] args) { Frame0 test=new Frame0(); test.setVisible(true); } } class Frame0 extends JFrame{ JFrame frame; JPanel panel; JScrollPane jsp; JTable table; DefaultTableModel dtm; public Frame0(){ frame=new JFrame("table"); frame.setBounds(30, 30, 300, 200); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); table=new JTable(8,5); jsp=new JScrollPane(table); jsp.setPreferredSize(new Dimension(250, 70)); panel=new JPanel(); panel.add(jsp); Container c=frame.getContentPane(); c.add(panel,BorderLayout.CENTER); } }

    • ベストアンサー
    • Java
  • javaの質問です 合ってるかをお願いします

    間違ってる場合は何が正解かを教えてください。 よろしくお願いします 1 変数strには何が入っているか test 2 dataとstrの関係 わからないです。 public class Example5 { public static void main( String[] args ) { String data = "test."; hyouji( data ); } static void hyouji( String str ) { System.out.println( str ); } }

    • ベストアンサー
    • Java
  • JAVA NetBeans タイマーでのラベル

    MacでNetBeans7.3.1を使ってる初心者です。 タイマーにチャレンジしてるのですが、 出力にはちゃんと表示できてるようですが、 ラベルに表示できなく、エラーがでます。 たぶんラベルの使い方がおかしいんだと思いますがどうすればよいか分かりません。 ご教授よろしくお願い致します。 下記URLはスクリーンショットです。 http://mokkori0710.web.fc2.com/netbeans.jpg public static void main(String args[]) { new NewJFrame().setVisible(true); JLabel jLabel1 = new JLabel(); Timer timer01 = new Timer();//タイマーを作成 timer01.scheduleAtFixedRate(new TimerTask() { int i=0; String str; public void run() { i+=1; str=Integer.toString(i); //jLabel1.setText(str); System.out.println(str); } }, 0, 1000);//時間の間隔 1000=1秒 }

    • ベストアンサー
    • Java

専門家に質問してみよう