你的程序的NotHelloWordPanel類的paintComplent函數(shù)的函數(shù)名寫錯(cuò)了
站在用戶的角度思考問(wèn)題,與客戶深入溝通,找到昌黎網(wǎng)站設(shè)計(jì)與昌黎網(wǎng)站推廣的解決方案,憑借多年的經(jīng)驗(yàn),讓設(shè)計(jì)與互聯(lián)網(wǎng)技術(shù)結(jié)合,創(chuàng)造個(gè)性化、用戶體驗(yàn)好的作品,建站類型包括:成都做網(wǎng)站、成都網(wǎng)站建設(shè)、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣、主機(jī)域名、虛擬空間、企業(yè)郵箱。業(yè)務(wù)覆蓋昌黎地區(qū)。
應(yīng)該是paintComponent,改過(guò)來(lái)就能顯示容器panel中的文字信息了.
class?PanelTest?extends?JPanel?{
public?void?paintComponent(Graphics?g)?{
super.paintComponent(g);
g.drawString("Hello?Java",?75,?100);
}
}
方法名改成小寫paintComponent
如果確認(rèn)文本回來(lái)了,那應(yīng)該是刷新的問(wèn)題,你直接append是不會(huì)觸發(fā)界面重繪的,可以試試repaint之類的方法
這句代碼有錯(cuò):
JTextArea?wby=new?JTextArea(18,52);
相當(dāng)于你有定義了一個(gè)局部變量,而你的成員變量wby沒(méi)初始化,所以actionPerformed方法中調(diào)用成員變量wby時(shí)報(bào)空指針。改成下面這樣就行了
wby=new?JTextArea(18,52);
顯示結(jié)果:
注釋的地方是我加的和修改了的
JLabel jl = new JLabel("這是一個(gè)JFrame窗體");
jl.setBounds(50, 50, 150, 50);//這個(gè)事我加的,因?yàn)橛胣ull布局就要設(shè)置顯示的坐標(biāo)及大小
jl.setHorizontalAlignment(SwingConstants.CENTER);
container.add(jl);
JButton bl = new JButton("彈出對(duì)話框");
bl.setBounds(50, 100, 100,50); //我改了一下參數(shù)