package exercise;
import java.awt.*;
import javax.swing.*;public class LottoMadness extends JFrame{ /**
*
*/
private static final long serialVersionUID = 1L; /**
* @param args
*/
//set up row 1
JPanel row1 = new JPanel();
ButtonGroup options = new ButtonGroup();
JCheckBox quickpick = new JCheckBox("Quick Pick",false);
JCheckBox personal = new JCheckBox("Personal",true);
//set up row 2
JPanel row2 = new JPanel();
JLabel Lrow2 = new JLabel("Your picks: ",JLabel.RIGHT);//右对齐
JTextField[] numbers = new JTextField[6];
JLabel Lrow2_2 = new JLabel("Winners: ",JLabel.RIGHT);
JTextField[] winners = new JTextField[6];
//set up row 3
JPanel row3 = new JPanel();
JButton stop = new JButton("Stop");
JButton play = new JButton("Play");
JButton reset = new JButton("Reset");
//set up row 4
JPanel row4 = new JPanel();
JLabel Lgot3 = new JLabel("3 of 6: ",JLabel.RIGHT);
JLabel Lgot4 = new JLabel("4 of 6: ",JLabel.RIGHT);
JLabel Lgot5 = new JLabel("5 of 6: ",JLabel.RIGHT);
JLabel Lgot6 = new JLabel("6 of 6: ",JLabel.RIGHT);
JLabel Ldrawing = new JLabel("Drawings: ",JLabel.RIGHT);
JLabel Lyears = new JLabel("Years: ",JLabel.RIGHT);
JTextField Tgot3 = new JTextField("0");
JTextField Tgot4 = new JTextField("0");
JTextField Tgot5 = new JTextField("0");
JTextField Tgot6 = new JTextField("0");
JTextField Tdrawing = new JTextField("0");
JTextField Tyears = new JTextField("0");
//constructors
public LottoMadness(){
super("LottoMadness");
setSize(550,270);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
GridLayout wholeLayout = new GridLayout(5,1,10,10);// 5 rows and 1 column horizonal and vertical gaps are both 10
setLayout(wholeLayout); //Line 56
FlowLayout layout1 = new FlowLayout(FlowLayout.CENTER,10,10);
row1.setLayout(layout1);
options.add(quickpick);
options.add(personal);
row1.add(quickpick);
row1.add(personal);
add(row1);
GridLayout layout2 = new GridLayout(2,7,10,10);
row2.setLayout(layout2);
row2.add(Lrow2);
row2.add(Lrow2_2);
for(int i=0;i<numbers.length;i++){
numbers[i] = new JTextField();
row2.add(numbers[i]);
}
for (int i=0;i<winners.length;i++){
winners[i] = new JTextField();
row2.add(winners[i]);
}
add(row2);
FlowLayout layout3 = new FlowLayout(FlowLayout.CENTER,10,10);
row3.setLayout(layout3);
row3.add(stop);
row3.add(play);
row3.add(reset);
stop.setEnabled(false);
add(row3);
GridLayout layout4 = new GridLayout(2,3,20,10);
row4.setLayout(layout4);
row4.add(Lgot3);
row4.add(Lgot4);
row4.add(Lgot5);
row4.add(Lgot6);
row4.add(Ldrawing);
row4.add(Lyears);
row4.add(Tgot3);
Tgot3.setEditable(false);
row4.add(Tgot4);
Tgot4.setEditable(false);
row4.add(Tgot5);
Tgot5.setEditable(false);
row4.add(Tgot6);
Tgot6.setEditable(false);
row4.add(Tdrawing);
Tdrawing.setEditable(false);
row4.add(Tyears);
Tyears.setEditable(false);
add(row4);
setVisible(true);
}
public static void main(String[] args) {
// TODO Auto-generated method stub,
LottoMadness lotto = new LottoMadness();//Line 115
}}错误描述
java.lang.Error: Do not use exercise.LottoMadness.setLayout() use exercise.LottoMadness.getContentPane().setLayout() instead
at javax.swing.JFrame.createRootPaneException(Unknown Source)
at javax.swing.JFrame.setLayout(Unknown Source)
at exercise.LottoMadness.<init>(LottoMadness.java:56)
at exercise.LottoMadness.main(LottoMadness.java:115)
import java.awt.*;
import javax.swing.*;public class LottoMadness extends JFrame{ /**
*
*/
private static final long serialVersionUID = 1L; /**
* @param args
*/
//set up row 1
JPanel row1 = new JPanel();
ButtonGroup options = new ButtonGroup();
JCheckBox quickpick = new JCheckBox("Quick Pick",false);
JCheckBox personal = new JCheckBox("Personal",true);
//set up row 2
JPanel row2 = new JPanel();
JLabel Lrow2 = new JLabel("Your picks: ",JLabel.RIGHT);//右对齐
JTextField[] numbers = new JTextField[6];
JLabel Lrow2_2 = new JLabel("Winners: ",JLabel.RIGHT);
JTextField[] winners = new JTextField[6];
//set up row 3
JPanel row3 = new JPanel();
JButton stop = new JButton("Stop");
JButton play = new JButton("Play");
JButton reset = new JButton("Reset");
//set up row 4
JPanel row4 = new JPanel();
JLabel Lgot3 = new JLabel("3 of 6: ",JLabel.RIGHT);
JLabel Lgot4 = new JLabel("4 of 6: ",JLabel.RIGHT);
JLabel Lgot5 = new JLabel("5 of 6: ",JLabel.RIGHT);
JLabel Lgot6 = new JLabel("6 of 6: ",JLabel.RIGHT);
JLabel Ldrawing = new JLabel("Drawings: ",JLabel.RIGHT);
JLabel Lyears = new JLabel("Years: ",JLabel.RIGHT);
JTextField Tgot3 = new JTextField("0");
JTextField Tgot4 = new JTextField("0");
JTextField Tgot5 = new JTextField("0");
JTextField Tgot6 = new JTextField("0");
JTextField Tdrawing = new JTextField("0");
JTextField Tyears = new JTextField("0");
//constructors
public LottoMadness(){
super("LottoMadness");
setSize(550,270);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
GridLayout wholeLayout = new GridLayout(5,1,10,10);// 5 rows and 1 column horizonal and vertical gaps are both 10
setLayout(wholeLayout); //Line 56
FlowLayout layout1 = new FlowLayout(FlowLayout.CENTER,10,10);
row1.setLayout(layout1);
options.add(quickpick);
options.add(personal);
row1.add(quickpick);
row1.add(personal);
add(row1);
GridLayout layout2 = new GridLayout(2,7,10,10);
row2.setLayout(layout2);
row2.add(Lrow2);
row2.add(Lrow2_2);
for(int i=0;i<numbers.length;i++){
numbers[i] = new JTextField();
row2.add(numbers[i]);
}
for (int i=0;i<winners.length;i++){
winners[i] = new JTextField();
row2.add(winners[i]);
}
add(row2);
FlowLayout layout3 = new FlowLayout(FlowLayout.CENTER,10,10);
row3.setLayout(layout3);
row3.add(stop);
row3.add(play);
row3.add(reset);
stop.setEnabled(false);
add(row3);
GridLayout layout4 = new GridLayout(2,3,20,10);
row4.setLayout(layout4);
row4.add(Lgot3);
row4.add(Lgot4);
row4.add(Lgot5);
row4.add(Lgot6);
row4.add(Ldrawing);
row4.add(Lyears);
row4.add(Tgot3);
Tgot3.setEditable(false);
row4.add(Tgot4);
Tgot4.setEditable(false);
row4.add(Tgot5);
Tgot5.setEditable(false);
row4.add(Tgot6);
Tgot6.setEditable(false);
row4.add(Tdrawing);
Tdrawing.setEditable(false);
row4.add(Tyears);
Tyears.setEditable(false);
add(row4);
setVisible(true);
}
public static void main(String[] args) {
// TODO Auto-generated method stub,
LottoMadness lotto = new LottoMadness();//Line 115
}}错误描述
java.lang.Error: Do not use exercise.LottoMadness.setLayout() use exercise.LottoMadness.getContentPane().setLayout() instead
at javax.swing.JFrame.createRootPaneException(Unknown Source)
at javax.swing.JFrame.setLayout(Unknown Source)
at exercise.LottoMadness.<init>(LottoMadness.java:56)
at exercise.LottoMadness.main(LottoMadness.java:115)
import javax.swing.*;public class LottoMadness extends JFrame { /**
*
*/
private static final long serialVersionUID = 1L; /**
* @param args
*/
// set up row 1
JPanel row1 = new JPanel();
ButtonGroup options = new ButtonGroup();
JCheckBox quickpick = new JCheckBox("Quick Pick", false);
JCheckBox personal = new JCheckBox("Personal", true); // set up row 2
JPanel row2 = new JPanel();
JLabel Lrow2 = new JLabel("Your picks: ", JLabel.RIGHT);// 右对齐
JTextField[] numbers = new JTextField[6];
JLabel Lrow2_2 = new JLabel("Winners: ", JLabel.RIGHT);
JTextField[] winners = new JTextField[6]; // set up row 3
JPanel row3 = new JPanel();
JButton stop = new JButton("Stop");
JButton play = new JButton("Play");
JButton reset = new JButton("Reset"); // set up row 4
JPanel row4 = new JPanel();
JLabel Lgot3 = new JLabel("3 of 6: ", JLabel.RIGHT);
JLabel Lgot4 = new JLabel("4 of 6: ", JLabel.RIGHT);
JLabel Lgot5 = new JLabel("5 of 6: ", JLabel.RIGHT);
JLabel Lgot6 = new JLabel("6 of 6: ", JLabel.RIGHT);
JLabel Ldrawing = new JLabel("Drawings: ", JLabel.RIGHT);
JLabel Lyears = new JLabel("Years: ", JLabel.RIGHT);
JTextField Tgot3 = new JTextField("0");
JTextField Tgot4 = new JTextField("0");
JTextField Tgot5 = new JTextField("0");
JTextField Tgot6 = new JTextField("0");
JTextField Tdrawing = new JTextField("0");
JTextField Tyears = new JTextField("0"); // constructors
public LottoMadness() {
super("LottoMadness");
setSize(550, 270);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
GridLayout wholeLayout = new GridLayout(5, 1, 10, 10);// 5 rows and 1
// column
// horizonal and
// vertical gaps
// are both 10
//setLayout(wholeLayout); // Line 56
getContentPane().setLayout(wholeLayout);
FlowLayout layout1 = new FlowLayout(FlowLayout.CENTER, 10, 10);
row1.setLayout(layout1);
options.add(quickpick);
options.add(personal);
row1.add(quickpick);
row1.add(personal);
add(row1); GridLayout layout2 = new GridLayout(2, 7, 10, 10);
row2.setLayout(layout2);
row2.add(Lrow2);
row2.add(Lrow2_2);
for (int i = 0; i < numbers.length; i++) {
numbers[i] = new JTextField();
row2.add(numbers[i]);
}
for (int i = 0; i < winners.length; i++) {
winners[i] = new JTextField();
row2.add(winners[i]);
}
add(row2); FlowLayout layout3 = new FlowLayout(FlowLayout.CENTER, 10, 10);
row3.setLayout(layout3);
row3.add(stop);
row3.add(play);
row3.add(reset);
stop.setEnabled(false);
add(row3); GridLayout layout4 = new GridLayout(2, 3, 20, 10);
row4.setLayout(layout4);
row4.add(Lgot3);
row4.add(Lgot4);
row4.add(Lgot5);
row4.add(Lgot6);
row4.add(Ldrawing);
row4.add(Lyears); row4.add(Tgot3);
Tgot3.setEditable(false);
row4.add(Tgot4);
Tgot4.setEditable(false);
row4.add(Tgot5);
Tgot5.setEditable(false);
row4.add(Tgot6);
Tgot6.setEditable(false);
row4.add(Tdrawing);
Tdrawing.setEditable(false);
row4.add(Tyears);
Tyears.setEditable(false);
add(row4);
setVisible(true); } public static void main(String[] args) {
// TODO Auto-generated method stub,
LottoMadness lotto = new LottoMadness();// Line 115 }}
import javax.swing.*;
public class LottoMadness extends JFrame{ private static final long serialVersionUID = 1L; /**
* @param args
*/
//set up row 1
JPanel row1 = new JPanel();
ButtonGroup options = new ButtonGroup();
JCheckBox quickpick = new JCheckBox("Quick Pick",false);
JCheckBox personal = new JCheckBox("Personal",true);
//set up row 2
JPanel row2 = new JPanel();
JLabel Lrow2 = new JLabel("Your picks: ",JLabel.RIGHT);//右对齐
JTextField[] numbers = new JTextField[6];
JLabel Lrow2_2 = new JLabel("Winners: ",JLabel.RIGHT);
JTextField[] winners = new JTextField[6];
//set up row 3
JPanel row3 = new JPanel();
JButton stop = new JButton("Stop");
JButton play = new JButton("Play");
JButton reset = new JButton("Reset");
//set up row 4
JPanel row4 = new JPanel();
JLabel Lgot3 = new JLabel("3 of 6: ",JLabel.RIGHT);
JLabel Lgot4 = new JLabel("4 of 6: ",JLabel.RIGHT);
JLabel Lgot5 = new JLabel("5 of 6: ",JLabel.RIGHT);
JLabel Lgot6 = new JLabel("6 of 6: ",JLabel.RIGHT);
JLabel Ldrawing = new JLabel("Drawings: ",JLabel.RIGHT);
JLabel Lyears = new JLabel("Years: ",JLabel.RIGHT);
JTextField Tgot3 = new JTextField("0");
JTextField Tgot4 = new JTextField("0");
JTextField Tgot5 = new JTextField("0");
JTextField Tgot6 = new JTextField("0");
JTextField Tdrawing = new JTextField("0");
JTextField Tyears = new JTextField("0");
//constructors
public LottoMadness(){
super("LottoMadness");
setSize(550,270);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
GridLayout wholeLayout = new GridLayout(5,1,10,10);// 5 rows and 1 column horizonal and vertical gaps are both 10
//setLayout(wholeLayout);
getContentPane().setLayout(wholeLayout);
FlowLayout layout1 = new FlowLayout(FlowLayout.CENTER,10,10);
row1.setLayout(layout1);
options.add(quickpick);
options.add(personal);
row1.add(quickpick);
row1.add(personal);
// add(row1);
getContentPane().add(row1);
GridLayout layout2 = new GridLayout(2,7,10,10);
row2.setLayout(layout2);
row2.add(Lrow2);
row2.add(Lrow2_2);
for(int i=0;i<numbers.length;i++){
numbers[i] = new JTextField();
row2.add(numbers[i]);
}
for (int i=0;i<winners.length;i++){
winners[i] = new JTextField();
row2.add(winners[i]);
}
// add(row2);
getContentPane().add(row2);
FlowLayout layout3 = new FlowLayout(FlowLayout.CENTER,10,10);
row3.setLayout(layout3);
row3.add(stop);
row3.add(play);
row3.add(reset);
stop.setEnabled(false);
//add(row3);
getContentPane().add(row3);GridLayout layout4 = new GridLayout(2,3,20,10);
row4.setLayout(layout4);
row4.add(Lgot3);
row4.add(Lgot4);
row4.add(Lgot5);
row4.add(Lgot6);
row4.add(Ldrawing);
row4.add(Lyears);
row4.add(Tgot3);
Tgot3.setEditable(false);
row4.add(Tgot4);
Tgot4.setEditable(false);
row4.add(Tgot5);
Tgot5.setEditable(false);
row4.add(Tgot6);
Tgot6.setEditable(false);
row4.add(Tdrawing);
Tdrawing.setEditable(false);
row4.add(Tyears);
Tyears.setEditable(false);
//add(row4);
getContentPane().add(row4);
setVisible(true);
}
public static void main(String[] args) {
// TODO Auto-generated method stub,
LottoMadness lotto = new LottoMadness(); }
}不知道这是不是与编译器的版本有关?我用的是eclipse3.3.1