設(shè)置居中:

成都創(chuàng)新互聯(lián)專注于龍游網(wǎng)站建設(shè)服務(wù)及定制,我們擁有豐富的企業(yè)做網(wǎng)站經(jīng)驗。 熱誠為您提供龍游營銷型網(wǎng)站建設(shè),龍游網(wǎng)站制作、龍游網(wǎng)頁設(shè)計、龍游網(wǎng)站官網(wǎng)定制、小程序制作服務(wù),打造龍游網(wǎng)絡(luò)公司原創(chuàng)品牌,更為您提供龍游網(wǎng)站排名全網(wǎng)營銷落地服務(wù)。
在你的Frame類構(gòu)造函數(shù)中setLocationRelativeTo(null);
104、105行代碼:
ExaminationResult是你自己的一個類吧,如果我沒猜錯一個是個Frame。
105行的show()不用太在意,已經(jīng)過時了。
現(xiàn)在用setVisible(true);
你的“學(xué)生管理”窗口那個Frame里是不是
setDefaultCloseOption(EXIT_ON_CLOSE);?
因為是EXIT,所以整個程序都會退出。
改為
setDefaultCloseOption(DISPOSE_ON_CLOSE);
就只會關(guān)閉窗口。
窗口字體是啥意思?窗口標題的字體是系統(tǒng)字體。
其他文字是組件的字體,有對應(yīng)的setFont()方法。
比如
JButton btn = new JButton();
btn.setFont(new Font(/*參數(shù)*/));
具體參數(shù)查查文檔吧,學(xué)Java就是要多查文檔。
//這個是構(gòu)造方法
public MyFrame(){
setSize(200, 300);
setTitle("JLabel Demo");
//下面的代碼就是控制窗口居中顯示的代碼
Toolkit tk = Toolkit.getDefaultToolkit();
setLocation((tk.getScreenSize().height - this.HEIGHT)/2,
(tk.getScreenSize().width - this.WIDTH)/2);
//主代碼。。
setVisible(true);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
JPanel 放入到BorderLayout.CENTER , 那么會自動填充滿整個contentPane的中間, 而JPanel內(nèi)部還是流式布局, 一行排滿 自動換到下一行,從上到下. 所以按鈕還是在最上面.
(把JPanel的背景色改成藍色,就可以清晰的看到JPanel填滿了窗口)
解決辦法:
方法一: [絕對布局],通過設(shè)置panel 為絕對布局,然后設(shè)置按鈕的寬高和位置
參考代碼
import?javax.swing.*;
public?class?JFDemo1?extends?JFrame{
public?JFDemo1()?{
JPanel?panel=new?JPanel();
panel.setLayout(null);//設(shè)置為空布局.或者叫絕對布局
JButton?messageButton?=?new?JButton("OK");
JButton?closeButton?=?new?JButton("Cancel");
panel.add(messageButton);
panel.add(closeButton);
//粗略的指定下位置,如果要精確的位置,需要進行計算
closeButton.setSize(80,?30);//?指定寬高
closeButton.setLocation(160,?75);//指定位置
messageButton.setBounds(80,?75,?60,30);//?同時指定寬高和位置
add(panel);//默認位置就是BorderLayout.CENTER
setTitle("Demo");//?標題
setSize(320,?230);//?窗口大小
setLocationRelativeTo(null);//?窗口居中
setDefaultCloseOperation(EXIT_ON_CLOSE);//?窗口點擊關(guān)閉時,退出程序
}
public?static?void?main(String[]?args)?{
new?JFDemo1().setVisible(true);
}
}
方法二:[盒布局]
import?javax.swing.*;
public?class?JFDemo2?extends?JFrame{
public?JFDemo2()?{
JPanel?pane=new?JPanel();
BoxLayout?layout=new?BoxLayout(pane,?BoxLayout.X_AXIS);//?水平的盒布局
pane.setLayout(layout);
JButton?messageButton?=?new?JButton("OK");
JButton?closeButton?=?new?JButton("Cancel");
pane.add(Box.createGlue());?//?擠占ok按鈕和窗口左側(cè)空間
pane.add(messageButton);
pane.add(Box.createHorizontalStrut(20));//?按鈕之間的水平距離
pane.add(closeButton);
pane.add(Box.createGlue());?//?擠占cancel按鈕和窗口右側(cè)空間
add(pane);
setTitle("Demo");//?標題
setSize(320,?230);//?窗口大小
setLocationRelativeTo(null);//?窗口居中
setDefaultCloseOperation(EXIT_ON_CLOSE);//?窗口點擊關(guān)閉時,退出程序
}
public?static?void?main(String[]?args)?{
new?JFDemo2().setVisible(true);
}
}
總結(jié): 推薦使用方法二,使用盒布局來實現(xiàn).
一般不推薦使用絕對布局/空布局 來布局窗口, 因為不同的操作系統(tǒng)下顯示的效果不完全一致.
并且還需要寫大量的代碼來計算組件的大小和位置, 當窗口放大和縮小時 還需要重新計算位置
文章題目:java按鈕居中代碼 js按鈕居中
轉(zhuǎn)載注明:http://www.chinadenli.net/article0/doogooo.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供外貿(mào)建站、標簽優(yōu)化、網(wǎng)站改版、外貿(mào)網(wǎng)站建設(shè)、小程序開發(fā)、手機網(wǎng)站建設(shè)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)