2013年3月4日月曜日
JFrame パネルの色を変更
getContentPane#setColor(new Color(0xFFFFFF));
JPanel panel = new JPanel();
panel#setColor(new Color(0xFFFFFF));
2013年3月1日金曜日
2013年2月26日火曜日
どっかの大学の課題
課題を拾ってきて適当にやってみた。
こういうのって結構、教授とか調べてると思うんだけど。。。
http://oshiete.goo.ne.jp/qa/7965391.html
魚拓
http://megalodon.jp/2013-0226-1945-34/oshiete.goo.ne.jp/qa/7965391.html
切れててか題名がわからないけど、たぶん「3桁のクジ引きプログラム」かな?
こういうのって結構、教授とか調べてると思うんだけど。。。
http://oshiete.goo.ne.jp/qa/7965391.html
魚拓
http://megalodon.jp/2013-0226-1945-34/oshiete.goo.ne.jp/qa/7965391.html
切れててか題名がわからないけど、たぶん「3桁のクジ引きプログラム」かな?
import java.awt.BorderLayout;
import java.awt.FlowLayout;
import java.awt.Font;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.Random;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
//@author aki
//2013 - 02 - 26
//抽選アプリケーション
//仕様
//・「抽選」ボタンを出すたびに0~999までの間の数値をランダムで画面に出力する。
//・「3つの数値」「抽選」ボタンは画面中央へ「リセット」ボタンはなるべく端へ設置する。
public class Kadai001 extends JFrame {
private JLabel numLabel[];
private JButton cyusenB;
private JButton resetB;
private int[] numbox;
//constructor
public Kadai001() {
super("抽選");//親クラスのコンストラクタ
this.setDefaultCloseOperation(EXIT_ON_CLOSE);
setSize(300, 400);
//仕様内容から出題者の意図を理解したところ、
//Layoutの課題だと予測され、Layoutを多用したほうがいいと思われる。
setLayout(new BorderLayout());
JPanel content = (JPanel) getContentPane();
JPanel center = new JPanel(new FlowLayout());
content.add("Center", center);
JPanel south = new JPanel(new BorderLayout());
content.add("South", south);
//variable
Font font = new Font(Font.SANS_SERIF, Font.BOLD, 150);
numLabel = new JLabel[3];
for (int i = 0; i < 3; i++) {
numLabel[i] = new JLabel(Integer.toString(i));
numLabel[i].setFont(font);
center.add(numLabel[i]);
}
cyusenB = new JButton("抽選");
center.add("South", cyusenB);
resetB = new JButton("Reset");
south.add("West", resetB);
//listener
cyusenB.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent event) {
Random rnd = new Random();
for (int i = 0; i < 3; i++) {
makeNumBox(i);
numLabel[i].setText(Integer.toString(numbox[rnd.nextInt(100)]));
}
}
});
resetB.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent event) {
for (int i = 0; i < 3; i++)
numLabel[i].setText(Integer.toString(i + 1));
}
});
}
//遊び心
private void makeNumBox(int count) {
numbox = new int[100];
int num1 = -1, num2 = -1;
if (count == 1) {
num1 = Integer.parseInt(numLabel[0].getText());
} else if (count == 2) {
num1 = Integer.parseInt(numLabel[0].getText());
num2 = Integer.parseInt(numLabel[1].getText());
} else {
for (int i = 0; i < 100; i++) {
numbox[i] = i / 10;
}
return;
}
Random rnd = new Random();
//1回目,2回目に出た数字を出にくくする
for (int i = 0, num = 0; i < 100; i++) {
if (i / 10 == num1) {
if (i - (i / 10) * 10 == 0) {
num = i / 10;
} else {
num = rnd.nextInt(10);
}
} else if (i / 10 == num2) {
if (i - (i / 10) * 10 == 0) {
num = i / 10;
} else {
num = rnd.nextInt(10);
}
} else {
num = i / 10;
}
numbox[i] = num;
}
}
public static void main(String[] args) {
// TODO 自動生成されたメソッド・スタブ
new Kadai001().setVisible(true);
}
}
JavaでMP3を再生(2013/02/26修正)
http://akis-i.blogspot.jp/2012/09/javamp3.html
のソースコードの修正です。
以下修正内容
・変数名が気持ち悪い
・BufferedInputStreamをつかいシークを実装しようと思えばできるようにした。
問題点&いつか直す
・メソッドがきもい
・音量の調節ができない
・メモ帳でいじったからもしかしたらバグがあるかも・・・
・修正とかいっときながら雑
・変数の使い捨て前提
のソースコードの修正です。
以下修正内容
・変数名が気持ち悪い
・BufferedInputStreamをつかいシークを実装しようと思えばできるようにした。
問題点&いつか直す
・メソッドがきもい
・音量の調節ができない
・メモ帳でいじったからもしかしたらバグがあるかも・・・
・修正とかいっときながら雑
・変数の使い捨て前提
import java.io.BufferedInputStream;
import java.io.FileInputStream;
import java.net.URL;
import javazoom.jl.player.Player;
import frame.compornent.PlayerCompornent;
public class MP3Player extends Thread {
// variable
private Player player;
private BufferedInputStream stream;
private boolean run;
private long filesize;
public MP3Player() {
}
public void setFile(String file) {
try {
stream = new BufferedInputStream((new FileInputStream(file)));
player = new Player(stream);
} catch (Exception e) {
}
}
public void setFile(URL url) {
try {
filesize = url.openConnection().getContentLength();//ファイルサイズ取得
stream = new BufferedInputStream((url.openStream()));
player = new Player(stream);
} catch (Exception e) {
}
}
public void start() {
run = true;
super.start();
}
public void stopMusic() {
try {
if (player != null) {
player.close();
}
if (stream != null) {
stream.close();
}
} catch (Exception e) {
System.out.println("IOException");
} finally {
setStopper();
}
}
public void setStopper() {
player = null;
stream = null;
run = false;
}
public void run() {
if (stream == null || player == null || !run) {
stopMusic();
} else {
try {
player.play();
} catch (Exception e) {
System.out.println("JavaLayerException");
} finally {
stopMusic();
}
}
}
public boolean isRun() {
return run;
}
public BufferedInputStream getStream() {
return stream;
}
public long getFilesize() {
return filesize;
}
}
}
a
2013年2月18日月曜日
JTableにコンポーネントを乗せたい
参考になったサイト様
http://t2wonderland.blogspot.jp/2012/05/javaswing-jtablejprogressbar.html
以下、いつかJTableで何か書いたらソースを乗せます
ラベル:
Java
2013年2月8日金曜日
Eclipse Marketplace error
Eclipse Marketplaceで、
java.lang.reflect.InvocationTargetException
とでてしまった。
http://stackoverflow.com/questions/10562012/eclipse-marketplace-error
を見つけて気がついたのは、Eclipseにproxyを通しているかも知れないことだ。
案の定、ネットワークの設定を見たところ、proxyの設定があったのでオフにしておいた。
java.lang.reflect.InvocationTargetException
とでてしまった。
http://stackoverflow.com/questions/10562012/eclipse-marketplace-error
を見つけて気がついたのは、Eclipseにproxyを通しているかも知れないことだ。
案の定、ネットワークの設定を見たところ、proxyの設定があったのでオフにしておいた。
ラベル:
雑
2013年1月7日月曜日
ひゃあほおおおあおあおおさおあおおあ
JOSE RAMIREZ C650Pがきたああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああ
やうううでゃdぽふhwさfじゃうぇfすふ
せうてきあwせjrうぇふぁ
えふぁwgjmp;
やうううでゃdぽふhwさfじゃうぇfすふ
せうてきあwせjrうぇふぁ
えふぁwgjmp;
ラベル:
雑
登録:
投稿 (Atom)