<span id="mktg5"></span>

<i id="mktg5"><meter id="mktg5"></meter></i>

        <label id="mktg5"><meter id="mktg5"></meter></label>
        最新文章專題視頻專題問答1問答10問答100問答1000問答2000關鍵字專題1關鍵字專題50關鍵字專題500關鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關鍵字專題關鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
        問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
        當前位置: 首頁 - 科技 - 知識百科 - 正文

        Java布局管理器使用方法_MySQL

        來源:懂視網 責編:小采 時間:2020-11-09 17:11:02
        文檔

        Java布局管理器使用方法_MySQL

        Java布局管理器使用方法_MySQL:很多初學者在用Java布局器自動布局畫界面時,經常遇見不知道如何定義區域大小或按鈕之間的距離等問題。我寫過一篇《實現JAVA手動布局中各個組件能隨窗口變化的方法》的文章,有讀者反映算坐標不好算,問能不能用布局器實現文章中的界面。其實自動布局也可以解
        推薦度:
        導讀Java布局管理器使用方法_MySQL:很多初學者在用Java布局器自動布局畫界面時,經常遇見不知道如何定義區域大小或按鈕之間的距離等問題。我寫過一篇《實現JAVA手動布局中各個組件能隨窗口變化的方法》的文章,有讀者反映算坐標不好算,問能不能用布局器實現文章中的界面。其實自動布局也可以解

          很多初學者在用Java布局器自動布局畫界面時,經常遇見不知道如何定義區域大小或按鈕之間的距離等問題。我寫過一篇《實現JAVA手動布局中各個組件能隨窗口變化的方法》的文章,有讀者反映算坐標不好算,問能不能用布局器實現文章中的界面。其實自動布局也可以解決定義區域大小或按鈕之間的距離等問題,只是沒有手動布局那么靈活。下面我就舉一個例子。

          首先,建一個frame文件(Application應用程序),在Design中將this中的layout設置為BorderLayout。

          第二,在組件盤內點選Swing Container頁簽,選取Jpanel圖標,在this中上方拖拽一塊區域,布局器會自動調整位置與大小;同樣的方法在中下方也拖拽一塊區域;在Swing Container頁簽,選取jScrollPane圖標,將jScrollPane在中間拖拽一塊區域。拖拽的順序一定要先上后下再中間。為了方便區分,在Properties的background中,將上方的Jpanel1區域設置為紅色,下方的Jpanel2區域設置為橙色,中間的jScrollPane1為粉紅色。將Jpanel1和Jpanel2的layout設置為flowLayout(必須要手動設置,不要采用默認值)。

          第三,在Jpanel中放入一個Jlable標題欄,JTextField1文本框和Jbutton按鈕,在組件盤內點選Swing 頁簽,選取JLable圖標在Jpanel1的中畫一個標題欄,將text改為“請輸入查詢條件”,再選取JtextField在Jpanel1中畫一個文本框,將text改為空,最后選取Jbutton在Jpanel1中再畫一個按鈕將text改為“查詢”。畫完后他們都是在中間,而且大小固定,這時點選Jpanel的flowLayout1將右邊Properties中的alignment設置為LEFT,這時Jpanel1中的組鍵就會向左排列。選中其中一個組鍵,在Properties中的preferredSize可以設置組鍵的寬和高。同樣的方法在Jpanel2中畫三個Jbutton按鈕,將text分別設為“增加”、“刪除”、“修改”。點選Jpane2的flowLayout2將右邊Properties中的hgap設置為30(按鈕的間距,可根據自己的需要調整數值大小), 這樣就調整了三個按鈕之間的距離,設置vgap還可以改變Jpane2區域的高度。

          第四,在jScrollPane1中建一個表格用來顯示數據庫數據的內容,在組件盤內點選Swing 頁簽,選取JTable圖標,將Jtable加入到jScrollPane1中。

          最后,將this中的defaultCloseOperation改為EXIT_ON_CLOSE,這樣在關閉窗口時程序會自動退出。

          程序源代碼如下(除中文注釋部分的兩句是自己加上去,其余是自動生成):

          import javax.swing.*;
          import java.awt.*;
          import java.awt.event.*;
          import java.util.Vector;
          import javax.swing.table.DefaultTableModel;
          public class Frame1
          extends JFrame {
          BorderLayout borderLayout1 = new BorderLayout();
          JPanel jPanel1 = new JPanel();
          JPanel jPanel2 = new JPanel();
          JPanel jPanel3 = new JPanel();
          JLabel jLabel1 = new JLabel();
          JTextField jTextField1 = new JTextField();
          JButton jButton1 = new JButton();
          FlowLayout flowLayout1 = new FlowLayout();
          FlowLayout flowLayout2 = new FlowLayout();
          JButton jButton2 = new JButton();
          JButton jButton3 = new JButton();
          JButton jButton4 = new JButton();
          GridLayout gridLayout1 = new GridLayout();
          JScrollPane jScrollPane1 = new JScrollPane();
          JTable jTable1 = new JTable();

          public Frame1() {
          try {
          jbInit();
          }
          catch (Exception e) {
          e.printStackTrace();
          }
          }

          public static void main(String[] args) {
          Frame1 frame1 = new Frame1();
          frame1.setSize(new Dimension(400, 350));
          frame1.show();

          }

          private void jbInit() throws Exception {
          this.getContentPane().setLayout(borderLayout1);
          jPanel1.setBackground(Color.red);
          jPanel1.setLayout(flowLayout1);
          jPanel2.setBackground(Color.red);
          jPanel2.setLayout(flowLayout2);
          jPanel3.setBackground(Color.pink);
          jPanel3.setLayout(gridLayout1);
          jLabel1.setPreferredSize(new Dimension(100, 16));
          jLabel1.setText("請輸入查詢條件");
          jTextField1.setPreferredSize(new Dimension(140, 22));
          jTextField1.setText("");
          jButton1.setText("查詢");
          jButton1.addActionListener(new Frame1_jButton1_actionAdapter(this));
          flowLayout1.setAlignment(FlowLayout.LEFT);
          flowLayout1.setHgap(5);
          flowLayout1.setVgap(10);
          jButton2.setText("增加");
          jButton3.setText("刪除");
          jButton4.setText("修改");
          flowLayout2.setHgap(30);
          flowLayout2.setVgap(5);
          this.setDefaultCloseOperation(EXIT_ON_CLOSE);
          this.getContentPane().add(jPanel1, BorderLayout.NORTH);
          jPanel1.add(jLabel1, null);
          jPanel1.add(jTextField1, null);
          jPanel1.add(jButton1, null);
          this.getContentPane().add(jPanel2, BorderLayout.SOUTH);
          jPanel2.add(jButton2, null);
          jPanel2.add(jButton3, null);
          jPanel2.add(jButton4, null);
          this.getContentPane().add(jPanel3, BorderLayout.CENTER);
          jPanel3.add(jScrollPane1, null);
          jScrollPane1.getViewport().add(jTable1, null);
          }

          //模擬查詢數據庫
          void jButton1_actionPerformed(ActionEvent e) {
          try { //制作表
          Vector vcol = new Vector(); //列名
          Vector vrow = new Vector(); //內容
          for (int col = 1; col < 31; col++) {
          vcol.addElement("列" + col);
          }
          for (int row = 1; row < 101; row++) {
          Vector vr1 = new Vector();
          for (int col = 1; col < 31; col++) {
          vr1.addElement(row + "/" + col);
          }
          vrow.addElement(vr1);
          }
          DefaultTableModel dtm = new DefaultTableModel(vrow, vcol);
          jTable1 = new JTable(vrow, vcol);
          jTable1.setAutoResizeMode(JTable.AUTO_RESIZE_OFF); //滾動條設置左右滾
          this.jScrollPane1.getViewport().add(jTable1, null); //在滾動條中放入表
          }
          catch (Exception ex) {
          JOptionPane.showMessageDialog(null, ex);
          }

          }
          }

          class Frame1_jButton1_actionAdapter
          implements java.awt.event.ActionListener {
          Frame1 adaptee;

          Frame1_jButton1_actionAdapter(Frame1 adaptee) {
          this.adaptee = adaptee;
          }

          public void actionPerformed(ActionEvent e) {
          adaptee.jButton1_actionPerformed(e);
          }
          }

        聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

        文檔

        Java布局管理器使用方法_MySQL

        Java布局管理器使用方法_MySQL:很多初學者在用Java布局器自動布局畫界面時,經常遇見不知道如何定義區域大小或按鈕之間的距離等問題。我寫過一篇《實現JAVA手動布局中各個組件能隨窗口變化的方法》的文章,有讀者反映算坐標不好算,問能不能用布局器實現文章中的界面。其實自動布局也可以解
        推薦度:
        • 熱門焦點

        最新推薦

        猜你喜歡

        熱門推薦

        專題
        Top
        主站蜘蛛池模板: 亚洲欧洲日产国码无码久久99 | 国产免费伦精品一区二区三区| 99久久久国产精品免费牛牛| 好看的亚洲黄色经典| 国产又黄又爽胸又大免费视频| 国产高清在线免费| 麻豆一区二区三区蜜桃免费| 亚洲国产精品嫩草影院久久| 久久毛片免费看一区二区三区| 亚洲国产婷婷香蕉久久久久久| 免费国产va在线观看| 亚洲综合精品网站| 在线观看免费黄网站| 亚洲国产精品久久66| 亚洲一区二区三区免费观看 | 国产jizzjizz视频免费看| 亚洲AV无码AV吞精久久| 亚洲国产成人五月综合网| 成人网站免费大全日韩国产| 亚洲AV无码一区二区三区系列| 在线看片免费人成视频播| 亚洲精品一区二区三区四区乱码| 最近新韩国日本免费观看| 中国亚洲呦女专区| 亚洲国产精品日韩| 久久免费视频99| 亚洲最大天堂无码精品区| 亚洲精品国产高清嫩草影院 | 老司机精品免费视频| 亚洲AV人无码激艳猛片| 成人网站免费观看| 一边摸一边爽一边叫床免费视频| 日韩一卡2卡3卡4卡新区亚洲| 免费人成在线观看网站| 亚洲欧美黑人猛交群| 亚洲精品中文字幕乱码三区| 在线观看特色大片免费视频| 人禽伦免费交视频播放| 亚洲欧洲自拍拍偷午夜色| 亚洲国产精品13p| 最近高清中文字幕无吗免费看|