改成

站在用戶的角度思考問題,與客戶深入溝通,找到華亭網站設計與華亭網站推廣的解決方案,憑借多年的經驗,讓設計與互聯網技術結合,創(chuàng)造個性化、用戶體驗好的作品,建站類型包括:成都網站建設、成都網站設計、企業(yè)官網、英文網站、手機端網站、網站推廣、域名申請、虛擬主機、企業(yè)郵箱。業(yè)務覆蓋華亭地區(qū)。
int onmask = e.BUTTON1_DOWN_MASK | e.BUTTON3_DOWN_MASK;
if ((e.getModifiersEx() onmask) == onmask) {
System.out.println("ok");
}
API文檔:
getModifiersEx
public int getModifiersEx()
返回此事件的擴展修飾符掩碼。擴展修飾符表示所有模式鍵的狀態(tài),例如 ALT、CTRL、META 和事件發(fā)生后那一刻的鼠標按鈕
例如,如果用戶在按下 button 1 后又按下 button 2,然后以相同的順序釋放這兩個按鈕,則會生成以下事件序列:
MOUSE_PRESSED: BUTTON1_DOWN_MASK
MOUSE_PRESSED: BUTTON1_DOWN_MASK | BUTTON2_DOWN_MASK
MOUSE_RELEASED: BUTTON2_DOWN_MASK
MOUSE_CLICKED: BUTTON2_DOWN_MASK
MOUSE_RELEASED:
MOUSE_CLICKED:
建議不使用 == 來比較此方法的返回值,因為在以后會增加新的修飾符。例如,檢查 SHIFT 和 BUTTON1 已經按下而 CTRL 未按下的正確方法可以通過以下代碼來演示:
int onmask = SHIFT_DOWN_MASK | BUTTON1_DOWN_MASK;
int offmask = CTRL_DOWN_MASK;
if (event.getModifiersEx() (onmask | offmask) == onmask) {
...
}
即使添加了新的修飾符,上述代碼仍然有效。
從以下版本開始:
1.4
能得到當前 JLabel 的 x, y 值計算出來。clickedLabel.getBounds() 或 mouseClickedEvent.getPoint() 。
理論上,所有格子都是相同的正方形,所以只需要知道第一個格子的 x,y 應該能知道任意一個 (row,col) 的格子的 x, y,而當我們知道擊中的格子的 x, y 時就應該能反過來計算出它是第幾行第幾列。這其中是單一映射關系。
for(int i=0;iTIME.length;i++)
{
FACE [i] = new ImageIcon("./img/di.gif");;//圖 時間
}
改:
for(int i=0;iTIME.length;i++)
{
TIME[i] = new ImageIcon("./img/di.gif");;//圖 時間
}
COPY的時候不認真吧。
樓主你好
(問題1)
lz說改變字體的大小有問題 ?這個應該不會這樣的 ? 改變字體(Font)是可以的
給lz一個例子:
import java.awt.*;
import javax.swing.*;
public class Test extends JFrame{
private JLabel[] num = new JLabel[100];
public Test(){
super("改變字體大小");
setLayout(new GridLayout(10,10));
for (int i = 0; i num.length; i++) {
num[i] = new JLabel("" + (i+1));
num[i].setFont(new Font("宋體", Font.PLAIN, 10));
//這里如果不設置字體大小? 那么數字100就不能顯示
getContentPane().add(num[i]);
}
setLocation(200,200);
setSize(200,200);
setVisible(true);
setResizable(false);
setDefaultCloseOperation(3);
}
public static void main (String[] args) {
new Test();
}
}? ?
(問題2)
你使用的應該是GridLayout這個布局管理器吧
那么在使用了java自帶的布局管理器后 ?大多數都是不能修改這個布局管理器下的組件的大小和位置
如果你非要自己定義組件的大小 ?那么就只能不使用布局管理器了(setLayout(null))
在不使用布局管理器的情況下可以自由設置組件的大小的位置 ?但是這樣很麻煩
希望能幫助你哈
int BombNum, BlockNum; // 當前雷數,當前方塊數
int rightBomb, restBomb, restBlock; // 找到的地雷數,剩余雷數,剩余方塊數
JButton start = new JButton(" 開始 ");
JPanel MenuPamel = new JPanel(); //新建一個區(qū)域,看名字是放菜單.但是打錯字了.
JPanel bombPanel = new JPanel();//新建一個區(qū)域,雷區(qū),由于雷是按鈕,這里面應該都是按鈕(JButton).
Bomb[][] bombButton; 2維組數,放地雷.
class Bomb extends JButton {
int num_x, num_y; // 第幾號方塊
int BombRoundCount; // 周圍雷數
boolean isBomb; // 是否為雷
boolean isClicked; // 是否被點擊
int BombFlag; // 探雷標記
boolean isRight; // 是否點擊右鍵
public Bomb(int x, int y) {
num_x = x; //雷的位置 x,不解釋
num_y = y; //雷的位置 y,不解釋.獲得是參數的值,所new Bomb的時候傳入雷的位置,套嵌2個for循環(huán).
BombFlag = 0; //是不是被插旗了
BombRoundCount = 9; //環(huán)繞數
isBomb = false; //是雷
isClicked = false; //被點
isRight = false; //是真的.( 以上都很好理解,直譯^_^)
}
}
/* 計算方塊周圍雷數 */
public void CountRoundBomb() {
for (int i = 0; i (int) Math.sqrt(BlockNum); i++) { //開方 障礙數
for (int j = 0; j (int) Math.sqrt(BlockNum); j++) { //同上,我判斷,設計的雷區(qū)是正方形,
//這里是找完所有的坐標.
int count = 0;
// 當需要檢測的單元格本身無地雷的情況下,統(tǒng)計周圍的地雷個數
if (bombButton[i][j].isBomb != true) { //如果不是雷
for (int x = i - 1; x i + 2; x++) { //從左邊1個,到右邊1個,一共3個
for (int y = j - 1; y j + 2; y++) { //我不知道,java y坐標是上還是下,總之
//鄰近的上中下.(這里會多找一個自己)
if ( (x = 0) (y = 0)
(x ( (int) Math.sqrt(BlockNum)))
(y ( (int) Math.sqrt(BlockNum)))) { //因邊前面 x=i-1,所以排除超出邊界
//的情況
if (bombButton[x][y].isBomb == true) { //如果是雷;
count++; //加一個
}
}
}
}
bombButton[i][j].BombRoundCount = count; //設置該Bomb環(huán)繞數的值
}
}
}
}
總之就是,建個一個Bomb類. 別外有一個方法統(tǒng)計那些不是雷的地方,的周圍有幾顆雷,到時候點開,顯示出來.
當前題目:java掃雷代碼問題分析,Java掃雷畢業(yè)論文
網站路徑:http://chinadenli.net/article0/hcppoo.html
成都網站建設公司_創(chuàng)新互聯,為您提供定制網站、網站維護、網站收錄、網站設計公司、小程序開發(fā)、ChatGPT
聲明:本網站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯