1、單一界面的創建 2、常用操作方法 3、有些組件setSize不起作用時,用setPreferredSize,例如button.setPreferredSize(new Dimension(60, 22)); 4、表格一般用模型創建,方便更新管理: 表格數據的清除和更新: 5、消息提示框 ...
1、單一界面的創建
public void mainFrame() { HashMap<String, Component> views = new HashMap<String, Component>(); JFrame jf = new JFrame("title"); // 實例化一個JFrame對象 jf.setSize(500,300); // 設置窗體大小位置 jf.setLayout(null);//無佈局 jf.setResizable(false);//不可最大小化 jf.setIconImage(new ImageIcon("image/abc.jpg").getImage());//圖標 // 設置窗體關閉方式 jf.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE); jf.setVisible(true); // 使窗體可視 //窗體居中 Dimension s = Toolkit.getDefaultToolkit().getScreenSize(); jf.setLocation((s.width - jf.getWidth()) / 2, (s.height - jf.getHeight()) / 2); //各種組件和容器 JPanel panel; JLabel label; JTextField tfield; JButton button; JComboBox<String> combox; //... //第一個容器 panel = new JPanel(); panel.setBounds(0, 0, 1000, 40); //容器內佈局 panel.setLayout(new FlowLayout(FlowLayout.LEFT)); //容器加到窗體 jf.add(panel); //第一個組件JLabel label = new JLabel("我是Label"); //組件加到容器 panel.add(label); //第二個組件JTextField tfield = new JTextField(22); tfield.setFont(new Font("", 0, 16)); // tfield.setEditable(false); panel.add(tfield); //把需要操作的組件加到HashMap<String, Component>,方便調用 views.put("txt_code", tfield); //後繼增加... }
2、常用操作方法
字元串常用操作 length() //獲取字元串的長度 startsWith(Strings)、endsWith(String s) //判斷字元串的首碼或尾碼與已知字元串是否相同首碼 equals(String s) //比較兩個字元串 Integer.parseInt(字元串) Long.parseLong(字元串) Folat.valueOf(字元串).floatValue() Double.valueOf(字元串).doubleValue() //把字元串強制轉換 valueOf(數值) //將數值轉化為字元串 字元串檢索: indexOf(Srting s) //從頭開始檢索 indexOf(String s ,int startpoint) //從startpoint處開始檢索,如果沒有檢索到,將返回-1 字元串截取: substring(int startpoint) //從startpoint處開始獲取 substring(int start,int end) //從start到end中間的字元 替換字元串中的字元: replace(char old,char new) //用new替換old 分析字元串 StringTokenizer(String s) //構造一個分析器,使用預設分隔字元(空格,換行,回車,Tab,進紙符) StringTokenizer(String s,String delim) //delim是自己定義的分隔符 nextToken() //逐個獲取字元串中的語言符號 boolean hasMoreTokens() //只要字元串還有語言符號將返回true,否則返回false countTokens() //得到一共有多少個語言符號 文本框和文本區 文本框 TextField() //構造文本框,一個字元長、TextField(int x) 構造文本框,x個字元長 TextField(String s) //構造文本框,顯示s、setText(String s) 設置文本為s getText() //獲取文本 setEchoChar(char c) //設置顯示字元為c setEditable(boolean) //設置文本框是否可以被修改 addActionListener() //添加監視器 removeActionListener() //移去監視器 文本區 TextArea() //構造文本區 TextArea(String s) //構造文本區,顯示s TextArea(String s,int x,int y) //構造文本區,x行,y列,顯示s TextArea(int x,int y) //構造文本區,x行,y列 TextArea(String s,int x,ing y,int scrollbar) scrollbar的值是: TextArea.SCROLLBARS_BOTH;TextArea.SCROLLBARS_VERTICAL_ONLY TextArea.SCROLLBARS_HORIZONTAL_ONLY;TextArea.SCROLLBARS_NONE setText(String s) //設置文本為s;getText() 獲取文本 addTextListener() //添加監視器;removeTextListener() 移去監視器 insert(String s,int x) //在x處插入文本s replaceRange(String s,int x,int y) //用s替換從x到y處的文本 append(String s) //在文本的最後追加文本s Int getCaretPosition(int n) //獲取文本區中游標的位置 按鈕 Button() //構造按鈕 Button(String s) //構造按鈕,標簽是s setLabel(String s) //設置按鈕標簽是s getLabel() //獲取按鈕標簽 addActionListener() //添加監視器 removeActionListener() //移去監視器 標簽 Label() //構造標簽 Label(String s) //構造標簽,顯示s Label(String s,int x) //x是對齊方式,取值:Label.LEFT;Label.RIGHT;Label.CENTER setText(String s) //設置文本s getText() //獲取文本 setBackground(Color c) //設置標簽背景顏色 setForeground(Color c) //設置字體顏色 選擇框 Checkbox() //構造選擇框 Checkbox(String s) //構造選擇框,給定標題s Checkbox(String s,boolean b) //b設定初始狀態 Checkbox(String s,boolean b,CheckboxGroup g) //g設定了所屬的組(有了組就成為單選框) addItemListener() //添加監視器 removeItemListener() //移去監視器 getState() //返回選擇框的是否選中狀態 setState(boolean b) //設置選擇框的狀態 getLabel() //獲取選擇框的標題 setLabel(String s) //設置選擇框的標題為s 選擇控制項 Choice() //構造選擇控制項 add(String s) //向選擇控制項增加一個選項 addItemListener() //添加監視器 removeItemListener() //移去監視器 getSelectedIndex() //返回當前選項的索引 getSelectedItem() //返回當前選項的字元串代表 insert(String s,int n) //在n處插入選項s remove(int n) removeAll() 滾動列表 List() //構造滾動列表 List(int n) //參數n是可見行數 List(int n,boolean b) //參數b是設置是否可以多項選擇 add(String s) //向列表的結尾增加一個選項 add(String s,int n) //在n處增加一個選項 AddActionListener() //滾動列表添加監視器 addItemListener() //滾動列表上的選項添加監視器 remove(int n) //刪除n初的選項 remnoveAll() //刪除全部選項 getSelectedIndex() //返回當前選項的索引 getSelectedItem() //返回當前選項的字元串代表 組件類的一些常用方法 void setBackground(Color c) //設置組件背景顏色 void setForeground(Color c) //設置組件前景顏色 void setFonts(Font f) //設置組件字體 void setBounds(int x,int y,int w,int h) //設置坐標,x,y表示在容器中坐標,w,h表示寬和高 void setLocation(int x,int y) //移動到x,y 處;void setSize(int w,int h) 設置寬和高 void setVisible(boolean b) //設置組建是否可見 int getBounds().wigth //獲取寬 int getBounds().height //獲取高 int getBounds().x //獲取x 坐標; 註意 1). 要固定JComboBox大小有兩個地方需要關註的。 1、你的JComboBox放的面板的佈局是什麼類型的佈局,如果不是null佈局就調整佈局來給JComboBox分配合適的大小。 2、如果你用的是空佈局的話,那麼用setSize方法 或者 setBounds方法,來改變JComboBox大小setBounds可以改變控制項的大小和位置。 2). Java中setBounds和setSize有什麼區別:bounds就是size和location的結合體
3、有些組件setSize不起作用時,用setPreferredSize,例如button.setPreferredSize(new Dimension(60, 22));
4、表格一般用模型創建,方便更新管理:
JTable table; DefaultTableModel model = new DefaultTableModel(); //預設模型 model.setColumnIdentifiers(new Object[] {"a","b","c"}); //表頭 table = new JTable(model); JScrollPane scrollPaner = new JScrollPane(table); scrollPaner.setBounds(0, 0, 985, 500); panel.add(scrollPaner);
表格數據的清除和更新:
//獲得表格的預設模型 DefaultTableModel model = (DefaultTableModel) table.getModel(); // 清空表格 while (model.getRowCount() > 0) { model.removeRow(model.getRowCount() - 1); } //表格的數據插入 model.addRow(new Object[] { "a", "b", "c"}); //通知表格更新 model.fireTableDataChanged();
5、消息提示框
//以下都是一個確定按鈕的彈出框 JOptionPane.showMessageDialog(null, "提示內容"); //藍色反嘆號,標題為“消息” JOptionPane.showMessageDialog(null, "內容", "標題", JOptionPane.ERROR_MESSAGE); //錯誤提示,只要一個按鈕 JOptionPane.showMessageDialog(null, "警告提示框", "標題",JOptionPane.WARNING_MESSAGE); JOptionPane.showMessageDialog(null, "錯誤提示框", "標題",JOptionPane.ERROR_MESSAGE); JOptionPane.showMessageDialog(null, "最基本提示框", "標題",JOptionPane.PLAIN_MESSAGE);//沒有圖標 //以下帶有自定義選擇按鈕的選擇提示框,按鈕和提示消息均可自定義 /*showOptionDialog(Component parentComponent, Object message, String title, int optionType, int messageType, Icon icon, Object[] options, Object initialValue); * 選擇對話框OptionDialog是一個充分由用戶自定義的對話框,showOptionDialog是一個8個參數的方法,參數“Object[] options”定義了一個按鈕數組集合, * 每個按鈕對應的返回值是其在數組中的下標,當參數“Object[] options”不空時,參數“int optionType”和“int messageType”作用不大, * 參數“Object initialValue”確定了預設選中的按鈕。*/ JOptionPane.showConfirmDialog(null, "詢問提示框", "標題",JOptionPane.YES_NO_OPTION); //返回值為0或1 Object[] options ={ "按鈕1", "按鈕2" }; //自定義按鈕 JOptionPane.showOptionDialog(null, "詢問提示框", "標題",JOptionPane.YES_NO_OPTION, JOptionPane.QUESTION_MESSAGE, null, options, options[0]); //showInoutDialog可以做成帶有下拉選擇列表或者輸入框的提示框,並可以將用戶選擇或者輸入信息返回 Object[] obj2 ={ "a", "b", "c" }; //下拉內容 String str = (String) JOptionPane.showInputDialog(null,"請選擇", "標題", JOptionPane.PLAIN_MESSAGE, new ImageIcon("圖標"), obj2, "b"); JOptionPane.showInputDialog(null,"請輸入:\n","title",JOptionPane.PLAIN_MESSAGE);