導航:首頁 > 編程語言 > 用java設計一個字體界面

用java設計一個字體界面

發布時間:2023-02-16 11:08:10

1. 用java語言設計一個界面,

  1. 首先:採用什麼技術實現

java語言可以使用awt 和swing等技術實現圖形界面

推薦使用Swing,因為Swing比AWT更專業,更漂亮,組件更豐富,功能更強大。


2. 其次:分析採用什麼布局

邊界布局BorderLayout,配合表格布局GridLayout,既簡單又美觀


3. 最後:分析需求中需要用的組件

學生姓名 學號 顯示信息 需要用到文本框JTextField

單選按鈕 需要用到組件JRadioButton

復選框 需要用到組件JCheckBox

組合框 需要用到組件JComboBox


圖片效果

//導入所需要的包
importjava.awt.event.*;
importjavax.swing.border.*;
importjavax.swing.*;
importjava.awt.*;
{//寫一個類繼承自JFrame窗體
//定義組件
=1L;
privateJPanelcontentPane;
privateJTextFieldtfName,tfNum,allInfo;
privateJRadioButtonrb1,rb2;
privateJCheckBoxcb1,cb2,cb3;
privateJComboBox<String>t1,t2,t3;
publicstaticvoidmain(String[]args){
EventQueue.invokeLater(newRunnable(){
publicvoidrun(){
try{
ClassFrameframe=newClassFrame();//創建一個窗口實例
frame.setVisible(true);//讓該窗口實例可見
}catch(Exceptione){
e.printStackTrace();
}
}
});
}
/**
*窗口屬性的設置,內部組件的初始化
*/
publicClassFrame(){
setTitle("選課ing...");//標題
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//設置關閉是退出JVM
setSize(450,339);//設置窗體大小
setLocationRelativeTo(null);//窗體居中
contentPane=newJPanel();//內容面板
contentPane.setBorder(newEmptyBorder(5,5,5,5));
contentPane.setLayout(newBorderLayout(0,0));//設置布局
setContentPane(contentPane);
JPanelpanel=newJPanel(newGridLayout(5,1,5,10));//5行1列的表格布局
panel.setBorder(newTitledBorder(null,"",TitledBorder.LEADING,TitledBorder.TOP,null,null));
contentPane.add(panel,BorderLayout.CENTER);//給panel添加邊框
JPanelpanel_1=newJPanel();
panel.add(panel_1);
JLabellabel=newJLabel("姓名");
panel_1.add(label);
tfName=newJTextField();
panel_1.add(tfName);
tfName.setColumns(10);
JLabellabel_2=newJLabel("學號");
panel_1.add(label_2);
tfNum=newJTextField();
tfNum.setColumns(10);
panel_1.add(tfNum);
rb1=newJRadioButton("男");
panel_1.add(rb1);
rb1.setSelected(true);//設置單選按鈕中,默認選擇的按鈕
rb2=newJRadioButton("女");
panel_1.add(rb2);
ButtonGroupbts=newButtonGroup();//單選按鈕需要加入同一個ButonGroup中才能生效
bts.add(rb1);
bts.add(rb2);
JPanelpanel_2=newJPanel();
panel.add(panel_2);
cb1=newJCheckBox("高等數學");
panel_2.add(cb1);
t1=newJComboBox<String>();
t1.setModel(newDefaultComboBoxModel<String>(newString[]{"林老師","趙老師","孫老師"}));
panel_2.add(t1);
JPanelpanel_3=newJPanel();
panel.add(panel_3);
cb2=newJCheckBox("世界經濟");
panel_3.add(cb2);
t2=newJComboBox<String>();
t2.setModel(newDefaultComboBoxModel<String>(newString[]{"張老師","劉老師"}));
panel_3.add(t2);
JPanelpanel_4=newJPanel();
panel.add(panel_4);
cb3=newJCheckBox("音樂賞析");
panel_4.add(cb3);
t3=newJComboBox<String>();
t3.setModel(newDefaultComboBoxModel<String>(newString[]{"王老師","周老師"}));
panel_4.add(t3);
JPanelpanel_5=newJPanel();
panel.add(panel_5);
JButtonjbOk=newJButton("確定");
panel_5.add(jbOk);
JButtonjbRest=newJButton("重填");
panel_5.add(jbRest);
JPanelpanelSouth=newJPanel();
contentPane.add(panelSouth,BorderLayout.SOUTH);
JLabellabe=newJLabel("選課信息");
labe.setHorizontalAlignment(SwingConstants.LEFT);
panelSouth.add(labe);
allInfo=newJTextField();
allInfo.setColumns(30);
panelSouth.add(allInfo);
JPanelpanelNorth=newJPanel();
contentPane.add(panelNorth,BorderLayout.NORTH);
JLabellabelTitle=newJLabel("學生選課界面");
labelTitle.setForeground(Color.DARK_GRAY);
labelTitle.setFont(newFont("宋體",Font.BOLD,20));
panelNorth.add(labelTitle);

//給確定按鈕添加事件處理代碼
jbOk.addActionListener(newActionListener(){
publicvoidactionPerformed(ActionEvente){
StringBuilderinfo=newStringBuilder();
Stringname=tfName.getText();
Stringnum=tfNum.getText();
Stringsex;
if(rb1.isSelected()){
sex="男";
}else{
sex="女";
}
info.append(name+num+sex);
if(cb1.isSelected()){
Stringc=cb1.getText();
Stringt=t1.getSelectedItem().toString();
info.append(""+c+t);
}
if(cb2.isSelected()){
Stringc=cb2.getText();
Stringt=t2.getSelectedItem().toString();
info.append(""+c+t);

}
if(cb3.isSelected()){
Stringc=cb3.getText();
Stringt=t3.getSelectedItem().toString();
info.append(""+c+t);
}
allInfo.setText(info.toString());//把學生信息和選課信息放到文本框
}
});
//給重填按鈕設置事件處理代碼
jbRest.addActionListener(newActionListener(){
publicvoidactionPerformed(ActionEvente){
tfName.setText("");
tfNum.setText("");
rb1.setSelected(true);
cb1.setSelected(false);
t1.setSelectedIndex(0);
cb2.setSelected(false);
t2.setSelectedIndex(0);
cb3.setSelected(false);
t3.setSelectedIndex(0);
allInfo.setText("");
}
});
}
}

2. java怎麼做到改變一個窗口內的字體

整好,前兩天看了一篇博文,講的就是swing界面的統一,大家互相學習。代碼參考如下

/**
*統一設置字體,父界面設置之後,所有由父界面進入的子界面都不需要再次設置字體
*感謝下博文的作者chenxuejiakaren
*/
(Fontfont){
FontUIResourcefontRes=newFontUIResource(font);
for(Enumeration<Object>keys=UIManager.getDefaults().keys();
keys.hasMoreElements();){
Objectkey=keys.nextElement();
Objectvalue=UIManager.get(key);
if(valueinstanceofFontUIResource){
UIManager.put(key,fontRes);
}
}

在main方法中,初始化窗口時,加入下面這句:

InitGlobalFont(new Font("alias", Font.PLAIN, 12)); //統一設置字體就可以了。

注意:InitGlobalFont 這個方法的調用時在swing界面的入口界面里。

3. 編寫一個java程序,實現一個圖形用戶界面。在該界面上有一個靜態文本框,裡面有一段文字

importjava.awt.Color;
importjava.awt.GridLayout;
importjava.awt.event.ActionEvent;
importjava.awt.event.ActionListener;
importjava.io.Serializable;
importjavax.swing.JButton;
importjavax.swing.JFrame;
importjavax.swing.JPanel;
importjavax.swing.JTextField;
,ActionListener{
=99L;
privateJTextFieldjt;
privateJButtonjb1,jb2;
privateJPaneljp;
Test(){
this.setTitle("顏色測試");
this.setBounds(300,300,300,200);
this.setResizable(false);
this.setLayout(newGridLayout(2,1));
init();
this.setDefaultCloseOperation(EXIT_ON_CLOSE);
this.setVisible(true);
}
privatevoidinit(){
jt=newJTextField("這里是..測試文字");
jt.setHorizontalAlignment(JTextField.CENTER);
jb1=newJButton("紅色");
jb2=newJButton("綠色");
jb1.addActionListener(this);
jb2.addActionListener(this);
jp=newJPanel();
jp.add(jb1);
jp.add(jb2);
this.add(jt);
this.add(jp);
}
publicvoidactionPerformed(ActionEvente){
Stringstr=e.getActionCommand();
if("紅色".equals(str)){
jt.setForeground(Color.RED);
}else{
jt.setForeground(Color.GREEN);
}
}
publicstaticvoidmain(String[]args){
newTest();
}
}

4. 怎麼用java寫一個界面怎麼用java寫一個界面

新建一個窗口,然後實現一個關閉按鈕」窗口的功能
import java.awt.*;
import java.awt.event.*;

public class TestWindowEvent {
public static void main (String[] args) {
new Frame88 ("WindowAdapter");
}
}
class Frame88 extends Frame {
Frame88 (String s) {
super(s);
setBounds (300,300,200,70);
setLayout (null);
setVisible (true);
addWindowListener (new WindowAdapter() {
public void windowClosing(WindowEvent e) {
setVisible (false);
System.exit(0);
}
} );
}
}

5. 如何使Java程序的界面字體美觀

在你的main方法第一句加上如下語句試試看。
這個功能是把程序界面設置成與當前操作系統界面效果
try {
UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
} catch (Exception e) {
e.printStackTrace();
}

6. 用java設計一個簡單的界面設計,越簡單越好,謝謝

用java設計一個簡單的界面可以參考如下實例:

importjavax.swing.JFrame;//框架
importjavax.swing.JPanel;//面板
importjavax.swing.JButton;//按鈕
importjavax.swing.JLabel;//標簽
importjavax.swing.JTextField;//文本框
importjava.awt.Font;//字體
importjava.awt.Color;//顏色
importjavax.swing.JPasswordField;//密碼
importjava.awt.event.ActionListener;//事件監聽
importjava.awt.event.ActionEvent;//事件處理
importjavax.swing.JOptionPane;//消息窗口{
publicJPanelpnluser;
publicJLabellbluserLogIn;
publicJLabellbluserName;
publicJLabellbluserPWD;
publicJTextFieldtxtName;
publicJPasswordFieldpwdPwd;
publicJButtonbtnSub;
publicJButtonbtnReset;
publicUserLogIn(){
pnluser=newJPanel();
lbluserLogIn=newJLabel();
lbluserName=newJLabel();
lbluserPWD=newJLabel();
txtName=newJTextField();
pwdPwd=newJPasswordField();
btnSub=newJButton();
btnReset=newJButton();
userInit();
}
publicvoiserInit(){
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//設置關閉框架的同時結束程序
this.setSize(300,200);//設置框架大小為長300,寬200
this.setResizable(false);//設置框架不可以改變大小
this.setTitle("用戶登錄");//設置框架標題
this.pnluser.setLayout(null);//設置面板布局管理
this.pnluser.setBackground(Color.cyan);//設置面板背景顏色
this.lbluserLogIn.setText("用戶登錄");//設置標簽標題
this.lbluserLogIn.setFont(newFont("宋體",Font.BOLD|Font.ITALIC,14));//設置標簽字體
this.lbluserLogIn.setForeground(Color.RED);//設置標簽字體顏色
this.lbluserName.setText("用戶名:");
this.lbluserPWD.setText("密碼:");
this.btnSub.setText("登錄");
this.btnReset.setText("重置");
this.lbluserLogIn.setBounds(120,15,60,20);//設置標簽x坐標120,y坐標15,長60,寬20
this.lbluserName.setBounds(50,55,60,20);
this.lbluserPWD.setBounds(50,85,60,25);
this.txtName.setBounds(110,55,120,20);
this.pwdPwd.setBounds(110,85,120,20);
this.btnSub.setBounds(85,120,60,20);
this.btnSub.addActionListener(newActionListener()//匿名類實現ActionListener介面
{
publicvoidactionPerformed(ActionEvente){
btnsub_ActionEvent(e);
}
}
);
this.btnReset.setBounds(155,120,60,20);
this.btnReset.addActionListener(newActionListener()//匿名類實現ActionListener介面
{
publicvoidactionPerformed(ActionEvente){
btnreset_ActionEvent(e);
}
}
);
this.pnluser.add(lbluserLogIn);//載入標簽到面板
this.pnluser.add(lbluserName);
this.pnluser.add(lbluserPWD);
this.pnluser.add(txtName);
this.pnluser.add(pwdPwd);
this.pnluser.add(btnSub);
this.pnluser.add(btnReset);
this.add(pnluser);//載入面板到框架
this.setVisible(true);//設置框架可顯
}
publicvoidbtnsub_ActionEvent(ActionEvente){
Stringname=txtName.getText();
Stringpwd=String.valueOf(pwdPwd.getPassword());
if(name.equals("")){
JOptionPane.showMessageDialog(null,"賬號不能為空","錯誤",JOptionPane.ERROR_MESSAGE);
return;
}elseif(pwd.equals("")){
JOptionPane.showMessageDialog(null,"密碼不能為空","錯誤",JOptionPane.ERROR_MESSAGE);
return;
}elseif(true){
this.dispose();
}else{
JOptionPane.showMessageDialog(null,"賬號或密碼錯誤","錯誤",JOptionPane.ERROR_MESSAGE);
return;
}
}
publicvoidbtnreset_ActionEvent(ActionEvente){
txtName.setText("");
pwdPwd.setText("");
}
publicstaticvoidmain(String[]args){
newUserLogIn();
}
}

7. 如何用Java Swing來實現一個字體對話框

你想模仿windows的字體設置框是吧。
簡單。
你可以用Toolkit.getDefaultToolkit().getFontList()或GraphicsEnvironment.getDefaultGrahpicsEnvironment().getAvariableSystemFont()得到當前系統可用字體,這兩種方法有什麼差別,我不知道,你試下就OK了,
然後字體大小是一些數字,字體格式無非就是bold plain italic underline,隨你想像了。
最後根據這些參數創建Font.
that's all

閱讀全文

與用java設計一個字體界面相關的資料

熱點內容
孩子出生證能在什麼網站找到嗎 瀏覽:465
java日期compare 瀏覽:120
深州有哪個編程學校好 瀏覽:826
抖音數據中心怎麼才算合格 瀏覽:540
全棧視頻數據是什麼 瀏覽:787
網上少兒編程哪個好些 瀏覽:132
oracle資料庫優化方法 瀏覽:844
怎麼關閉網路喚醒 瀏覽:894
孤單的微信頭像動漫 瀏覽:305
有沒有哪個大學教編程 瀏覽:851
wordpress後台添加廣告位置 瀏覽:491
怎樣快速修改qq密碼 瀏覽:145
怎麼清除惡意攻擊網站 瀏覽:511
qq頭像女生側顏馬尾 瀏覽:718
蘋果自己的文件格式 瀏覽:85
放在c盤的app如何刪除 瀏覽:912
華為手機克隆後文件放在哪裡 瀏覽:631
清樂網站製作需要多少人 瀏覽:294
網路游戲系統 瀏覽:933
java如何寫框架 瀏覽:423

友情鏈接