Build UI method for the Twenty Questions game on SSaurel's Channel
private void buildUI() { | |
// we build the UI | |
JFrame frame = new JFrame("Twenty Questions on SSaurel"); | |
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); | |
Container contentPane = frame.getContentPane(); | |
// add buttons | |
JPanel buttonsPanel = new JPanel(); | |
yesButton = new JButton("Yes"); | |
yesButton.addActionListener(btnsListener); | |
buttonsPanel.add(yesButton, BorderLayout.LINE_START); | |
restartButton = new JButton("Start"); | |
restartButton.addActionListener(btnsListener); | |
buttonsPanel.add(restartButton, BorderLayout.LINE_START); | |
noButton = new JButton("No"); | |
noButton.addActionListener(btnsListener); | |
buttonsPanel.add(noButton, BorderLayout.LINE_END); | |
contentPane.add(buttonsPanel, BorderLayout.PAGE_END); | |
// add text area | |
textPane = new JTextPane(); | |
textPane.setEditable(false); | |
updateText("Think to an animal, then click on Start"); | |
// we define some style for the text pane | |
SimpleAttributeSet bSet = new SimpleAttributeSet(); | |
StyleConstants.setAlignment(bSet, StyleConstants.ALIGN_CENTER); | |
StyleConstants.setFontSize(bSet, 22); | |
StyledDocument doc = textPane.getStyledDocument(); | |
doc.setParagraphAttributes(0, doc.getLength(), bSet, false); | |
contentPane.add(textPane, BorderLayout.CENTER); | |
frame.setMinimumSize(new Dimension(500, 250)); | |
// we center the JFrame | |
Dimension objDimension = Toolkit.getDefaultToolkit().getScreenSize(); | |
int coordX = (objDimension.width - frame.getWidth()) / 2; | |
int coordY = (objDimension.height - frame.getHeight()) / 2; | |
frame.setLocation(coordX, coordY); | |
// we display the window | |
frame.pack(); | |
frame.setVisible(true); | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment