
这段JAVA程序怎么不显示button等控件啊
importjava.awt.*;importjava.awt.event.*;publicclassTestextendsFrame{publicTest(){init...
import java.awt.*;
import java.awt.event.*;
public class Test extends Frame{
public Test(){
initComponent();
}
private void initComponent(){
setTitle("面板示例");
setSize(345,216);
Panel panel = new Panel();
panel.setBackground(Color.ORANGE);
add(panel);
Label labelJava = new Label("Java!");
labelJava.setFont(new Font("隶书",1,30));
panel.add(labelJava);
Button exitbtn = new Button("退出");
panel.add(exitbtn);
addWindowListener(new WindowAdapter(){
public void windowClosing(WindowEvent evt){
System.exit(0);
}
});
add(new DrawGraphics());
}
public static void main(String[] args){
new Test().setVisible(true);
}
}
class DrawGraphics extends Canvas{
public void paint(Graphics g){
g.setColor(Color.BLACK);
g.drawOval(50, 50, 20, 20);
}
} 展开
import java.awt.event.*;
public class Test extends Frame{
public Test(){
initComponent();
}
private void initComponent(){
setTitle("面板示例");
setSize(345,216);
Panel panel = new Panel();
panel.setBackground(Color.ORANGE);
add(panel);
Label labelJava = new Label("Java!");
labelJava.setFont(new Font("隶书",1,30));
panel.add(labelJava);
Button exitbtn = new Button("退出");
panel.add(exitbtn);
addWindowListener(new WindowAdapter(){
public void windowClosing(WindowEvent evt){
System.exit(0);
}
});
add(new DrawGraphics());
}
public static void main(String[] args){
new Test().setVisible(true);
}
}
class DrawGraphics extends Canvas{
public void paint(Graphics g){
g.setColor(Color.BLACK);
g.drawOval(50, 50, 20, 20);
}
} 展开
2个回答
展开全部
方法体的变量属于临时的,方法外不起作用;
把你要显示的控件写成属性,例如:
Panel panel = new Panel();
Label labelJava = new Label("Java!");
Button exitbtn = new Button("退出");
写成类属性。
把你要显示的控件写成属性,例如:
Panel panel = new Panel();
Label labelJava = new Label("Java!");
Button exitbtn = new Button("退出");
写成类属性。
追问
啊...具体应该怎么改啊,我是新手,多多指教...
展开全部
只能写成这样了。。因为那个画图,,不是一个面板。。。所以被覆盖了。。。
import java.awt.Button;
import java.awt.Canvas;
import java.awt.Color;
import java.awt.Font;
import java.awt.Frame;
import java.awt.Graphics;
import java.awt.Label;
import java.awt.Panel;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import javax.swing.JButton;
public class Test extends Frame implements ActionListener
{
public Test(){
initComponent();
}
Button exitbtn ;//作为全局变量,给动作方法使用。。
private void initComponent(){
setTitle("面板示例");
setSize(345,216);
Panel panel = new Panel();
panel.setBackground(Color.ORANGE);
Label labelJava = new Label("Java!");
labelJava.setFont(new Font("隶书",1,30));
panel.add(labelJava);
exitbtn = new Button("退出");
exitbtn.addActionListener(this);
panel.add(exitbtn);
add(new DrawGraphics());
add(panel);//添加,要写在组件后面。。。
}
public static void main(String[] args){
new Test().setVisible(true);
}
public void actionPerformed(ActionEvent e) {
if(e.getSource()==exitbtn)
System.exit(0);
}
}
class DrawGraphics extends Canvas{
public void paint(Graphics g){
g.setColor(Color.BLACK);
g.drawOval(50, 50, 20, 20);
}
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询