java 按钮 字体_java – 增加JButton中的字体大小

这是一个关于如何在Java编程中增大ConnectFour游戏的JButton字体的问题。作者希望在不熟悉编程的情况下,使游戏按钮上的字体在游戏过程中更加醒目,通过双倍字体大小实现。代码中展示了游戏的基本布局和逻辑,但没有涉及字体修改的部分。
摘要由CSDN通过智能技术生成

我无法完成学期项目的最终工作.我正在开发Connect Four游戏,我想增加JButton内部的字体大小.我对编程比较陌生,但我还没有使用任何字体.我只想将按钮内部的字体加倍,以使其在游戏过程中更加醒目.有人可以帮助我,还是指出我找到解决方案的方向?谢谢!我的代码如下.

import java.awt.*;

import java.awt.event.*;

import javax.swing.*;

public class Connect implements ActionListener {

private JFrame window = new JFrame("Connect Four by Steven and Anthony");

private JPanel myPanel = new JPanel();

private JPanel myPanelB = new JPanel();

private JButton[][] myButtons = new JButton[6][7];

private JButton[] buttons = new JButton[7];

private boolean win = false;

private int count = 5;

private int count2 = 5;

private int count3 = 5;

private int count4 = 5;

private int count5 = 5;

private int count6 = 5;

private int count7 = 5;

private int countA = 0;

private String letter = "";

public boolean checkHorizontalWin(String letter) {

for (int y = 0; y < myButtons.length; y++) {

for (int x = 0; x < myButtons[y].length - 3; x++) {

if (myButtons[y][x].getText().equals(letter)

&& myButtons[y][x + 1].getText().equals(letter)

&& myButtons[y][x + 2].getText().equals(letter)

&& myButtons[y][x + 3].getText().equals(letter)

) {

return true;

}

}

}

return false;

}

public boolean checkVerticalWin(String letter) {

for (int y = 0; y < myButtons.length - 3; y++) {

for (int x = 0; x < myButtons[y].length; x++) {

if (myButtons[y][x].getText().equals(letter)

&& myButtons[y + 1][x].getText().equals(letter)

&& myButtons[y + 2][x].getText().equals(letter)

&& myButtons[y + 3][x].getText().equals(letter)

) {

return true;

}

}

}

return false;

}

public boolean checkDiagonalToTheLeftWin(String letter) {

for (int y = 0; y < myButtons.length - 3; y++) {

for (int x = 0; x < myButtons[y].length - 3; x++) {

if (myButtons[y][x].getText().equals(letter)

&& myButtons[y + 1][x + 1].getText().equals(letter)

&& myButtons[y + 2][x + 2].getText().equals(letter)

&& myButtons[y + 3][x + 3].getText().equals(letter)

) {

return true;

}

}

}

return false;

}

public boolean checkDiagonalToTheRightWin(String letter) {

for (int y = 0; y < myButtons.length - 3; y++) {

for (int x = 3; x < myButtons[y].length; x++) {

if (myButtons[y][x].getText().equals(letter)

&& myButtons[y + 1][x - 1].getText().equals(letter)

&& myButtons[y + 2][x - 2].getText().equals(letter)

&& myButtons[y + 3][x - 3].getText().equals(letter)

) {

return true;

}

}

}

return false;

}

public Connect(){

window.setSize(800,700);

window.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

myPanel.setLayout(new GridLayout(1,7));

myPanelB.setLayout(new GridLayout(6,7));

for (int i = 0; i < buttons.length; i ++){

buttons[i] = new JButton();

myPanel.add(buttons[i]);

buttons[i].addActionListener(this);

}

for (int i = 0; i < 6; i ++){

for (int j = 0; j < 7; j ++){

myButtons[i][j] = new JButton();

myPanelB.add(myButtons[i][j]);

}

}

window.add(myPanel, BorderLayout.NORTH);

window.add(myPanelB, BorderLayout.CENTER);

window.setVisible(true);

}

public void actionPerformed(ActionEvent e){

countA++;

if (countA % 2 == 0)

letter = "X";

else

letter = "O";

if (e.getSource() == buttons[0]){

myButtons[count][0].setText(letter);

count --;

}

if (e.getSource() == buttons[1]){

myButtons[count2][1].setText(letter);

count2 --;

}

if (e.getSource() == buttons[2]){

myButtons[count3][2].setText(letter);

count3--;

}

if (e.getSource() == buttons[3]){

myButtons[count4][3].setText(letter);

count4--;

}

if (e.getSource() == buttons[4]){

myButtons[count5][4].setText(letter);

count5--;

}

if (e.getSource() == buttons[5]){

myButtons[count6][5].setText(letter);

count6--;

}

if (e.getSource() == buttons[6]){

myButtons[count7][6].setText(letter);

count7--;

}

if (myButtons[0][0].getText().equals("O") || myButtons[0][0].getText().equals("X")){

buttons[0].setEnabled(false);

}

if (myButtons[0][1].getText().equals("O") || myButtons[0][1].getText().equals("X")){

buttons[1].setEnabled(false);

}

if (myButtons[0][2].getText().equals("O") || myButtons[0][2].getText().equals("X")){

buttons[2].setEnabled(false);

}

if (myButtons[0][3].getText().equals("O") || myButtons[0][3].getText().equals("X")){

buttons[3].setEnabled(false);

}

if (myButtons[0][4].getText().equals("O") || myButtons[0][4].getText().equals("X")){

buttons[4].setEnabled(false);

}

if (myButtons[0][5].getText().equals("O") || myButtons[0][5].getText().equals("X")){

buttons[5].setEnabled(false);

}

if (myButtons[0][6].getText().equals("O") || myButtons[0][6].getText().equals("X")){

buttons[6].setEnabled(false);

}

if (checkHorizontalWin(letter)

|| checkVerticalWin(letter)

|| checkDiagonalToTheLeftWin(letter)

|| checkDiagonalToTheRightWin(letter)

) {

win = true;

if (win == true) {

JOptionPane.showMessageDialog(null, letter + " has won!");

System.exit(0);

}

}

}

/**

*

* @param args

*/

public static void main(String[] args){

new Connect();

}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值