當前位置:首頁 » 編程語言 » java實現界面

java實現界面

發布時間: 2024-10-26 11:32:35

㈠ 用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("");
}
});
}
}

㈡ 如何給java應用程序用javafx(fxml,css)做界面

目錄

一、簡介

JavaFX是Java平台的圖形用戶界面(GUI)工具包,實現MVC模式,將應用程序劃分為模型(Model)、視圖(View)和控制器(Controller)三部分。模型表示數據和業務邏輯,視圖管理用戶界面,控制器是應用程序的邏輯,通常由JavaFX事件處理程序實現。

二、創建JavaFX項目

1. 打開IntelliJ,選擇「新建項目」。

2. 在「新建項目」對話框中,選擇「JavaFX」,給項目命名,選擇項目存儲位置,選擇JavaFX版本和其他所需庫。

3. 項目創建完成後,會默認生成三個文件:hello-view.fxml、HelloApplication.java和HelloController.java。

三、設計JavaFX應用案例

實現一個簡單的加法器應用。步驟如下:

1. 使用Scene Builder設計界面,包括3行2列的GridPane,添加文本框、按鈕等控制項,設置控制項屬性。

2. 在HelloController類中編寫事件處理方法,實現生成隨機數和計算功能。

3. 在HelloApplication文件中,通過main函數啟動應用,調用start方法,傳入Stage對象。

通過這些步驟,可以創建並運行一個基本的JavaFX應用,實現簡單的用戶界面交互。

熱點內容
逆水寒伺服器經驗少怎麼回事 發布:2024-11-23 21:22:44 瀏覽:437
菜鳥教程源碼 發布:2024-11-23 21:21:13 瀏覽:701
安卓手機怎麼錄屏能帶聲音 發布:2024-11-23 21:20:19 瀏覽:816
androidstudio查看簽名 發布:2024-11-23 21:14:54 瀏覽:818
能編譯stm32和C語言的軟體 發布:2024-11-23 21:12:45 瀏覽:768
電腦伺服器時間 發布:2024-11-23 21:08:02 瀏覽:644
php怎麼寫介面 發布:2024-11-23 20:53:38 瀏覽:965
伺服器ip解封後 發布:2024-11-23 20:29:13 瀏覽:34
wordpress伺服器搭建 發布:2024-11-23 20:22:56 瀏覽:841
pythonfor讀取文件 發布:2024-11-23 20:22:45 瀏覽:930