在Eclipse中使用調(diào)試程序最基本的操作是:
成都創(chuàng)新互聯(lián)公司是一家集網(wǎng)站建設,鄧州企業(yè)網(wǎng)站建設,鄧州品牌網(wǎng)站建設,網(wǎng)站定制,鄧州網(wǎng)站建設報價,網(wǎng)絡營銷,網(wǎng)絡優(yōu)化,鄧州網(wǎng)站推廣為一體的創(chuàng)新建站企業(yè),幫助傳統(tǒng)企業(yè)提升企業(yè)形象加強企業(yè)競爭力??沙浞譂M足這一群體相比中小企業(yè)更為豐富、高端、多元的互聯(lián)網(wǎng)需求。同時我們時刻保持專業(yè)、時尚、前沿,時刻以成就客戶成長自我,堅持不斷學習、思考、沉淀、凈化自己,讓我們?yōu)楦嗟钠髽I(yè)打造出實用型網(wǎng)站。
1.首先在一個java文件中設斷點,然后debug as--open debug Dialog,然后在對話框中選類后-- Run
當程序走到斷點處就會轉(zhuǎn)到debug視圖下。
2.F5鍵與F6鍵均為單步調(diào)試,F(xiàn)5是step into,也就是進入本行代碼中執(zhí)行,F(xiàn)6是step over,
也就是執(zhí)行本行代碼,跳到下一行,
3.F7是跳出函數(shù)
4.F8是執(zhí)行到最后。
1.Step Into (also F5) 跳入
2.Step Over (also F6) 跳過
3.Step Return (also F7) 執(zhí)行完當前method,然后return跳出此method
4.step Filter 逐步過濾 一直執(zhí)行直到遇到未經(jīng)過濾的位置或斷點(設置Filter:window-preferences-java-Debug-step Filtering)
5.resume 重新開始執(zhí)行debug,一直運行直到遇到breakpoint
6.hit count 設置執(zhí)行次數(shù) 適合程序中的for循環(huán)(設置 breakpoint view-右鍵hit count)
7.inspect 檢查 運算。執(zhí)行一個表達式顯示執(zhí)行值
8.watch 實時地監(jiān)視變量的變化
9.我們常說的斷點(breakpoints)是指line breakpoints,除了line breakpoints,還有其他的斷點類型:field(watchpoint)breakpoint,method breakpoint,exception breakpoint.
10.field breakpoint 也叫watchpoint(監(jiān)視點) 當成員變量被讀取或修改時暫掛
11.添加method breakpoint 進入/離開此方法時暫掛(Run-method breakpoint)
12.添加Exception breakpoint 捕抓到Execption時暫掛(待續(xù)...)
斷點屬性:
1.hit count 執(zhí)行多少次數(shù)后暫掛 用于循環(huán)
2.enable condition 遇到符合你輸入條件(為ture\改變時)就暫掛
3.suspend thread 多線程時暫掛此線程
4.suspend VM 暫掛虛擬機
13.variables 視圖里的變量可以改變變量值,在variables 視圖選擇變量點擊右鍵--change value.一次來進行快速調(diào)試。
14.debug 過程中修改了某些code后--〉savebuild--resume--重新暫掛于斷點?JSP的調(diào)試:1.將tomcat以debug的模式啟動。(java web servers)
2.選擇要調(diào)試的jsp,open with jsp editor
3.選擇jsp文件,debug。出現(xiàn)ajax插件,直接點就行了
利用JAVA類庫中的CheckboxGroup,具體可以參考API,
然后將性別選項(Checkbox)添加到CheckboxGroup中去。
這樣就在任何時刻都有且僅有一個被選中了。
你可以去試下。很簡單的。
public static void main ( String args[])
{
new MenuTest().setVisible(true);
}
}
不要寫在另一個方法內(nèi)。
另外,是這個名稱的
PopupMenu pop;
import?java.awt.BorderLayout;
import?java.awt.event.ActionEvent;
import?java.awt.event.ActionListener;
import?java.util.Enumeration;
import?javax.swing.JButton;
import?javax.swing.JFrame;
import?javax.swing.JPanel;
import?javax.swing.JScrollPane;
import?javax.swing.JSplitPane;
import?javax.swing.JTabbedPane;
import?javax.swing.JTree;
import?javax.swing.SwingUtilities;
import?javax.swing.event.TreeSelectionEvent;
import?javax.swing.event.TreeSelectionListener;
import?javax.swing.table.DefaultTableModel;
import?javax.swing.tree.DefaultMutableTreeNode;
import?javax.swing.tree.MutableTreeNode;
import?javax.swing.tree.TreeNode;
public?class?Tabbepan_test?extends?JFrame{
private?static?final?long?serialVersionUID?=?7382825389354474881L;
JPanel?contpane,p1,p2,p3,p4,p5,p6,p7;
JScrollPane?jsc,jsc1;
JButton?btn;
JTabbedPane?tabp;
JTree?tree;
JSplitPane?jsp;
DefaultMutableTreeNode?node,top;??
DefaultTableModel?tableModel;
public?Tabbepan_test(){
super();
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
contpane?=?new?JPanel(new?BorderLayout());
p1?=?new?JPanel();
p2?=?new?JPanel();
p3?=?new?JPanel();
p4?=?new?JPanel();
p5?=?new?JPanel();
p6?=?new?JPanel();
p7?=?new?JPanel();
node?=?new?DefaultMutableTreeNode("功能導航");
node.add(new?DefaultMutableTreeNode("人事管理"));
node.add(new?DefaultMutableTreeNode("生產(chǎn)管理"));
node.add(new?DefaultMutableTreeNode("資材管理"));
node.add(new?DefaultMutableTreeNode("營銷管理"));
node.add(new?DefaultMutableTreeNode("財務管理"));
node.add(new?DefaultMutableTreeNode("總務管理"));
node.add(new?DefaultMutableTreeNode("系統(tǒng)維護"));
top?=?new?DefaultMutableTreeNode("ERP系統(tǒng)");
top.add(node);
tree?=?new?JTree(top);
tabp?=?new?JTabbedPane();
tabp.add("人事管理",?new?JScrollPane(p1));
tabp.add("生產(chǎn)管理",?new?JScrollPane(p2));
tabp.add("資材管理",?new?JScrollPane(p3));
tabp.add("營銷管理",?new?JScrollPane(p4));
tabp.add("財務管理",?new?JScrollPane(p5));
tabp.add("總務管理",?new?JScrollPane(p6));
tabp.add("系統(tǒng)維護",?new?JScrollPane(p7));
tree.addTreeSelectionListener(new?TreeSelectionListener()?{
@Override
public?void?valueChanged(TreeSelectionEvent?e)?{
//?TODO?自動生成的方法存根
DefaultMutableTreeNode?nodes=(DefaultMutableTreeNode)?tree.getLastSelectedPathComponent();
String?tn?=?null;
int?b?=?tabp.getTabCount();
for(int?i=0;itabp.getTabCount();i++){
tn?=?tabp.getTitleAt(i).toString();
if(tn.equals(nodes.toString())){
tabp.addTab(nodes.toString(),?p1);
}else?{
}
}
}
});
jsp?=?new?JSplitPane(JSplitPane.HORIZONTAL_SPLIT);
jsp.setDividerSize(1);
jsp.setDividerLocation(170);
jsp.setOneTouchExpandable(false);//讓分割線顯示出箭頭
jsp.setContinuousLayout(true);//操
jsc1?=?new?JScrollPane(tree);
jsp.setLeftComponent(jsc1);
jsp.setRightComponent(tabp);
contpane.add(jsp,BorderLayout.CENTER);
setContentPane(contpane);
setSize(800,600);
setLocationRelativeTo(null);
}
public?static?void?main(String[]?args)?{
//?TODO?自動生成的方法存根
SwingUtilities.invokeLater(new?Runnable()?{
@Override
public?void?run()?{
//?TODO?自動生成的方法存根
Tabbepan_test?test?=?new?Tabbepan_test();
test.setVisible(true);
}
});
}
import?java.awt.Checkbox;
import?java.awt.CheckboxGroup;
import?java.awt.Choice;
import?java.awt.FlowLayout;
import?java.awt.Label;
import?java.awt.TextField;
import?java.awt.event.ItemEvent;
import?java.awt.event.ItemListener;
import?javax.swing.JFrame;
public?class?Choose?extends?JFrame?implements?ItemListener?{
/**
*?
*/
private?static?final?long?serialVersionUID?=?1L;
Label?l1,?l2;
TextField?t1,?t2;
CheckboxGroup?checkboxGroup?=?new?CheckboxGroup();
Checkbox?checkbox1?=?new?Checkbox("QQ",?checkboxGroup,?false);
Checkbox?checkbox2?=?new?Checkbox("MSN",?checkboxGroup,?false);
Checkbox?checkbox3?=?new?Checkbox("ICQ",?checkboxGroup,?false);
Choice?c;
public?Choose()?{
super("簡單小程序");
this.setLayout(new?FlowLayout());
l1?=?new?Label("選擇你常用的軟件:");
l2?=?new?Label("選擇你喜歡的水果:");
checkbox1.addItemListener(this);
checkbox2.addItemListener(this);
checkbox3.addItemListener(this);
t1?=?new?TextField(20);
t2?=?new?TextField(20);
c?=?new?Choice();
c.addItemListener(this);
c.add("蘋果");
c.add("橘子");
c.add("香蕉");
c.add("梨子");
this.add(l1);
this.add(checkbox1);
this.add(checkbox2);
this.add(checkbox3);
this.add(t1);
this.add(l2);
this.add(c);
this.add(t2);
this.setSize(450,?200);
this.setVisible(true);
}
public?static?void?main(String[]?args)?{
new?Choose();
}
public?void?itemStateChanged(ItemEvent?e)?{
if?(e.getSource()?==?checkbox1)?{
t1.setText("你常用的軟件是:"?+?checkbox1.getLabel());
}
if?(e.getSource()?==?checkbox2)?{
t1.setText("你常用的軟件是:"?+?checkbox2.getLabel());
}
if?(e.getSource()?==?checkbox3)?{
t1.setText("你常用的軟件是:"?+?checkbox3.getLabel());
}
t2.setText("你喜歡的水果是:"?+?c.getSelectedItem());//?得到選中的下拉列表值
}
}