-2
我是一名Java初學者,我需要製作一個可擲骰子的程序。我怎樣才能添加一個文本框,在那裏我可以填寫用Java Netbeans顯示(並滾動)的骰子數量?如何製作更多骰子?
這是我的代碼推出3個骰子:
public class ToetsJan extends JFrame {
public static void main(String args[]){
JFrame frame = new ToetsJan();
frame.setSize(600,400);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setTitle("Dobbelsteen toets");
frame.setContentPane(new TekenPaneel());
frame.setVisible(true);
}
}
class TekenPaneel extends JPanel {
private Dobbelsteen steen1, steen2, steen3;
private JButton werpKnop;
//constructor
public TekenPaneel() {
setLayout(null);
steen1=new Dobbelsteen(1);
steen2=new Dobbelsteen(3);
steen3=new Dobbelsteen(5);
werpKnop = new JButton();
werpKnop.setText("Gooi!");
werpKnop.setBounds(50,150,70,25);
werpKnop.addActionListener(new WerpKnopHandler());
add (werpKnop);
}
public void paintComponent(Graphics g){
super.paintComponent(g);
steen1.tekenStenen(g);
steen1.tekenOgen(g);
steen2.tekenStenen(g);
steen2.tekenOgen(g);
steen3.tekenStenen(g);
steen3.tekenOgen(g);
}
class WerpKnopHandler implements ActionListener {
public void actionPerformed(ActionEvent e) {
steen1.gooi();
repaint();
}
}
}
public class Dobbelsteen{
private int x, y;
public Dobbelsteen(int x){
this.x = x;
y = 50*x;
}
public void tekenStenen(Graphics g){
// Teken de dobbelsteen
g.setColor(Color.BLACK);
g.fillRoundRect((y), 55, 60, 60, 25, 25);
g.setColor(Color.WHITE);
g.drawRoundRect((y), 55, 60, 60, 25, 25);
}
public void tekenOgen(Graphics g){
int getal = gooi();
if (getal == 1) {
g.fillOval((y+25), 80, 8, 8);
}
else if (getal == 2) {
g.fillOval((y+5), 60, 8, 8);
g.fillOval((y+45), 100, 8, 8);
}
else if (getal == 3){
g.fillOval((y+25), 80, 8, 8);
g.fillOval((y+5), 60, 8, 8);
g.fillOval((y+45), 100, 8, 8);
}
else if (getal == 4){
g.fillOval((y+5), 60, 8, 8);
g.fillOval((y+45), 100, 8, 8);
g.fillOval((y+5), 100, 8, 8);
g.fillOval((y+45), 60, 8, 8);
}
else if (getal == 5){
g.fillOval((y+25), 80, 8, 8);
g.fillOval((y+5), 60, 8, 8);
g.fillOval((y+45), 100, 8, 8);
g.fillOval((y+5), 100, 8, 8);
g.fillOval((y+45), 60, 8, 8);
}
else if (getal == 6){
g.fillOval((y+5), 60, 8, 8);
g.fillOval((y+45), 100, 8, 8);
g.fillOval((y+5), 100, 8, 8);
g.fillOval((y+45), 60, 8, 8);
g.fillOval((y+5), 80, 8, 8);
g.fillOval((y+45), 80, 8, 8);
}
}
public int gooi() {
return (int) (6 * Math.random() + 1);
}
}
無我有JAVA一個新手 – Koessien