Re: Applet code conversion...
On 5/1/2012 12:28 AM, linus wrote:
Lew ha scritto:
linus wrote:
How an applet code code can be trasformed to an application code ?
I thought that adding a "main" would be enough .... but it is not so
easy ! Is
there an example about this my problem ?
Did you try a web search?
I found this in five minutes or less:
<http://www.johnloomis.org/cpe101/notes/SwingGUI/combined/combined.html>
FWIW, my search string was "Java combining an applet and application".
With the code
http://www.johnloomis.org/cpe101/notes/SwingGUI/combined/combined.html
I get >>
:174: width is not public in java.awt.Component; cannot be accessed from
outside package
{ width = ( w >= 0 ? w : 300 ); }
:177: height is not public in java.awt.Component; cannot be accessed
from outside package
{ height = ( h >= 0 ? h : 200 ); }
Wath have I to do ?
Many thanks .
Linus:
The code you provide does run as an application. Just compile it and
run it. It is however way too complex for the task it is attempting.
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class test extends JPanel implements ActionListener {
private String state = "";
public test() {
setPreferredSize(new Dimension(400,300));
}
public void actionPerformed(ActionEvent ae) {
state = ae.getActionCommand();
repaint();
}
public void paintComponent(Graphics g) {
g.setColor(getBackground());
g.fillRect(0,0,getWidth(),getHeight());
g.setColor(getForeground());
if (state.equals("Line"))
g.drawLine(0,0,getWidth(),getHeight());
else if (state.equals("Oval"))
g.drawOval(0,0,getWidth(),getHeight());
else if (state.equals("Rect"))
g.drawRect(5,5,getWidth()-10,getHeight()-10);
}
public static void main(String[] args) {
EventQueue.invokeLater(new Runnable() {
public void run() {
test t = new test();
JFrame f = new JFrame("test");
f.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
f.add(t,BorderLayout.CENTER);
JPanel p = new JPanel();
JButton b = new JButton("Line");
b.addActionListener(t);
p.add(b);
b = new JButton("Oval");
b.addActionListener(t);
p.add(b);
b = new JButton("Rect");
b.addActionListener(t);
p.add(b);
f.add(p,BorderLayout.NORTH);
f.pack();
f.setVisible(true);
}
});
}
}
I deliberately left out the random code because I felt like it.
--
Knute Johnson