導航:首頁 > 編程語言 > java界面表格

java界面表格

發布時間:2024-11-04 21:21:52

1. java語言中,如何在同一個窗體的兩個面板中分別創建一個空表格、一個有數據的表格。

效果圖

importjava.util.Arrays;
importjava.util.Vector;

importjavax.swing.BorderFactory;
importjavax.swing.JFrame;
importjavax.swing.jscrollPane;
importjavax.swing.JSplitPane;
importjavax.swing.JTable;
importjavax.swing.table.DefaultTableModel;

{
publicFrameDemo(){
JSplitPanejsp=newJSplitPane();
jsp.setOrientation(JSplitPane.HORIZONTAL_SPLIT);//設置分割線方向

//表格數據模型
DefaultTableModelmodel=newDefaultTableModel();
model.addColumn("姓名",newVector<String>());
model.addColumn("分數",newVector<Integer>());
JTablet1=newJTable(model);//創建表格,並添加模型
JScrollPanejp1=newJScrollPane(t1);
jp1.setBorder(BorderFactory.createTitledBorder("無數據表格"));//設置標題邊框
jsp.setLeftComponent(jp1);

DefaultTableModelmodel2=newDefaultTableModel();
model2.addColumn("姓名",newVector<String>(Arrays.asList("張三","李四","王五")));
model2.addColumn("分數",newVector<Integer>(Arrays.asList(90,87,65)));

JTablet2=newJTable(model2);
JScrollPanejp2=newJScrollPane(t2);
jp2.setBorder(BorderFactory.createTitledBorder("有數據表格"));
jsp.setRightComponent(jp2);

add(jsp);
setTitle("測試窗口");
setDefaultCloseOperation(EXIT_ON_CLOSE);
setSize(400,300);
setLocationRelativeTo(null);
setVisible(true);
jsp.setDividerLocation(0.5);//分隔面板平均分配
}

publicstaticvoidmain(String[]args){
newFrameDemo();
}
}

2. java swing界面設計

GUI圖形界面設計的重點是布局

SWING也是採用AWT的布局方式,進行布局管理的。(實現LayoutManager介面的方法,來進行管理布局,API中已有實現類,我們通常只需要指定實現類,而不需要自己重寫方法)


常用的布局有絕對布局, 邊界布局BorderLayout,流布局FlowLayout,表格布局GridLayout。

JFrame等重量級組件,默認布局是邊界布局,JPanel輕量級組件,默認布局是流布局


  1. 優點:充分的自定義,充分的自由,可以寫出漂亮的 ,細致的界面

  2. 缺點:絕對布局在不同的操作系統下,會有一些不同程度的變化,導致界面變形,甚至組件重疊等。在同一操作系統下,窗口放大縮小,界面也會變形

  3. 絕對布局的範例


    3. Java如何將一個界面表格裡面的內容點擊確定按鈕添加到同一個界面不同的表格中

    按鈕加點擊監聽,點擊後獲取表格裡面的內容,並設置另一個表格的數據集,刷新表格。

    4. java jsp頁面表格展示

    具體如下,有條記錄,在一個table表格中,每行顯示5條記錄,每個記錄是個小圖片,需要在第1個中顯示第1個圖片,第2個顯示第2個圖片……第n個顯示第n個圖片,代碼如下:
    首先,在web目錄下新建一個pic目錄,用於存放圖片

    [java] view plain
    <%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>

    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <html>
    <head>
    <title>My JSP 'MyJsp.jsp' starting page</title>
    <meta http-equiv="pragma" content="no-cache">
    <meta http-equiv="cache-control" content="no-cache">
    <meta http-equiv="expires" content="0">
    <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
    <meta http-equiv="description" content="This is my page">
    <!--
    <link rel="stylesheet" type="text/css" href="styles.css">
    -->

    </head>
    <body>
    <table>
    <%
    int n=101;
    for(int i=1;i<=n;i++){
    if(i%5==1){
    %>
    <tr>
    <%
    }
    %>
    <td><img src="/my_test/pic/hehe<%=i%>.jpg" /></td>
    <%
    if(i%5==0){
    %>
    </tr>
    <%
    }
    }
    %>
    </table>
    </body>
    </html>

    5. 用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界面表格相關的資料

熱點內容
ps入門必備文件 瀏覽:348
以前的相親網站怎麼沒有了 瀏覽:15
蘋果6耳機聽歌有滋滋聲 瀏覽:768
怎麼徹底刪除linux文件 瀏覽:379
編程中字體的顏色是什麼意思 瀏覽:534
網站關鍵詞多少個字元 瀏覽:917
匯川am系列用什麼編程 瀏覽:41
筆記本win10我的電腦在哪裡打開攝像頭 瀏覽:827
醫院單位基本工資去哪個app查詢 瀏覽:18
css源碼應該用什麼文件 瀏覽:915
編程ts是什麼意思呢 瀏覽:509
c盤cad佔用空間的文件 瀏覽:89
不銹鋼大小頭模具如何編程 瀏覽:972
什麼格式的配置文件比較主流 瀏覽:984
增加目錄word 瀏覽:5
提取不相鄰兩列數據如何做圖表 瀏覽:45
r9s支持的網路制式 瀏覽:633
什麼是提交事務的編程 瀏覽:237
win10打字卡住 瀏覽:774
linux普通用戶關機 瀏覽:114

友情鏈接