Java 浮动按钮是AWT吗?
所以,我一直避免在java中使用GUI,因为我个人无法忍受GUI。但是,我已经开始了一个需要使用GUI的项目,而且,毫不奇怪,我遇到了问题。。我有这段代码Java 浮动按钮是AWT吗?,java,user-interface,button,awt,Java,User Interface,Button,Awt,所以,我一直避免在java中使用GUI,因为我个人无法忍受GUI。但是,我已经开始了一个需要使用GUI的项目,而且,毫不奇怪,我遇到了问题。。我有这段代码 public class DefaultWindow extends Window { private DefaultWindow(Frame owner) { super(owner); contained = owner; } public DefaultWindow()
public class DefaultWindow extends Window
{
private DefaultWindow(Frame owner)
{
super(owner);
contained = owner;
}
public DefaultWindow()
{
this(new Frame(""));
contained.setBackground(Color.black);
contained.setLocation(0, 0);
contained.setSize(1280,720);
Button comp = new Button("Hello");
comp.setLocation(0, 0);
comp.setSize(10, 10);
add(comp);
pack();
contained.setVisible(true);
}
}
。。它创建了一个带有黑色背景的1280x720窗口(这很好),它还在我的屏幕左上角创建了一个浮动按钮。。如何使按钮位于窗口中?您正在创建窗口子类的实例,该子类在其构造函数中创建一个框架(它本身就是一个窗口)。您正在显示此空框,并将按钮添加到正在创建的窗口中。所以最后你有两个窗口
我认为你真正想要的是创建一个并且只有一个框架。您的类不应该扩展窗口,所有这些都不应该在构造函数中完成。此外,AWT有点过时。你应该使用Swing。Oracle有一个关于Swing的很棒的教程,顺便说一句,它还解释了如何使用布局管理器(您应该这样做) 您正在创建Window子类的实例,该子类在其构造函数中创建一个框架(其本身就是一个窗口)。您正在显示此空框,并将按钮添加到正在创建的窗口中。所以最后你有两个窗口
我认为你真正想要的是创建一个并且只有一个框架。您的类不应该扩展窗口,所有这些都不应该在构造函数中完成。此外,AWT有点过时。你应该使用Swing。Oracle有一个关于Swing的很棒的教程,顺便说一句,它还解释了如何使用布局管理器(您应该这样做) 就我个人而言,我会使用基于Swing的组件而不是AWT(就我个人而言),除此之外,还有更多的组件和支持 包含的
是无效引用,您不需要它。您创建了两个窗口,并且只显示没有按钮的窗口。放弃对框架的引用,转而依赖窗口
public DefaultWindow()
{
setBackground(Color.black);
setLocation(0, 0);
setSize(1280,720);
Button comp = new Button("Hello");
setLocation(0, 0);
comp.setSize(10, 10);
add(comp);
pack();
setVisible(true);
}
我会避免将窗口设置为任意大小,并非所有屏幕都相同
您还将运行布局管理器,这意味着您提供给按钮的设置可能会被覆盖
我会花时间亲自阅读,我会使用基于Swing的组件而不是AWT(个人),除此之外,还有更多的组件和支持
包含的是无效引用,您不需要它。您创建了两个窗口,并且只显示没有按钮的窗口。放弃对框架的引用,转而依赖窗口
public DefaultWindow()
{
setBackground(Color.black);
setLocation(0, 0);
setSize(1280,720);
Button comp = new Button("Hello");
setLocation(0, 0);
comp.setSize(10, 10);
add(comp);
pack();
setVisible(true);
}
我会避免将窗口设置为任意大小,并非所有屏幕都相同
您还将运行布局管理器,这意味着您提供给按钮的设置可能会被覆盖
我会花时间通读一遍
问:所以,我一直避免在java中使用GUI,因为我个人认为
受不了鬼
答:嘿,我以为只有我一个人在这个星球上:)我的座右铭一直是“GUI让简单的任务变得更容易…而困难的任务则完全不可能”;)
至于你的问题:答案是:
1) Swing适用于“厚客户端”(即Java桌面应用程序)
2) JSP适用于“web应用程序”(即客户端/服务器web应用程序)
3) 甚至不要考虑在整个GUI中使用AWT,它在Java历史的早期(特别是Java 1.2)就被弃用了
以下是一些很好的教程:
附言:
不管我怎么说GUI和IDE都会很有帮助
就我个人而言,我使用Eclipse。有几个原因:
- Eclipse(和大多数IDE一样)可以用于cmd行、Swing、JSP和JavaEE应用程序
- Eclipse(与Netbeans或IntelliJ不同)对Android应用程序同样有用
- Eclipse有一个非常广泛的第三方插件生态系统(来自IBM和Google等不同的公司)
我想
问:所以,我一直避免在java中使用GUI,因为我个人认为
受不了鬼
答:嘿,我还以为只有我一个人在这个星球上:)我的座右铭一直是“GUI让简单的任务变得更容易。。。困难的任务是完全不可能的”
至于你的问题:答案是:
1) Swing适用于“厚客户端”(即Java桌面应用程序)
2) JSP适用于“web应用程序”(即客户端/服务器web应用程序)
3) 甚至不要考虑在整个GUI中使用AWT。它在Java历史的早期(特别是Java1.2)就被弃用了
以下是一些很好的教程:
附言:
不管我怎么说GUIs。。。IDE可以非常有帮助
就我个人而言,我使用Eclipse。有几个原因:
- Eclipse(和大多数IDE一样)可以用于cmd行、Swing、JSP和JavaEE应用程序
- Eclipse(与Netbeans或IntelliJ不同)对Android应用程序同样有用
- Eclipse有一个非常广泛的第三方插件生态系统(来自IBM和Google等不同的公司)
IMHO…为什么不使用Swing?在添加按钮(或其他任何内容)之前,使用非空参数调用this.setLayout
。移除组件设置位置和组件设置尺寸线;布局的工作是根据按钮的大小需要确定适当的大小。确切地说,你应该使用哪一个布局类是一个单独的(和长期的)讨论;您将需要阅读每一种GUI的javadoc,您可能会发现这很烦人,因为您不喜欢GUI,但是GUI的数量并不是很多,这对于GUI开发来说是绝对必要的。以下是读者可以看到的所有问题:“所以,我一直避免在java中使用GUI,因为就我个人而言,我无法忍受GUI。但是,我启动了一个项目,要求我使用GUI,而且,毫不奇怪,我遇到了问题……我有这个…”。你不希望他们看到开始“我有一点GUI代码”的东西吗