修改后完整的代碼
公司主營業(yè)務(wù):網(wǎng)站設(shè)計(jì)制作、網(wǎng)站建設(shè)、移動(dòng)網(wǎng)站開發(fā)等業(yè)務(wù)。幫助企業(yè)客戶真正實(shí)現(xiàn)互聯(lián)網(wǎng)宣傳,提高企業(yè)的競爭能力。創(chuàng)新互聯(lián)是一支青春激揚(yáng)、勤奮敬業(yè)、活力青春激揚(yáng)、勤奮敬業(yè)、活力澎湃、和諧高效的團(tuán)隊(duì)。公司秉承以“開放、自由、嚴(yán)謹(jǐn)、自律”為核心的企業(yè)文化,感謝他們對我們的高要求,感謝他們從不同領(lǐng)域給我們帶來的挑戰(zhàn),讓我們激情的團(tuán)隊(duì)有機(jī)會用頭腦與智慧不斷的給客戶帶來驚喜。創(chuàng)新互聯(lián)推出懷遠(yuǎn)免費(fèi)做網(wǎng)站回饋大家。
編譯通過~
import java.awt.*;
import java.awt.event.*;
public class TestGraphics extends Frame{
public void paint(Graphics g)
{
int x,y,i=0;
Font font=new Font("Serif",Font.ITALIC|Font.BOLD,40);
g.setFont(font);
g.drawOval(60,50,80,80);
g.setColor(Color.red);
g.fillOval(150, 50, 80, 80);
g.setColor(Color.pink);
g.drawOval(240, 50, 80, 80);
g.setColor(Color.green);
g.drawString("i love java", 80, 260);
g.setColor(Color.blue);
for(i=0;i20;i++)
{
x=(int)(Math.random()*300)+30;
y=(int)(Math.random()*200)+130;
g.fillOval(x, y, 10, 10);
}
g.setColor(Color.orange);
y=100;
for(i=0;i40;i++)
{
y+=5;
g.drawRect(30, 30, 320, y);
}
}
public static void main(String[] args)
{
TestGraphics f=new TestGraphics();
f.setTitle("我的第一個(gè)Graphics");
f.setSize(400,345);
f.setLocation(0,0);
f.setVisible(true);
f.addWindowListener( new WindowAdapter()
{
public void windowClosing( WindowEvent e )
{
System.exit(0);
}
});
}
}
首相調(diào)用組件的方法getComponents(),返回Component [] 里面包含了當(dāng)前組件所添加的所有組件
然后遍歷那個(gè)數(shù)組,刪除所有的JButton類型的
舉個(gè)例子
for(Component c:getComponents()){
if ( c instanceof JButton)
remove(c);
}
答: JFrame中, 可以通過 jframe.remove(組件) 方法刪除指定的組件 ,也可以通過jframe.add(組件) 方法來添加新的組件 . 值得注意的是,添加和刪除組件之后,都需要更新窗口 , 否則可能顯示異常
效果圖
jp1 里輸入用戶名, 不能為空
jp1里輸入了用戶名
jp1被刪除,然后顯示jp2
參考代碼
import?javax.swing.*;
import?java.awt.event.*;
public?class?PanelFrame?extends?JFrame?implements?ActionListener?{
JPanel?jp1,?jp2;
JTextField?jtf;
JButton?jb1;
JLabel?jl2;
public?PanelFrame()?{
jp1?=?new?JPanel();
JLabel?jl1?=?new?JLabel("請輸入用戶名");
jtf?=?new?JTextField(8);
jb1?=?new?JButton("確定");
jb1.addActionListener(this);
jp1.add(jl1);
jp1.add(jtf);
jp1.add(jb1);
add(jp1);
//?窗口屬性設(shè)置
setTitle("Demo");//?標(biāo)題
setSize(380,?180);//?窗口大小
setLocationRelativeTo(null);//?窗口居中
setDefaultCloseOperation(EXIT_ON_CLOSE);//?窗口點(diǎn)擊關(guān)閉時(shí),退出程序
}
public?static?void?main(String[]?args)?{
new?PanelFrame().setVisible(true);
}
@Override
public?void?actionPerformed(ActionEvent?e)?{
if(jb1==e.getSource())?{
String?name?=?jtf.getText().trim();
if(name.equals(""))?{//驗(yàn)證是否輸入了有效的字符串
JOptionPane.showMessageDialog(this,?"請輸入用戶名~!");
return;
}
remove(jp1);//刪除jp1
jp2?=?new?JPanel();
jl2?=?new?JLabel();
jp2.add(jl2);
jl2.setText("歡迎:"+name);
add(jp2);//添加jp2
SwingUtilities.updateComponentTreeUI(this);//更新窗口!!
}
}
}