import java.awt.*;
//import java.awt.event.*;public class Testa{
public static void main(String[] args ){
Testa te = new Testa();
te.Inner();
//Testa.FrameTest ft = te.new FrameTest();
}
public FrameTest Inner(){
return new FrameTest();
}
private class FrameTest extends Frame{
public FrameTest(){
TextField tf1 = new TextField();
TextField tf2 = new TextField();
TextField tf3 = new TextField();
Label la1 =new Label("+");
Button b = new Button("=");
add(tf1);
add(la1);
add(tf2);
add(b);
add(tf3);
pack();
setVisible(true);
}
}
}
//import java.awt.event.*;public class Testa{
public static void main(String[] args ){
Testa te = new Testa();
te.Inner();
//Testa.FrameTest ft = te.new FrameTest();
}
public FrameTest Inner(){
return new FrameTest();
}
private class FrameTest extends Frame{
public FrameTest(){
TextField tf1 = new TextField();
TextField tf2 = new TextField();
TextField tf3 = new TextField();
Label la1 =new Label("+");
Button b = new Button("=");
add(tf1);
add(la1);
add(tf2);
add(b);
add(tf3);
pack();
setVisible(true);
}
}
}
解决方案 »
- String s1 = new String(“aaa”);语句创建的对象new String("aaa")中存储的是地址还是字符串常量值?
- 从语法上看 下面这段代码有什么问题吗?高手求救!!
- 求助:字符串类型排序问题
- java中,什么是instance method 中文是什么?能否举例说明谢谢!
- 工程发布 高分帮忙?
- applet的路径问题,搞不定啊,帮忙啊
- 一个数组和List的问题
- JInternalFrame的焦点问题,救急啊!!
- 小弟想转学java 希望大家推荐基本入门的书籍,最好是可以下载的,谢谢!
- tomcat4 怎样配置呀?如果能够的话jb5怎样用tomcat4呀?
- java 2d动画 求助
- 简便问题,答对给100分,在线等待!
at java.awt.Window.initIDs(Native Method)
at java.awt.Window.<clinit>(Unknown Source)
at Testa.main(Testa.java:8)
这个错误是什么意思
import java.util.ArrayList;
import java.util.Iterator;
import java.awt.event.*;public class Testa{
public static void main(String[] args){
new MyFrame("draws");
}
}class MyFrame extends Frame{
ArrayList<Point> points = new ArrayList<Point>();
public MyFrame(String s){
super(s);
setBounds(50, 50,300, 300);
setBackground(Color.BLACK);
//setLayout(null);
addMouseListener( new MouseAchieve());
addWindowListener(new WindowAdapter(){
public void windowClosed(WindowEvent e) {
System.exit(0);
}
});
setVisible(true);
}
public void paint(Graphics g){
Iterator<Point> i = points.iterator();
while(i.hasNext()){
g.setColor(Color.BLUE);
g.fillOval(i.next().x, i.next().y, 10, 10);
}
}
public void addPoint(Point p){
points.add(p);
}
class MouseAchieve extends MouseAdapter{ public void mousePressed(MouseEvent e) {
MyFrame mf =(MyFrame) e.getSource();
Point p = new Point(e.getX(),e.getY());
mf.addPoint(p);
mf.repaint();
}
}
}
运行出错:哪里错了。高手指点
Exception in thread "main" java.lang.NoSuchMethodError: calculateSecurityWarningPosition
at java.awt.Window.initIDs(Native Method)
at java.awt.Window.<clinit>(Unknown Source)
at Testa.main(Testa.java:8)
Exception in thread "AWT-EventQueue-0" java.util.NoSuchElementException
at java.util.AbstractList$Itr.next(Unknown Source)
......好像窗口的关闭也不行...
至于什么原因,我也想知道...
应该就可以看到那个楼主要的布局吧
谢谢大家哦
import java.awt.*;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;public class Testa{ public static void main(String[] args ){
Testa te = new Testa();
te.Inner();
Testa.FrameTest ft = te.new FrameTest();
} public FrameTest Inner(){
return new FrameTest();
}
private class FrameTest extends Frame{
public FrameTest(){
setLocation(400, 200);
TextField tf1 = new TextField();
TextField tf2 = new TextField();
TextField tf3 = new TextField();
Label la1 =new Label("+");
Button b = new Button("=");
Panel panel = new Panel(new GridLayout(1, 5));
panel.add(tf1, "Center");
panel.add(la1, "Center");
panel.add(tf2, "Center");
panel.add(b, "Center");
panel.add(tf3, "Center");
add(panel);
pack();
setVisible(true);
// 注册窗体关闭事件
addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent e) {
System.exit(0);
}
});
}
}
}
当窗口已被关闭时调用。
void windowClosing(WindowEvent e)
窗口正处在关闭过程中时调用。
所以关闭窗口时closing方法而不是closed2.你的public void paint(Graphics g){
Iterator <Point> i = points.iterator();
while(i.hasNext()){ g.setColor(Color.BLUE);
g.fillOval(i.next().x, i.next().y, 10, 10);
}
中迭代器工作不正常,你debug一下,会发现points.iterator().hasNext()为true;而i.hasNext()是false,用points.iterator()代替会显示出绘制的图,现象太过诡异,不好解释,个人猜想,是因为
public void repaint()重绘此组件。 如果此组件是轻量级组件,则此方法会尽快调用此组件的 paint 方法。否则此方法会尽快调用此组件的 update 方法,
public void paint(Graphics g)绘制容器。该方法将 paint 转发给任意一个此容器子组件的轻量级组件。如果重新实现此方法,那么应该调用 super.paint(g) 方法,从而可以正确地呈现轻量级组件。如果通过 g 中的当前剪切设置完全剪切某个子组件,则不会将 paint() 转发给这个子组件。
调用中出的问题吧,望高人指点,怎么迭代器的不正常工作现象。
while(i.hasNext()){ g.setColor(Color.BLUE);
g.fillOval(i.next().x, i.next().y, 10, 10);
}
g.fillOval(i.next().x, i.next().y, 10, 10); 你用了2次next(),第一次可以,第二次的next()很有可能就越界了,应该改成
point p = i.next();
g.fillOval(p.x, p.y, 10, 10);
罪过罪过