private void construct() { setTitle("JPokemon (ver 0.1)"); setIconImage(Tools.findImage("main-icon")); setSize(720, 457); // WIDTH, HEIGHT setUndecorated(true); setDefaultCloseOperation(DISPOSE_ON_CLOSE); // Using JLayeredPane so my buttons can sit on the picture p = new JLayeredPane(); ImageIcon bg; // Add Splash if (pref.getBoolean("beat", false)) bg = new ImageIcon(Tools.findImage("splashalt")); else bg = new ImageIcon(Tools.findImage("splash")); s.setIcon(bg); s.setBounds(10, 10, 700, 437); p.add(s, new Integer(-1)); // Load Button LoadButton l = new LoadButton(this); l.setBounds(550, 100, 110, 30); // 10px border on all sides p.add(l, new Integer(0)); // New Game Button NewButton n = new NewButton(this); n.setBounds(550, 60, 110, 30); p.add(n, new Integer(0)); // Exit Game Button QuitButton q = new QuitButton(this); q.setBounds(550, 140, 110, 30); p.add(q, new Integer(0)); // OPTIONAL: Reset Splash logon if (pref.getBoolean("beat", false)) { r = new ResetButton(); r.setBounds(550, 180, 110, 30); p.add(r, new Integer(0)); } add(p); setLocationRelativeTo(null); }
@Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); requestWindowFeature(Window.FEATURE_NO_TITLE); getWindow() .setFlags( WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN); getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON); vibe = (Vibrator) getSystemService(Context.VIBRATOR_SERVICE); prefs = PreferenceManager.getDefaultSharedPreferences(this); config = new ClockConfig( Long.parseLong(prefs.getString(PLAYER_1_INITIAL, INITIAL_DEFAULT)), Long.parseLong(prefs.getString(PLAYER_2_INITIAL, INITIAL_DEFAULT)), Long.parseLong(prefs.getString(INCREMENT, INCREMENT_DEFAULT))); clock = new Clock(config); try { themeId = Integer.parseInt(prefs.getString(COLOR_THEME, Integer.toString(R.style.Bramblecriste))); } catch (NumberFormatException e) { themeId = R.style.Bramblecriste; } setTheme(themeId); vibrateOnPress = prefs.getBoolean(VIBRATE_ON_PRESS, false); if (savedInstanceState != null) { clock.setPlayer1Remaining(savedInstanceState.getLong(PLAYER_1_REMAINING)); clock.setPlayer2Remaining(savedInstanceState.getLong(PLAYER_2_REMAINING)); } setContentView(R.layout.activity_timer); player1Button = (Button) findViewById(R.id.playerabutton); player2Button = (Button) findViewById(R.id.playerbbutton); pauseButton = (ResetButton) findViewById(R.id.pausebutton); player1Button.setText(formatTime(clock.getPlayer1Remaining())); player2Button.setText(formatTime(clock.getPlayer2Remaining())); final TypedValue playerActiveColor = new TypedValue(); getTheme().resolveAttribute(R.attr.player_active_color, playerActiveColor, true); final TypedValue playerDefaultColor = new TypedValue(); getTheme().resolveAttribute(R.attr.player_default_color, playerDefaultColor, true); final TypedValue resetColor = new TypedValue(); getTheme().resolveAttribute(R.attr.reset_color, resetColor, true); pauseButton.setResetColor(resetColor.data); player1Button.setOnTouchListener( new View.OnTouchListener() { @Override public boolean onTouch(View v, MotionEvent e) { if (e.getAction() == MotionEvent.ACTION_DOWN) { handler.removeCallbacks(updateTimeDisplayTask); handler.postDelayed(updateTimeDisplayTask, 20); pauseButton.clear(); if (vibrateOnPress) vibe.vibrate(50); clock.startPlayer2(); player2Button.setEnabled(true); player2Button.setBackgroundColor(playerActiveColor.data); player1Button.setEnabled(false); player1Button.setBackgroundColor(playerDefaultColor.data); } return true; } }); player2Button.setOnTouchListener( new View.OnTouchListener() { @Override public boolean onTouch(View v, MotionEvent e) { if (e.getAction() == MotionEvent.ACTION_DOWN) { handler.removeCallbacks(updateTimeDisplayTask); handler.postDelayed(updateTimeDisplayTask, 20); pauseButton.clear(); if (vibrateOnPress) vibe.vibrate(50); clock.startPlayer1(); player2Button.setEnabled(false); player2Button.setBackgroundColor(playerDefaultColor.data); player1Button.setEnabled(true); player1Button.setBackgroundColor(playerActiveColor.data); } return true; } }); pauseButton.setOnTouchListener( new View.OnTouchListener() { private Handler holdTimer = new Handler(); private Runnable launchMenu = new Runnable() { @Override public void run() { Timer.this.openOptionsMenu(); pauseButton.clear(); } }; @Override public boolean onTouch(View v, MotionEvent e) { if (e.getAction() == MotionEvent.ACTION_DOWN) { handler.removeCallbacks(updateTimeDisplayTask); if (vibrateOnPress) vibe.vibrate(50); clock.pause(); player2Button.setEnabled(true); player2Button.setBackgroundColor(playerDefaultColor.data); player1Button.setEnabled(true); player1Button.setBackgroundColor(playerDefaultColor.data); if (pauseButton.increment()) { clock.reset(); } holdTimer.postDelayed(launchMenu, 1500); } else if (e.getAction() == MotionEvent.ACTION_UP) { holdTimer.removeCallbacks(launchMenu); } updateTimeDisplay(); return true; } }); handler = new Handler(); }
// constructor public TicTacToe() { super("tic-tac-toe"); JPanel all = new JPanel(new BorderLayout()); JPanel main = new JPanel(new GridLayout(3, 3)); JPanel top = new JPanel(); JPanel bottom = new JPanel(); // make choice 1 player as default choice1 = new JRadioButton("1P", true); top.add(choice1); choice2 = new JRadioButton("2P", false); top.add(choice2); // grouping radio button choiceGroup = new ButtonGroup(); choiceGroup.add(choice1); choiceGroup.add(choice2); // create handler for choice radio button ChoiceRBHandler choiceHandler = new ChoiceRBHandler(); choice1.addItemListener(choiceHandler); choice2.addItemListener(choiceHandler); // reset handler for reset button ResetButtonHandler resetHandler = new ResetButtonHandler(); resetButton.addActionListener(resetHandler); top.add(resetButton); // create handler for main button MainButtonHandler mainHandler = new MainButtonHandler(); button1.addActionListener(mainHandler); main.add(button1); button2.addActionListener(mainHandler); main.add(button2); button3.addActionListener(mainHandler); main.add(button3); button4.addActionListener(mainHandler); main.add(button4); button5.addActionListener(mainHandler); main.add(button5); button6.addActionListener(mainHandler); main.add(button6); button7.addActionListener(mainHandler); main.add(button7); button8.addActionListener(mainHandler); main.add(button8); button9.addActionListener(mainHandler); main.add(button9); // create initial and add navigate text fontPlay = new Font("Serif", Font.PLAIN, 20); fontDone = new Font("Serif", Font.BOLD, 20); navigateText = new JLabel(" YOU VS AI "); navigateText.setFont(fontPlay); bottom.add(navigateText); all.add(top, BorderLayout.NORTH); all.add(main, BorderLayout.CENTER); all.add(bottom, BorderLayout.SOUTH); getContentPane().add(all); pack(); }