Java JFrame代码编译并运行,但不打开窗口
在这里,您将看到我的代码: 我只是想制作一个显示“Hello,Java!”的小窗口 我目前正在Ubuntu 14.04上运行。为了更深入地解决我的问题,当我运行程序时,咖啡杯图标会显示出来,就像有一个窗口一样,但没有窗口连接到它,如果单击,则不会弹出任何窗口 任何帮助都将不胜感激Java JFrame代码编译并运行,但不打开窗口,java,swing,paintcomponent,jcomponent,Java,Swing,Paintcomponent,Jcomponent,在这里,您将看到我的代码: 我只是想制作一个显示“Hello,Java!”的小窗口 我目前正在Ubuntu 14.04上运行。为了更深入地解决我的问题,当我运行程序时,咖啡杯图标会显示出来,就像有一个窗口一样,但没有窗口连接到它,如果单击,则不会弹出任何窗口 任何帮助都将不胜感激 public class HelloJava1 extends javax.swing.JComponent { public static void main(String[] args) {
public class HelloJava1 extends javax.swing.JComponent
{
public static void main(String[] args)
{
javax.swing.JFrame f = new javax.swing.JFrame("HelloJava1");
f.setSize(300, 300);
f.getContentPane().add(new HelloJava1());
f.setVisible(true);
}
public void paintComponent(java.awt.Graphics g)
{
g.drawString("Hello, Java!", 125, 95);
}
}
此外,我使用javac HelloJava1.java通过命令行进行编译,并使用java HelloJava1运行
我正在通过gedit编写代码 此代码应可靠地工作:
import java.awt.*;
import javax.swing.*;
public class HelloJava1 extends JComponent {
public static void main(String[] args) {
Runnable r = new Runnable() {
public void run() {
JFrame f = new JFrame("HelloJava1");
// f.setSize(300, 300); better to pack() the frame
f.getContentPane().add(new HelloJava1());
// pack should be AFTER components are added..
f.pack();
f.setVisible(true);
}
};
// Swing GUIs should be created and updated on the EDT
SwingUtilities.invokeLater(r);
}
@Override // good practice..
public void paintComponent(java.awt.Graphics g) {
// always call super method 1st!
super.paintComponent(g);
g.drawString("Hello, Java!", 125, 95);
}
// instead of setting the size of components, it is
// better to override the preferred size.
@Override
public Dimension getPreferredSize() {
return new Dimension(300,300);
}
}
此代码应可靠地工作:
import java.awt.*;
import javax.swing.*;
public class HelloJava1 extends JComponent {
public static void main(String[] args) {
Runnable r = new Runnable() {
public void run() {
JFrame f = new JFrame("HelloJava1");
// f.setSize(300, 300); better to pack() the frame
f.getContentPane().add(new HelloJava1());
// pack should be AFTER components are added..
f.pack();
f.setVisible(true);
}
};
// Swing GUIs should be created and updated on the EDT
SwingUtilities.invokeLater(r);
}
@Override // good practice..
public void paintComponent(java.awt.Graphics g) {
// always call super method 1st!
super.paintComponent(g);
g.drawString("Hello, Java!", 125, 95);
}
// instead of setting the size of components, it is
// better to override the preferred size.
@Override
public Dimension getPreferredSize() {
return new Dimension(300,300);
}
}
此代码应可靠地工作:
import java.awt.*;
import javax.swing.*;
public class HelloJava1 extends JComponent {
public static void main(String[] args) {
Runnable r = new Runnable() {
public void run() {
JFrame f = new JFrame("HelloJava1");
// f.setSize(300, 300); better to pack() the frame
f.getContentPane().add(new HelloJava1());
// pack should be AFTER components are added..
f.pack();
f.setVisible(true);
}
};
// Swing GUIs should be created and updated on the EDT
SwingUtilities.invokeLater(r);
}
@Override // good practice..
public void paintComponent(java.awt.Graphics g) {
// always call super method 1st!
super.paintComponent(g);
g.drawString("Hello, Java!", 125, 95);
}
// instead of setting the size of components, it is
// better to override the preferred size.
@Override
public Dimension getPreferredSize() {
return new Dimension(300,300);
}
}
此代码应可靠地工作:
import java.awt.*;
import javax.swing.*;
public class HelloJava1 extends JComponent {
public static void main(String[] args) {
Runnable r = new Runnable() {
public void run() {
JFrame f = new JFrame("HelloJava1");
// f.setSize(300, 300); better to pack() the frame
f.getContentPane().add(new HelloJava1());
// pack should be AFTER components are added..
f.pack();
f.setVisible(true);
}
};
// Swing GUIs should be created and updated on the EDT
SwingUtilities.invokeLater(r);
}
@Override // good practice..
public void paintComponent(java.awt.Graphics g) {
// always call super method 1st!
super.paintComponent(g);
g.drawString("Hello, Java!", 125, 95);
}
// instead of setting the size of components, it is
// better to override the preferred size.
@Override
public Dimension getPreferredSize() {
return new Dimension(300,300);
}
}
在
JFrame
上尝试使用setLocationRelativeByPlatform
在JFrame
上尝试使用setLocationRelativeByPlatform
在JFrame
上尝试使用setLocationRelativeByPlatform
仍然没有骰子。窗户不见了。也许有一些操作系统配置我必须启用/禁用?注意,您的原始代码在这里工作,上面的代码使用最佳实践也能做到这一点。我认为您的Java设置有问题,这就是我的想法。我只是不知道怎么了。哈哈!它编译并运行,只是没有窗口。仍然没有骰子。窗户不见了。也许有一些操作系统配置我必须启用/禁用?注意,您的原始代码在这里工作,上面的代码使用最佳实践也能做到这一点。我认为您的Java设置有问题,这就是我的想法。我只是不知道怎么了。哈哈!它编译并运行,只是没有窗口。仍然没有骰子。窗户不见了。也许有一些操作系统配置我必须启用/禁用?注意,您的原始代码在这里工作,上面的代码使用最佳实践也能做到这一点。我认为您的Java设置有问题,这就是我的想法。我只是不知道怎么了。哈哈!它编译并运行,只是没有窗口。仍然没有骰子。窗户不见了。也许有一些操作系统配置我必须启用/禁用?注意,您的原始代码在这里工作,上面的代码使用最佳实践也能做到这一点。我认为您的Java设置有问题,这就是我的想法。我只是不知道怎么了。哈哈!它编译并运行,只是没有窗口。