Java study day three -- simple demo GUI
code:
import javax.swing.*;
import java.awt.*;
public class DemoComplication extends JFrame {
// part 1
JPanel row1 = new JPanel();
ButtonGroup option = new ButtonGroup();
JCheckBox quickpick = new JCheckBox("Quick pick", false);
JCheckBox personal = new JCheckBox("Personal", true);
// part 2
JPanel row2 = new JPanel();
JLabel numbersLabel = new JLabel("Your picks: ", JLabel.RIGHT);
JTextField[] numbers = new JTextField[6];
JLabel winnersLabel = new JLabel("Winners: ", JLabel.RIGHT);
JTextField[] winners = new JTextField[6];
// part 3
JPanel row3 = new JPanel();
JButton stop = new JButton("Stop");
JButton play = new JButton("Play");
JButton reset = new JButton("Reset");
// part 4
JPanel row4 = new JPanel();
JLabel got3Label = new JLabel("3 of 6: ", JLabel.RIGHT);
JTextField got3 = new JTextField("0");
JLabel got4Label = new JLabel("4 of 6: ", JLabel.RIGHT);
JTextField got4 = new JTextField("0");
JLabel got5Label = new JLabel("5 of 6: ", JLabel.RIGHT);
JTextField got5 = new JTextField("0");
JLabel got6Label = new JLabel("6 of 6: ", JLabel.RIGHT);
JTextField got6 = new JTextField("0");
JLabel drawingsLabel = new JLabel("Drawing: ", JLabel.RIGHT);
JTextField drawings = new JTextField();
JLabel yearsLabel = new JLabel("Years", JLabel.RIGHT);
JTextField years = new JTextField();
// function
public DemoComplication(){
super();
setTitle("DemoComplication");
setSize(550, 400);
setLookAndFeel();
uISetInit();
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setVisible(true);
}
private void uISetInit(){
GridLayout layout = new GridLayout(5, 1, 10, 10);
setLayout(layout);
// part 1
FlowLayout layout1 = new FlowLayout(FlowLayout.CENTER, 10, 10);
row1.setLayout(layout1);
option.add(quickpick);
option.add(personal);
row1.add(quickpick);
row1.add(personal);
add(row1);
// part 2
GridLayout layout2 = new GridLayout(2, 7, 10, 10);
row2.setLayout(layout2);
row2.add(numbersLabel);
for (int i = 0; i < 6; i++) {
numbers[i] = new JTextField();
row2.add(numbers[i]);
}
row2.add(winnersLabel);
for (int i = 0; i < 6; i++) {
winners[i] = new JTextField();
row2.add(winners[i]);
}
add(row2);
// part 3
FlowLayout layout3 = new FlowLayout(FlowLayout.CENTER, 10, 10);
row3.setLayout(layout3);
stop.setEnabled(false);
row3.add(stop);
row3.add(play);
row3.add(reset);
add(row3);
// part 4
GridLayout layout4 = new GridLayout(2, 3, 10, 10);
row4.setLayout(layout4);
row4.add(got3Label);
got3.setEditable(false);
row4.add(got3);
row4.add(got4Label);
got4.setEditable(false);
row4.add(got4);
row4.add(got5Label);
got5.setEditable(false);
row4.add(got5);
row4.add(got6Label);
got6.setEditable(false);
row4.add(got6);
row4.add(drawingsLabel);
drawings.setEditable(false);
row4.add(drawings);
row4.add(yearsLabel);
years.setEditable(false);
row4.add(years);
add(row4);
}
private void setLookAndFeel(){
try{
UIManager.setLookAndFeel(
"com.sun.java.swing.plaf.nimbus.NimbusLookAndFeel"
);
}catch (Exception exc){
// ignore
}
}
public static void main(String[] args) {
DemoComplication demo = new DemoComplication();
}
}
result: