我现在正在学习Java课程,现在是Java Illuminate第3版的第4章。我们正在努力让Applet显示文本和/或设计和颜色。我正在使用一个macbook,我正在通过TextWrangler进行编码,并且我正在尝试在我的终端上运行,但由于某些原因我编译代码后无法显示Applet显示。请看下面看到本书给我们的代码,他们希望我们通过运行代码获得Applet Viewer,但我无法知道如何操作。
/* Drawing Text
Anderson, Franceschi
*/
import javax.swing.JApplet;
import java.awt.Graphics;
public class DrawingTextApplet extends JApplet
{
public void paint( Graphics g )
{
super.paint( g );
g.drawString( "Programming is not", 140, 100 );
g.drawString( "a spectator sport!", 140, 115 ); //for every new line you add 15 to the Y cord.
}
}
答案 0 :(得分:1)
直接来自applet代码info. page。请特别注意多行注释。
Applet' Hello World'实施例
此示例需要安装Java Development Kit。访问Java SE下载以获取最新的JDK。
/* <!-- Defines the applet element used by the appletviewer. -->
<applet code='HelloWorld' width='200' height='100'></applet> */
import javax.swing.*;
/** An 'Hello World' Swing based applet.
To compile and launch:
prompt> javac HelloWorld.java
prompt> appletviewer HelloWorld.java */
public class HelloWorld extends JApplet {
public void init() {
// Swing operations need to be performed on the EDT.
// The Runnable/invokeAndWait(..) ensures that happens.
Runnable r = new Runnable() {
public void run() {
// the crux of this simple applet
getContentPane().add( new JLabel("Hello World!") );
}
};
SwingUtilities.invokeAndWait(r);
}
}
答案 1 :(得分:0)
我认为使用其他Swing工具而不是applet更容易。如果你这样做,你不必经历寻找applet查看器或可能更改Java安全设置的麻烦;小程序也很过时。
如果您将程序更改为此类...
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.SwingUtilities;
import java.awt.Graphics;
public class DrawingTextPanel extends JPanel
{
protected void paintComponent(Graphics g)
{
super.paintComponent(g);
g.drawString("Programming is not", 140, 100);
g.drawString("a spectator sport!", 140, 115);
}
public static void main(String[] args) {
SwingUtilities.invokeLater(new Runnable() {
public void run() {
JFrame frame = new JFrame();
frame.add(new DrawingTextPanel());
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setSize(500, 500);
frame.setVisible(true);
}
});
}
}
...你将获得与使用applet相同的显示。与使用applet在paint
方法中进行绘画的方式类似,在这种情况下,您可以使用paintComponent
方法进行绘制。